函數 | 描述 |
---|---|
staticmethod(function) | 回傳 function 為 static 方法 |
舉例示範如下
class Demo: def __init__(self, i): self.i = i def __str__(self): return str(self.i) def hello(self): print("hello", self.i) def statictest(): print("this is static method..") statictest = staticmethod(statictest) def classtest(cls): print("this is class method..") print("the class name is", cls.__name__) classtest = classmethod(classtest) Demo.statictest() Demo.classtest() print() a = Demo(9527) a.hello() a.statictest() a.classtest() # 《程式語言教學誌》的範例程式 # http://pydoing.blogspot.com/ # 檔名:cla13.py # 功能:示範 Python 程式 # 作者:張凱慶 # 時間:西元 2010 年 12 月
執行結果如下
第 11 行到第 14 行
def statictest(): print("this is static method..") statictest = staticmethod(statictest)
static 方法 statictest() 定義完後,在底下沒有縮排 (indentation) ,也就是跟 def 具有相同縮排等級的地方,以類別方法的名稱當作參數,呼叫內建函數 staticmethod() ,同時以相同名稱接收回傳值,就可以建立 static 方法。
中英文術語對照 | |
---|---|
函數 | function |
參數 | parameter |
縮排 | indentation |
內建函數
- abs(x)
- all(iterable)
- any(iterable)
- ascii(object)
- bin(x)
- bool([x])
- bytearray([source[, encoding[, errors]]])
- bytes([source[, encoding[, errors]]])
- chr(i)
- classmethod(function)
- compile(source, filename, mode, flags=0, dont_inherit=False)
- complex([real[, imag]])
- delattr(object, name)
- dict([arg])
- dir([object])
- divmod(a, b)
- enumerate(iterable, start=0))
- eval(expression, globals=None, locals=None)
- exec(object[, globals[, locals]])
- filter(function, iterable)
- float([x])
- format(value[, format_spec])
- frozenset([iterable])
- getattr(object, name[, default])
- globals()
- hasattr(object, name)
- hash(object)
- help([object])
- hex(x)
- id(object)
- input([prompt])
- int([number | string[, base]])
- isinstance(object, classinfo)
- issubclass(class, classinfo)
- iter(object[, sentinel])
- len(s)
- list([iterable])
- locals()
- map(function, iterable, ...)
- max(iterable[, args...], *[, key])
- memoryview(obj)
- min(iterable[, args...], *[, key])
- next(iterator[, default])
- object()
- oct(x)
- open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True)
- ord(c)
- pow(x, y[, z])
- print([object, ...], *, sep=' ', end='\n', file=sys.stdout)
- property(fget=None, fset=None, fdel=None, doc=None)
- range([start], stop[, step])
- repr(object)
- reversed(seq)
- round(x[, n])
- set([iterable])
- setattr(object, name, value)
- slice([start], stop[, step])
- sorted(iterable[, key][, reverse])
- staticmethod(function)
- str([object[, encoding[, errors]]])
- sum(iterable[, start])
- super([type[, object-or-type]])
- tuple([iterable])
- type(object)
- vars([object])
- zip(*iterables)
沒有留言:
張貼留言