1. 程式人生 > >面向物件【林老師版】:__init__定製自己獨有的特徵(三)

面向物件【林老師版】:__init__定製自己獨有的特徵(三)

本節內容

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}