一 python3 中類的靜態方法、普通方法、類方法
靜態方法: 用 @staticmethod 裝飾的不帶 self 引數的方法叫做靜態方法,類的靜態方法可以沒有引數,可以直接使用類名呼叫。
普通方法: 預設有個self引數,且只能被物件呼叫。
類方法: 預設有個 cls 引數,可以被類和物件呼叫,需要加上 @classmethod 裝飾器。
class classname:
@staticmethod
def fun():
print('靜態方法')
@classmethod
def a(cls):
print('類方法')
# 普通方法
def b(self):
print('普通方法')
classname.fun()
classname.a()
c = classname()
c.fun()
c.a()
c.b()
二 不同類種方法的呼叫
1 二者在同乙個資料夾下
a.py和b.py在同乙個資料夾下面,可以通過from 檔名 import *或者 import a來互相呼叫。
from a import a
a = a()
a.afunc("123456")
a.bfunc("123456")
2 而這不在同乙個資料夾下
a.py檔案的檔案路徑:e:\pythonproject\winycg
b.py檔案:
import sys
'''python import模組時, 是在sys.path裡按順序查詢的。
sys.path是乙個列表,裡面以字串的形式儲存了許多路徑。
使用a.py檔案中的函式需要先將他的檔案路徑放到sys.path中'''
import a
a=a.a(2,3)
Python3 在子類中呼叫父類的方法
在子類派生出的新方法中,往往需要重用父類的方法,有兩種方式實現。方式一 指名道姓,即父類名.父類方法 方式二 super class vehicle 定義交通工具類 country china def init self,name,speed,load,power self.name name se...
Python 類中方法的總結
python類 class 中方法的總結 1 例項方法 物件方法 定義格式 def 例項方法名 self pass 呼叫格式 物件名.例項方法名 使用場景 在方法中需要self 物件 2 類方法 定義格式 classmethod def 類方法名 cls pass 呼叫格式 類名.類方法名 或者 物...
SpringBoot 類中方法呼叫方法事務失效問題
sevice public class test transactional public void b 此時事務時不生效的,因為 transactional註解事務是通過 來控制的,方法呼叫本類方法,事務不會生效。解決方法 增加該註解開啟 enableaspectjautoproxy proxyt...