1. 程式人生 > >面向對象類成員之特性

面向對象類成員之特性

set obj 傳參數 art ati name __init__ per 沒有

1. 類中的特性關鍵字 @property

訪問特性

2. 關鍵字@end.setter

設置特性

3.普通方法需要加()來執行方法

4.特性,不需要加()來執行,相當於通過字段來訪問,即將方法偽造成一種字段,但是缺點是不能傳參數。

class Provice:
    # 靜態字段,類中
    country = "China"

    def __init__(self, name):
        temp = "xxx"
        # 普通字段,對象中(self就是對象)
        self.name = name

    # 普通方法,類中
    def show(self):
        
print("show") # 靜態方法,()中沒有self;但是可以傳值 # 靜態方法屬於類,通過類調用。 @staticmethod def xo(bk): print("xo") print(bk) # 類方法 @classmethod def xxoo(cls): print("xxoo", cls) # 普通方法 def start(self): temp = "%s is sb" % self.name return temp
# 特性,將方法偽造成一種字段。 # 訪問特性 @property def end(self): temp = "%s is smart" % self.name return temp # 設置特性 @end.setter def end(self, value): print(value) self.name = value obj = Provice("alex") ret1 = obj.start() # 加()來執行start方法 ret2 = obj.end #
沒有加(),就可以執行end方法。相當於通過字段來訪問了。但是缺點是不能傳參數。 # 當需要對特性設置時。需要緊跟著再定義一個end的方法。因為前面沒有接受參數的地方。 # 關鍵字@end.setter obj.end = "xxx" # 在設置特性中打印"xxx" print(obj.end) # 首先執行訪問特性(obj.end),得到返回值,temp的值,然後執行(print(obj.end))

面向對象類成員之特性