???
1. ??? ??
??? ??? ?? ??? ??? ????.
class ClassName: <statement-1> . . . <statement-N>
???? ??? ???? ?????. ???? ??? ? ???? ??? ???? ?? ??? ????. ??? ???? ?????
??? ???? ??? ????.
def __init__(self,[...):
???? init() ???? ???? ?? ???? ????? ??? ???? init() ???? ?????.
?? ?? ???? ???? ???? ?? ???? ??? ? ???? ???? ??? ??? ? ??? ???? ???? ???? ?????.
??? ??? ??? ????.
def __del__(self,[...):
??? ???? ?? ??? ??? ??? ??? ?? ?? ? ????. ??? ??? self ???.
???? ??? ??? ??????
??? ?? ?? ?? ?? ?? ? ????.
#!/usr/bin/env python3 # -*- coding: UTF-8 -*- class Test: def prt(self): print(self) print(self.__class__) t = Test() t.prt()
?? ?? ??:
?? ???? self? ???? ????? ???? ??? ?? ???? ?? ?????. ??, self.__class__? ???? ?????.
?? self? ??? ???? ???? ?? ??? ??? ????? ??? ? ??? ????. self? ???? ? ??? ????
2. Python ??? ??? ??? ??
Python ??? ???? ???? ?? ??? ??? ???, ??? ?? ??? ???? ??? ?????. ????? ?? ?? ??? ?????.
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 舊式類 class OldClass: pass # 新式類 class NewClass(object): pass
???? ???? ???? ??? ??? ???? ?? ? ? ????. ?? ? ???? Python2??? ?? ???? ????? ????. ???? ??? ? ?? ????. ?? ??? ???? ???? ???? ?? Python3? ?? ???? ??? ???? ????? ??? Python3??? ? ??? ???? ????.
???? ??? ???? ???? ?? ???? ???? ???? ??????
?? ??? ?????.
#!/usr/bin/env python # -*- coding: UTF-8 -*- # 舊式類 class OldClass: def __init__(self, account, name): self.account = account; self.name = name; # 新式類 class NewClass(object): def __init__(self, account, name): self.account = account; self.name = name; if __name__ == '__main__': old_class = OldClass(111111, 'OldClass') print(old_class) print(type(old_class)) print(dir(old_class)) print('\n') new_class=NewClass(222222,'NewClass') print(new_class) print(type(new_class)) print(dir(new_class))
?? ??? ?? ?? ???? ???? ??? ???? ???? ??? ?? ??? Python3? ?? ??? ??? ????? ?? ?????. Python3? ?? ???.