本节内容
1、是如何产生对象
2、实例化的步骤
一、是如何产生对象?
__init__方法用来为对象定制对象自己独有的特征
1、stu1=LuffyStudent()调用报错
1、代码
class LuffyStudent: school='luffycity' # stu1, '王二丫', '女', 18 def __init__(self,name,sex,age): self.Name=name self.Sex=sex self.Age=age def learn(self): print('is learning') def eat(self): print('is sleeping') #后产生对象 stu1=LuffyStudent()
2、输出
Traceback (most recent call last): File "F:/s13/day07/4 __init__方法.py", line 23, in <module> stu1=LuffyStudent() TypeError: __init__() missing 3 required positional arguments: 'name', 'sex', and 'age
意思是么有找到'name', 'sex', and 'age参数
2、stu1=LuffyStudent('王二丫','女',18)调用成功
1、代码
#__init__方法用来为对象定制对象自己独有的特征 class LuffyStudent: school='luffycity' # stu1, '王二丫', '女', 18 def __init__(self,name,sex,age): self.Name=name self.Sex=sex self.Age=age def learn(self): print('is learning') def eat(self): print('is sleeping') #后产生对象 stu1=LuffyStudent('王二丫','女',18) #LuffyStudent.__init__(stu1,'王二丫','女',18) print(stu1.__dict__)
2、输出
{'Sex': '女', 'Age': 18, 'Name': '王二丫'}
二、__init__方法后,实例化的步骤
1、先产生一个空对象stu1
1、代码
def __init__(self,name,sex,age): self.Name=name self.Sex=sex self.Age=age #stu1.Name='王二丫' #stu1.Sex='女' #stu1.Age=18
stu1=LuffyStudent('王二丫','女',18) #LuffyStudent.__init__(stu1,'王二丫','女',18)
print(LuffyStudent.__init__)
2、输出
<function LuffyStudent.__init__ at 0x0000000001101378>
2、LuffyStudent.__init__(stu1,'王二丫','女',18)
1、原理图
2、源代码
#后产生对象 stu1=LuffyStudent('王二丫','女',18) #LuffyStudent.__init__(stu1,'王二丫','女',18)
print(stu1.__dict__)
3、输出
{'Name': '王二丫', 'Sex': '女', 'Age': 18}