1. 程式人生 > 實用技巧 >Centos7/Debian 配置雙網絡卡

Centos7/Debian 配置雙網絡卡

有關類的一些知識

因為python 的類的情況比起C++簡單了很多,這裡就只說一下有些需要注意的事情

  • 私有與公有成員

    __init__  或者__xxx__  是系統特殊成員(前後兩條下劃線)
    _xxx 是保護成員(前面一條下劃線)
    __xxx 是私有成員,不能通過例項來訪問(前面兩條下劃線)
    呼叫私有成員是要使用裝飾器 @property
    
  • 裝飾器

    • 類方法 ( @classmethod )

      Python中允許宣告屬於類本身的方法,即類方法。不對特定例項進行操作,不能訪問物件的例項變數,第一個引數必須是類物件本身,通常為cls,但在呼叫時不需要也不用給該函式傳值

    • 靜態方法 (@staticmethod)

      python 允許宣告與類的物件例項無關的方法,稱為靜態方法,靜態方法不對特定例項進行操作,在靜態方法中訪問物件例項會導致錯誤可通過類名訪問也可通過物件的例項化

  • 繼承和多型

    在繼承中,子類要在括號內宣告父類,父類的定義在子類其前面。在初始化過程中,子類不會自動呼叫父類的init

class Car:
    price = 30000  # 類變數

    def __init__(self, name):
        self.__name = name  # 成員私有變數
        self.color = ''

    def setcolor(self, color):
        self.color = color

    # 類方法
    @classmethod
    def getPrice(cls):
        print(cls.price)

    # 靜態方法
    @staticmethod
    def setPrice(price):
        Car.price = price

    # 私有
    @property
    def name(self):
        return self.__name


class ECar(Car):
    def __init__(self, name):
        super().__init__(name)
        self.battery_size = 300

    def getEcar(self):
        print('我是電動車' + self.name + '電容' + str(self.battery_size))


a=Car('寶馬')
b=ECar('賓士')
# 類方法
a.getPrice()
# 靜態方法
b.setPrice('10000')
b.getPrice()
a.getPrice()
# 私有
print(a.name)
b.getEcar()