Python之特性,靜態方法與類方法

2021-09-13 19:31:16 字數 1280 閱讀 6904

# 特性(property)--類中方法偽裝成屬性

# 定義乙個圓

# from math import pi

# class circle:

#     def __init__(self,r):

#         self.__r = r

#     @property

#     def perimeter(self):

#         return self.__r * pi * 2

#     @property

#     def area(self):

#         return self.__r **2 * pi

# c1 = circle(2)

# print(c1.perimeter) # 讓方法像屬性一樣呼叫

# print(c1.area)

# 屬性的檢視刪除與修改

# 定義乙個商品

# class goods:

#     __discount = 0.5  # 折扣比例

#     def __init__(self,name,price):

#         self.name = name

#         self.__price = price

#     @property

#     def price(self): # 檢視**(通過折扣計算)

#         return self.__price * goods.__discount

#     @price.setter

#     def price(self,price): # 修改**,只能傳乙個引數(之後的賦值操作時傳入的值)

#         self.__price = price

#     @price.deleter

#     def price(self): # 刪除**

#         del self.__price

# pork = goods("錢大媽豬肉",12)

# print(pork.price) # 檢視**(像屬性一樣檢視值)

# pork.price = 14 # 像屬性一樣修改值

# print(pork.price)

# del pork.price # 像屬性一樣刪除

# print(pork.price) # attributeerror: 'goods' object has no attribute '_goods__price'

Python之靜態方法和類方法

python中,方法有三種,例項方法,靜態方法和類方法。例項方法 需傳入例項物件self,適合用於處理與例項相關的。靜態方法 無需傳入例項物件和類物件,適合用於處理類本地相關的。類方法 需傳入類物件,適合用於處理類層級相關的。以上適用範圍並無絕對,看個人理解應用。在python 3.x中,1 有用s...

Python類成員方法與靜態方法

python中類屬性有類屬性和例項屬性之分,類的方法也有不同的種類 例項方法 類方法靜態方法 例子 class demomthd staticmethod 靜態方法 def static mthd print 呼叫了靜態方法 classmethod 類方法 def class mthd cls pr...

Python物件導向之靜態方法 靜態方法與類方法

類呼叫函式屬性時,需要先將類例項化,再將例項作為函式屬性傳入 類的例項呼叫函式屬性時需要在後面加括號。class building def init self,name,owner,width,length self.name name self.owner owner self.width wid...