自学Python-构造方法
1、类的构造方法,有叫初始化方法。写法与写函数的格式一样,但是:
1)函数名是__init___;
2)第一个参数是实例参数(self);
2、示例:
def __init__(self):
pass
1、作用:构造方法用来初始化新创建的对象的状态和属性。
例如:创建一个旅客的类,并实例化旅客:
————————
class Passager:
def __init__(self):
self.id="身份证(666666200012126666)"
self.age=18
self.destination="郑州"
p1=Passager()
print(p1.id,p1.age,p1.destination)
输出:身份证(666666200012126666) 18 郑州
————————
可以看到,并没有调用__init__方法,但同样输出了旅客的年龄。所以在创建p1对象的时候,已经执行了初始化方法,即执行了赋值动作p1.id="身份证(666666200012126666),p1.age=18,p1.destination="郑州";

1、上面的例子初始属性被固定死了,所以实例化乘客都是一样的,那是不行的。所以就要改进一下,用传参的方式。例如:
————————
class Passager:
def __init__(self,name,id,age,dest):
self.name=name
self.id=id
self.age=age
self.destination=dest
p1=Passager('张大佬',28,'身份证','郑州')
print(p1.name,p1.id,p1.age,p1.destination)
p2=Passager('李东东',18,'学生证','广州')
print(p2.name,p2.id,p2.age,p2.destination)
输出:
张大佬 28 身份证 郑州
李东东 18 学生证 广州
————————
因为初始化方法是在创建对象的时候执行的,所以传入的初始的值要放在创建对象时类后面的参数列表里。

2、初始方法里self.name是变量,值是传入的参数;
方法是类里的函数,所以传参也要符合函数传参的规则,可以看下面的链接。

1、通常先写构造方法再写实例方法。
2、构造方法无需调用,实例方法要实例来调用。
把上面的类添加实例方法;
————————
class Passager:
def __init__(self,name,id,age,dest):
self.name=name
self.id=id
self.age=age
self.destination=dest
def print_p(self):
print(f'旅客姓名:{self.name}\r\n旅客年龄:{self.age}\r\n'
f'旅客证件:{self.id}\r\n旅客目的地:{self.destination}')
print('='*10)
p1=Passager('张大佬',28,'身份证','郑州')
p1.print_p()
p2=Passager('李东东',18,'学生证','广州')
p2.print_p()
输出:
旅客姓名:张大佬
旅客年龄:身份证
旅客证件:28
旅客目的地:郑州
==========
旅客姓名:李东东
旅客年龄:学生证
旅客证件:18
旅客目的地:广州
==========
————————

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:25
阅读量:156
阅读量:176
阅读量:160
阅读量:196