Python 初始化函數


# -*- coding: utf-8 -*-
# @Time    : 2019/7/29 10:28
# @Author  : Qingr、C
# @FileName: learn_0729_初始化函數.py
# @Software: PyCharm

#類屬性即可以通過類訪問,也可以通過對象去訪問
#對象屬性,只能通過對象訪問
#對象擁有 類里面所有屬性和方法的訪問權

class Phone:
    '這個類是手機類,專門標記手機的屬性和功能'
    #初始化函數__init__()  ,作用:屬性參數化,屬性參數化的做法:通過初始化函數進行傳參
    #有兩中賦值方式,一種是賦值給類,如:Phone.brand_name=brand_name 后面調用的時候通過類去訪問
    #另外一種是賦值給對象,如:self.brand_name=brand_name 后面調用的時候,通過對象去訪問
    def __init__(self,brand_name,price,os,color,size):   #用init函數傳以下5個參數
        self.brand_name=brand_name #品牌名  賦值給對象屬性方便后面調用。對象屬性:只能通過對象去調用
        # Phone.price=price           #價格 賦值給類
        self.price=price
        self.os=os                 #操作系統
        self.color=color           #顏色
        self.size=size             #尺寸

    def call(self,name='毛爺爺'):   #位置參數name
        # #在這里面如何調用屬性
        print(self.price)  #類屬性即可以通過類訪問,也可以通過對象去訪問
        print(self.brand_name) #對象屬性,只能通過對象訪問
        print(Phone('蘋果','6600','ios','red','6.0').brand_name)
        print('可以打電話給{}'.format(name))
        # return 666       #return的結果會自動打印出來,而作為腳本單獨運行時則需要print函數才能顯示。

    @staticmethod  #靜態方法
    def send_message(name='qiyue'):   #默認參數
        print('可以發短信給{}'.format(name))

    @classmethod   #類方法
    def watch_vedio(cls,*args): #動態參數
        print('可以看{}'.format(args))

    def phone_info(self):
        # 對象方法只能那個通過 類和對象可以直接訪問,並且獲得他們的值,
        #但是這里把屬性賦值給對象后,就必須要通過對象去訪問,所以不能通過類進行訪問
        print('手機的品牌是{},價格是{},顏色是{},尺寸是{}'.format(self.brand_name,self.price,self.color,self.size))

if __name__ == '__main__':
    Phone('蘋果','6600','ios','red','6.0').call('李現')   #Phone()創建對象 如果使用初始化參數,那么在創建對象時,必須要傳參
    Phone('蘋果', '6600', 'ios', 'red', '6.0').phone_info()
    Phone.send_message('')    #這個函數和屬性沒關系,所以使用靜態函數,在調用的時候不用傳參
    Phone.watch_vedio('哪吒')

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM