题主你好,
成都创新互联公司是一家集网站建设,金安企业网站建设,金安品牌网站建设,网站定制,金安网站建设报价,网络营销,网络优化,金安网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
python中创建新实例的时候, 如果相应的类中定义了__init__()方法的话, 会自动调用这个方法. 你可能认为名称"init"和"__init__"差不多, 但计算机其实是个很笨的东西, 它会完全按照设计去执行. 也就是说,在设计的时候就已经定死了, 默认情况下, 创建新实例的时候, 会自动调用类中定义的__init__()方法, 只要你的方法名和__init__有一点不一样也不行.
下图是我在官网上找的关于__init__()调用的简单说明:
高亮部分说的大概意思就是上面讲的,如果相应类中定义了__init__()方法,则在创建该类实例的时候会自动调用里面定义的__init__()方法.
-----
希望可以帮到题主, 欢迎追问.
1、语法:
定义:对象.变量名
调用:对象.变量名
2、说明:
(1)首次通过对象赋值为创建,再次赋值为修改
x01=wife()
wife.name="张三" 此时为创建
wife.name="李四" 此时为修改
(2)通过在构造函数__init__中创建
wife("张三",24)
print(w01.name)
(3)、每个对象存储一份,通过对象地址访问。
3、作用:描述所有对象的共有数据。
实例方法:
1、语法
定义:def方法名称(self,参数列表):
方法体
调用:对象地址.实例名称(参数)
作用:所有对象共享方法。
对象是指构造函数,方法是指形为函数。
'''
class Studons:
def __init__(self,name,xibie,nianling,fenshu):
self.name=name
self.xibie=xibie
self.nianling=nianling
self.fenshu=fenshu
def dayin(self):
print("姓名:%s,性别:%s,年龄:%d,分数:%d"%(self.name,self.xibie,self.nianling,self.fenshu))
#定义函数根据姓名查找每个人的信息。
list01=[Studons("张无忌","女",2,98),
Studons("张老六","男",61,95),
Studons("三丰","男",31,95),
Studons("小丽丽","女",21,93),
]
def cha_name(name):
for item in list01:
if name==item.name:
# print(item.name,item.nianling)
item.dayin()
cha_name("小丽丽")
#2、
def fund_xus(names):
for itme in list01:
if itme.name==names:
return itme
print(fund_xus("小丽丽").name)
#查找所有女同学
def fund_nv(age):
list02 = []
for itme in list01:
if itme.xibie==age:
list02.append(itme)
return list02
ae=fund_nv("女")
for ime in ae:
ime.dayin()
#统计30岁以上的人的数量
def count_stud():
coun=0
for itme in list01:
if itme.nianling=30:
coun+=1
return coun
print(count_stud())
#将所有学生的成绩归0
def list_0():
for itme in list01:
itme.fenshu=0
#获取列表中所有人的名字
def pen_name():
name=[]
for itme in list01:
name.append(itme.name)
return name
print(pen_name())
#查找年龄 最大的学生对象
def max_nl():
maxt=list01[0]
for itme in range(len(list01)):
if maxt.nianlinglist01[itme].nianling: span="" /list01[itme].nianling:
maxt=list01[itme]
return maxt
max_nl().dayin()
类是对象的模板,是抽象的。
构造函数 init 是Python魔术方法之一,如图魔术方法
我们通过类模版去创建类的实例对象,然后再调用类定义的功能。
那实例对象的属性是通过什么来初始化的?
这时候Python引入来构造函数 init
构造函数,会在创建实例对象之后Python会自动执行此方法,把初始化的属性特点放到实例对象里。
通过前面的学习,我们知道一个python对象包含三个部分:id(识别码),type(对象类型),value(对象的值)
那么我们进一步深入对象包含的三部分:
我们通过类创建实例对象后,需要定义构造函数 init ()方法。
构造方法用于执行实例对象的初始化工作,即对象创建之后,初始化当前对象的相关的属性,无返回值
构造函数重点 :
我们通过栗子来学习构造函数的过程
构造函数初始化实例对象过程如下:
1.Animal类会通过默认的 new ()方法为实例对象在堆内存中为开辟一个空间
敲黑板,重点来啦~
拓展:
我们今天学习了构造函数 init (),其在创建对象之后被Python自动调用初始化实例对象属性数据值,无返回值,并且构造函数不能被显示调用。
创建对象时,如果需要,构造函数可以接受参数。当创建没有构造函数的类时,Python会自动创建一个不执行任何操作的默认构造函数。
每个类必须有一个构造函数,即使它只依赖于默认构造函数
好啦,以上是本期内容,欢迎大佬评论区指正~