# -*- coding: utf-8 -*- # Pythoné¢å对象ï¼ç±»ï¼ç±»çæ¹æ³ï¼ç±»æ¹æ³ï¼éææ¹æ³ class Person(object): def __init__(self): print('init') @staticmethod def sayHello(hi): if hi is None: hi = 'hello' print(hi) @classmethod def hi(cls,msg): print(msg) print(dir(cls)) # ä¸è¬ç±»çæ¹æ³ def hobby(self,hobby): print(hobby) # è°ç¨éææ¹æ³ï¼ä¸ç¨å®ä¾å Person.sayHello('hi') Person.hi('Hi!') # å®ä¾åç±»è°ç¨æ®éæ¹æ³,__init__å¨è¿é触å person = Person() person.hobby('football') """ è¾åºï¼ hi Hi! ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof_ _', '__str__', '__subclasshook__', '__weakref__', 'hi', 'hobby', 'sayHello'] init football å ¶ä¸def hi(cls)è¿ä¸ªç±»æ¹æ³ï¼cls表示类èªèº«ï¼æä»¥è¾åºè·dir(person)æ¯ä¸æ ·çã classmethodï¼ç±»æ¹æ³ staticmethodï¼éææ¹æ³ å¨pythonä¸ï¼éææ¹æ³åç±»æ¹æ³é½æ¯å¯ä»¥éè¿ç±»å¯¹è±¡å类对象å®ä¾è®¿é®ã使¯åºå«æ¯ï¼ 1.@classmethod æ¯ä¸ä¸ªå½æ°ä¿®é¥°ç¬¦ï¼å®è¡¨ç¤ºæ¥ä¸æ¥çæ¯ä¸ä¸ªç±»æ¹æ³ï¼è对äºå¹³å¸¸æä»¬è§å°çåå«åå®ä¾æ¹æ³ã ç±»æ¹æ³ç第ä¸ä¸ªåæ°clsï¼èå®ä¾æ¹æ³ç第ä¸ä¸ªåæ°æ¯selfï¼è¡¨ç¤ºè¯¥ç±»çä¸ä¸ªå®ä¾ã 2.æ®éå¯¹è±¡æ¹æ³è³å°éè¦ä¸ä¸ªselfåæ°ï¼ä»£è¡¨ç±»å¯¹è±¡å®ä¾ 3.ç±»æ¹æ³æç±»åéclsä¼ å ¥ï¼ä»èå¯ä»¥ç¨clsåä¸äºç¸å ³çå¤çã并䏿åç±»ç»§æ¿æ¶ï¼è°ç¨è¯¥ç±»æ¹æ³æ¶ï¼ä¼ å ¥çç±»åéclsæ¯åç±»ï¼èéç¶ç±»ã 对äºç±»æ¹æ³ï¼å¯ä»¥éè¿ç±»æ¥è°ç¨ï¼å°±åC.f()ï¼æç¹ç±»ä¼¼Cï¼ï¼ä¸çéææ¹æ³, ä¹å¯ä»¥éè¿ç±»çä¸ä¸ªå®ä¾æ¥è°ç¨ï¼å°±åC().f()ï¼è¿éC()ï¼åæè¿æ ·ä¹åå®å°±æ¯ç±»çä¸ä¸ªå®ä¾äºã 4.éææ¹æ³å没æï¼å®åºæ¬ä¸è·ä¸ä¸ªå ¨å±å½æ°ç¸åï¼ä¸è¬æ¥è¯´ç¨çå¾å° """