本文共 633 字,大约阅读时间需要 2 分钟。
静态方法不接收隐式第一个参数。
声明格式:class C: @staticmethod def f(arg1, arg2, ...): ...
它可以在类(例如C.f())上调用,也可以在实例上调用(例如C().f())。
实例演示:#!/usr/bin/python# -*- coding: UTF-8 -*-class C(object): y = 10 @staticmethod def func1(argv1): #不需要实例化就能调用 print("func1 start") print(argv1) print("func1 end") def func2(self): #实例方法用于对比,这里传入了self,可以在方法中调用self相关的属性和方法,静态方法无self无sels自然无法做这类操作 print("func2 start") print(self.y) self.func1("f1") print("func2 end")C.func1("foodly")C().func2()
运行结果
func1 startfoodlyfunc1 endfunc2 start10func1 startf1func1 endfunc2 end
转载地址:http://kyiti.baihongyu.com/