电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到自学Python-构造方法的问题,如果我们遇到了自学Python-构造方法的情况,该怎么处理怎么才能...
电脑现已成为我们工作、生活和娱乐必不可少的工具了,在使用电脑的过程中,可能会遇到自学Python-构造方法的问题,如果我们遇到了自学Python-构造方法的情况,该怎么处理怎么才能解决自学Python-构造方法带来的困扰呢,对于这样的问题其实我们只需要window系统,Python3.73,Pycharm社区版类的构造方法,有叫初始化方法。写法与写函数的格式一样,但是:1)函数名是__init___;2)第一个参数是实例参数(self);示例:def __init__(self): pass作用:构造方法用来初始化新创建的对象的状态和属性。例如:创建一个旅客的类,并实例化旅客:————————class Passager: de这样就解决了这样的问题,接下来给大家带来自学Python-构造方法的详细操作步骤。
工具/原料
window系统,Python3.73,Pycharm社区版
1.初始化方法的格式:
类的构造方法,有叫初始化方法。写法与写函数的格式一样,但是:
1)函数名是__init___;
2)第一个参数是实例参数(self);
示例:
def __init__(self):
pass
2.构造方法的作用:
作用:构造方法用来初始化新创建的对象的状态和属性。
例如:创建一个旅客的类,并实例化旅客:
————————
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="郑州";

3.构造方法参数:
上面的例子初始属性被固定死了,所以实例化乘客都是一样的,那是不行的。所以就要改进一下,用传参的方式。例如:
————————
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 学生证 广州
————————
因为初始化方法是在创建对象的时候执行的,所以传入的初始的值要放在创建对象时类后面的参数列表里。

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

4.构造方法和实例方法的区别:
通常先写构造方法再写实例方法。
构造方法无需调用,实例方法要实例来调用。
把上面的类添加实例方法;
————————
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
旅客目的地:广州
==========
————————

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
