亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
  • 通過函數isinstance()可以判斷一個變量的類型。

    查看全部
    0 采集 收起 來源:Python判斷類型

    2025-03-01

  • lass Student(Person):
    ? ?def __init__(self, name, gender, score):
    ? ? ? ?super(Student, self).__init__(name, gender)
    ? ? ? ?self.score = score

    student = Student('Alice', 'girl', 100)
    print(student.name) # ==> Alice
    print(student.gender) # ==> girl
    print(student.score) # ==> 100

    在定義繼承類的時候,有幾點是需要注意的:

    class Student()定義的時候,需要在括號內寫明繼承的類Person

    在__init__()方法,需要調用super(Student, self).__init__(name, gender),來初始化從父類繼承過來的屬性

    查看全部
    0 采集 收起 來源:Python繼承類

    2025-03-01

  • Python定義類方法

    在上一節課,為了操作實例對象的私有屬性,我們定義了實例方法;同樣的,如果需要需要操作類的私有屬性,則應該定義類的方法。
    默認的,在class中定義的全部是實例方法,實例方法第一個參數 self 是實例本身。
    要在class中定義類方法,需要這么寫:

    class Animal(object): ? ? __localtion = 'Asia' ? ? def __init__(self, name, age): ? ? ? ? self.name = name ? ? ? ? self.age = age ? ? @classmethod ? ? def set_localtion(cls, localtion): ? ? ? ? cls.__localtion = localtion ? ? @classmethod ? ? def get_localtion(cls): ? ? ? ? return cls.__localtion print(Animal.get_localtion()) # ==> Asia Animal.set_localtion('Afica') print(Animal.get_localtion()) # ==> Africa

    和實例方法不同的是,這里有兩點需要特別注意:

    類方法需要使用@classmethod來標記為類方法,否則定義的還是實例方法

    類方法的第一個參數將傳入類本身,通常將參數名命名為 cls,上面的 cls.__localtion 實際上相當于Animal.__localtion。

    查看全部
  • Python定義實例方法

    上一節課提到,私有屬性沒有辦法從外部訪問,只能在類的內部操作;那如果外部需要操作私有屬性怎么辦?這個時候可以通過定義類或者實例的方法來操作私有屬性,本節課先來介紹實例方法。
    實例的方法指的就是在類中定義的函數,實例方法的第一個參數永遠都是self,self是一個引用,指向調用該方法的實例對象本身,除此以外,其他參數和普通函數是完全一樣的。

    class Person(object): ? ? def __init__(self, name): ? ? ? ? self.__name = name ? ? def get_name(self): ? ? ? ? return self.__name

    在上面的定義,name是實例的私有屬性,從外部是無法訪問的,而get_name(self) 就是一個實例方法,在實例方法里面是可以操作私有屬性的,注意,它的第一個參數是self。
    另外,__init__(self, name)其實也可看做是一個特殊的實例方法。
    通過定義get_name(self)方法,在外部就可以通過這個方法訪問私有屬性了。

    p = Person('Alice') print(p.get_name()) # ==> Alice

    注意,在外部調用實例方法時,是不需要顯式傳遞self參數的。

    查看全部
  • 在類屬性和實例屬性同時存在的情況下,實例屬性的優先級是要高于類屬性的,

    查看全部
  • __init__ 這里是雙下劃線

    查看全部
  • Python類的定義與實例化

    class Person: ?pass
    class Person(): pass
    class Person(object): ?pass


    定義了類之后,就可以對類進行實例化了,實例化是指,把抽象的類,賦予實物的過程。比如,定義好Person這個類后,就可以實例化多個Person出來了。
    創建實例使用類名+(),類似函數調用的形式創建:

    class Person(object): ?pass xiaohong = Person() xiaoming = Person()

    查看全部
  • class A(object):
    ? ?def __init__(self, a):
    ? ? ? ?print ('init A...')
    ? ? ? ?self.a = a

    class B(A):
    ? ?def __init__(self, a):
    ? ? ? ?super(B, self).__init__(a)
    ? ? ? ?print ('init B...')

    class C(A):
    ? ?def __init__(self, a):
    ? ? ? ?super(C, self).__init__(a)
    ? ? ? ?print ('init C...')

    class D(C, B):
    ? ?def __init__(self, a):
    ? ? ? ?super(D, self).__init__(a)
    ? ? ? ?print ('init D...')

    d=D('d')

    結果(class D(C,B) ==> 先執行B再執行C):

    ??????????init A...

    ????????? init B...

    ???????? ?init C...

    ??????????init D...

    查看全部
    0 采集 收起 來源:Python中的多態

    2025-02-15

  • 在類屬性和實例屬性同名的情況下,實例屬性的優先級是要高于類屬性的,在操作實例的時候,優先是操作實例的屬性。

    查看全部
  • import time


    def performance(unit):

    ? ? def perf_decorator(f):

    ? ? ? ? def wrapper(*args, **kwargs):

    ? ? ? ? ? ? t1 = time.time()

    ? ? ? ? ? ? r = f(*args, **kwargs)

    ? ? ? ? ? ? t2 = time.time()

    ? ? ? ? ? ? t = (t2 - t1) * 1000

    ? ? ? ? ? ? if unit == 'ms':

    ? ? ? ? ? ? ? ? t = (t2 - t1) * 1000 * 1000

    ? ? ? ? ? ? print('call {}() in {}{}'.format(f.__name__,t,unit))

    ? ? ? ? ? ? return r

    ? ? ? ? return wrapper

    ? ? return perf_decorator


    @performance('ms')

    def factorial(n):

    ? ? return reduce(lambda x,y:x + y,range(1, n+1))


    factorial(10)

    查看全部
  • import time


    def performance(f):

    ? ? def fn(*args, **kw):

    ? ? ? ? t1 = time.time()

    ? ? ? ? r = f(*args, **kw)

    ? ? ? ? t2 = time.time()

    ? ? ? ? print('call %s() in %fs' %(f.__name__,(t2 - t1)))

    ? ? ? ? return r

    ? ? return fn


    @performance

    def ffa(n):

    ? ? return reduce(lambda x,y: x + y, range(1,n+1))

    ? ??


    print(ffa(10))

    查看全部
  • # Enter a code

    import socket


    server = socket.socket() # 1.新建 socket


    server.bind(('127.0.0.1', 8999)) # 2.綁定IP和端口(其中127.0.0.1為本機回環IP)


    server.listen(5) # 3.監聽連接


    s, addr = server.accept() #4. 接受連接


    print('connect addr :{}'.format(addr))


    content = s.recv(1024)


    print(str(content, encoding = 'utf-8')) #接受來自客戶端的消息,并編碼打印出來\


    s.close()


    import socket

    client = socket.socket() #1.新建socket


    client.connect(('127.0.0.1', 8999)) #2.連接服務端(注意,IP和端口要和服務端一致)


    client.send(bytes('hello world, hello socket', encoding = 'utf-8')) #發送內容,注意發送的是字節字符串


    client.close()

    查看全部
  • 注意應該是self 不是類名

    https://img1.sycdn.imooc.com/67a8d43d0901736306370406.jpg

    查看全部
  • ? 在上面的代碼中,localtion就是屬于Animal這個類的類屬性,此后,通過Animal()實例化的所有對象,都可以訪問到localtion,并且得到唯一的結果。


    ? 類屬性也是可以動態添加和修改的,需要注意的是,因為類屬性只有一份,所以改變了,所有實例可以訪問到的類屬性都會變更:

    https://img1.sycdn.imooc.com/67a8d70b09c16e3507750646.jpg


    注意應該是Animal(類名) 不是self

    https://img1.sycdn.imooc.com/67a8d2b70991f38405640748.jpg

    查看全部
    0 采集 收起 來源:Python類屬性

    2025-02-10

  • # Enter a code

    class Fib(object):

    ? ? def __init__(self, num):

    ? ? ? ? self.num = num

    ? ? ? ? self.res = []

    ? ? ? ? a = 0

    ? ? ? ? b = 1?

    ? ? ? ? for x in range(num):

    ? ? ? ? ? ? self.res.append(a)

    ? ? ? ? ? ? a,b = b, a + b

    ? ??

    ? ? def __str__(self):

    ? ? ? ? return str(self.res)

    ? ??

    ? ? def __len__(self):

    ? ? ? ? return self.num


    fib = Fib(10)


    print(fib)

    print(len(fib))

    查看全部

舉報

0/150
提交
取消
課程須知
本課程是Python入門的后續課程 1、掌握Python編程的基礎知識 2、掌握Python函數的編寫 3、對面向對象編程有所了解更佳
老師告訴你能學到什么?
1、什么是函數式編程 2、Python的函數式編程特點 3、Python的模塊 4、Python面向對象編程 5、Python強大的定制類

微信掃碼,參與3人拼團

微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復購買,感謝您對慕課網的支持!