小猿圈python以內置方法new

學習python的朋友們都知道python有不少內置方法,正由於有這些內置方法才讓python學起來很容易,用起來很方便,小猿圈今天詳細描述一個方法__new__,這個方法功能很強大的,一塊兒來看一下吧。python

class Dog(object):

        def __new__(self):

                print("i am new .")

        def __init__(self):

                print("i am init .")

        def run(self):

                print("runing .")

dog = Dog()

dog.run()

#打印i am new.

#執行run()方法失敗

#錯誤緣由:沒有生成dog對象,因此調用方法失敗
class Dog(object):

        #new方法中的參數是類對象參數,而不是類實體對象參數

        def __new__(cls):

                print("i am new .")

                #打印類對象的地址

                print(id(cls))

                #調用父類的方法,建立類實體對象

                #new方法必須有返回值

                return object.__new__(cls)

        def __init__(self):

                print("i am init .")

        def run(self):

                print("runing .")

dog = Dog()

dog.run()

'''

python類實體對象建立過程

第一步:調用__new__建立對象

第二步:將new方法的返回值傳遞給init方法

第三步:返回類實體對象的引用

'''

你們看出來__new__方法的做用了,__new__方法就是建立對象實例的,爲__init__方法打下了基礎,建立出來對象才能初始化這個對象,因此這個方法仍是很重要的,學會的朋友必定要抓緊時間練習一下,下面小編會講__init__方法,感興趣的朋友能夠提早去小猿圈預習一下,好了,好好加油學習哦!學習

相關文章
相關標籤/搜索