对于实例来讲,就同一种类型的实例,会拥有相同的属性名称,比如人Person,需要有姓名name,性别gender,年龄age。因为python是动态语言,如果在定义实例时随时给属性赋值,实例多了会比较麻烦,那能不能事先把实例中的相同属性的名称定义好,在创建实例时直接赋值呢?可以。
这就用到了python中的__init__()函数,当使用类创建实例时,该函数会被自动调用。
class Person(object):
def __init__(self, name, gender, age):
self.name = name
self.gender = gender
self.age = age
per1 = Person('yjy', 'male', 18)
print per1.name
__init__(self, name, gender, age)函数,第一个参数一定是self,当然名称可以改下,但是建议使用习惯编程名称;后面的参数可以随便定义,在创建实例时,只带有self后面的参数对应的内容即可。(我感觉__init__()函数有点像C++中的构造函数)
对于__init__()函数里的参数做些解释,以上面的例子为讲解:name, gender, age都是形参,函数里self.x 这个x才是实例的属性。
欢迎关注我的个人公众号,每天有python知识点的更新。