面向物件【林老師版】:__init__定製自己獨有的特徵(三)
阿新 • • 發佈:2018-11-06
本節內容
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}