类比一下Java就很好理解了,__init__是Python类的构造函数,self作用类似于Java中的this指针。
鲁甸网站制作公司哪家好,找创新互联公司!从网页设计、网站建设、微信开发、APP开发、响应式网站建设等网站项目制作,到程序开发,运营维护。创新互联公司自2013年起到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联公司。
首先你要理解类和实例的区别。
类是你定义的这个新类型,这个类型可以有很多个实例。
比如 a = A(),A是个类,a就是A的一个实例,同样可以b=A(),b也是A的一个实例。
初始化函数__init__在实例刚创建完成的时候调用,这里可以对这个实例的属性进行初始化。
比如:
class A:
def __init__(self,num):
self.data = num
a = A(1)
b = A(2)
a.data的值就是1,b.data的值就是2
__init__函数是service类的初始化函数
这个函数中参数server_ip,server_port没有默认值,初始化service类实例时必须给这两个参数传值
上面的代码除了定义__init__函数体外,没有任何其它的代码,不知道在那里初始了service类实例
如果你指的是threading.Thread.__init__(self)语句的话,这是调用父类的初始化方法
python中的__init__()时类的初始化函数,比如:
class Obj:
def __init__():
print 1
obj = Obj() #这时候调用__init__这个方法
如果解决了您的问题请采纳!
如果未解决请继续追问
__init__()是为了做初始化用的
我们初始化得时候不一定要使用__init__()进行初始化,可以直接定义
比如
class test(self):
test_a = "123"
这里就初始话了一个变量test_a = "123",但这样就太固定
而__init__()的好处在于它可以接收参数并初始化
__init__(self,testa):
test_a = testa
这样类就可以初始化话一个动态的变量,更加灵活
而且直接test("123")就将test_a 初始成123了
系统在开始使用之前先进行初始化功能,判断students.txt文件中是否保存的有学生的信息,如果有就把文件的内容读取出来,供接下来的操作使用,如用没有就初始化一个空的列表,用来保存用户的输入,程序中接下来的所有数据都会保存在该列表中相当与一个数据缓冲区。
首先是打开文件操作,对文件中的内容进行读取操作,由于在文件中保存的内容是由空格进行分割的,并且每一个学生的信息都占用一行,首先读出所有的内容,先进行按照换行进行分割,得到每个人的信息,然后再对每个人的信息进行安装空格分隔,得到每个人的详细信息包括用户的姓名,学号,成绩。
1. def Init(stulist): #初始化函数
2. print "初始化......"
3. file_object = open('students.txt', 'r')
4. for line in file_object:
5. stu = Student()
6. line = line.strip("\n")
7. s = line.split(" ")
8. stu.ID = s[0]
9. stu.name = s[1]
10. stu.score = s[2]
11. stulist.append(stu)
12. print "初始化成功!
这部分代码是按照学生成绩的高低进行排序,在实现的时候,首先是把所有人的成绩放到一个列表里面然后使用插入排序,按照成绩的大小对StuList中保存的学生信息的地址进行排序
def Sort(stulist): #按学生成绩排序
Stu = []
sum_count = []
for li in stulist:
temp = []
temp.append(li.ID)
temp.append(li.name)
temp.append(int(li.score1))
temp.append(int(li.score2))
temp.append(int(li.score3))
temp.append(int(li.sum))
sum_count.append(int(li.sum))
Stu.append(temp)
#print sum_count
#print Stu;
#print stulist
insertSort(sum_count, stulist)
#print stulist;
display(stulist)
def insertSort(a, stulist):
for i in range(len(a)-1):
#print a,i
for j in range(i+1,len(a)):
if a[i]a[j]:
temp = stulist[i]
stulist[i] = stulist[j]
stulist[j] = temp