類方法,普通方法和靜態方法
class game(object):
# 類屬性
num = 0
# 例項方法(必須得有引數,)
def __init__(self):
# 例項屬性
self.name = "laowang"
# 例項方法(必須得有引數(第乙個引數傳遞的是當前的物件))
# def __init__(a):
# # 例項屬性
# a.name = "laowang"
# 類方法(類擁有,物件共有。必須得有引數(第乙個引數傳遞的是當前的物件))
@classmethod
def add_num(cls):
cls.num = 100
# 靜態方法(可以有引數,可以沒引數)
@staticmethod
def print_menu():
print("----------------------")
print(" 穿越火線v11.1")
print(" 1. 開始遊戲")
print(" 2. 結束遊戲")
print("----------------------")
game = game()
# game.add_num()#可以通過類的名字呼叫類方法
game.add_num() # 還可以通過這個類建立出來的物件 去呼叫這個類方法
print(game.num)
# game.print_menu()#通過類 去呼叫靜態方法
game.print_menu() # 通過例項物件 去呼叫靜態方法
"""100
----------------------
穿越火線v11.1
1. 開始遊戲
2. 結束遊戲
----------------------
"""class game(object):
# 類屬性
num = 0
# 例項方法(必須得有引數,)
def __init__(self):
# 例項屬性
self.name = "laowang"
# 例項方法(必須得有引數(第乙個引數傳遞的是當前的物件))
# def __init__(a):
# # 例項屬性
# a.name = "laowang"
# 類方法(類擁有,物件共有。必須得有引數(第乙個引數傳遞的是當前的物件))
@classmethod
def add_num(cls):
cls.num = 100
# 靜態方法(可以有引數,可以沒引數)
@staticmethod
def print_menu():
print("----------------------")
print(" 穿越火線v11.1")
print(" 1. 開始遊戲")
print(" 2. 結束遊戲")
print("----------------------")
game = game()
# game.add_num()#可以通過類的名字呼叫類方法
game.add_num() # 還可以通過這個類建立出來的物件 去呼叫這個類方法
print(game.num)
# game.print_menu()#通過類 去呼叫靜態方法
game.print_menu() # 通過例項物件 去呼叫靜態方法
"""100
----------------------
穿越火線v11.1
1. 開始遊戲
2. 結束遊戲
----------------------
"""
python中的普通方法 類方法和靜態方法的區別
面試中遇到這個問題,現在來總結一下 普通方法 預設有個self引數,只有類的物件可以呼叫 類方法 需要加上 classmethod裝飾器,預設cls引數,可以被類和物件呼叫 靜態方法 用 staticmethod裝飾器,類的靜態方法沒有引數,可以直接使用類名呼叫 不管是普通方法還是類方法,預設的se...
類方法和靜態方法
通過靜態方法和類方法能夠把相關的函式封裝到乙個類裡面,有效的將 組織起來,提高 的可維護性 class date object def init self,year,month,day self.year year self.month month self.day day 普通方法 def ech...
例項方法 類方法和靜態方法
1 例項方法,即需要通過建立例項 物件 進行呼叫的方法。下方即為例項方法的例子 class person object def init self self.name zs self.age 10 p person print p.name,p.age 2 類方法,即在定義方法時使用 classme...