1.通常来说,我们使用一个类的方法时,首先要实例化这个类,再用实例化的类来调用其方法 输出 2.而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。 输出 ...
分类:
编程语言 时间:
2018-02-27 21:15:08
阅读次数:
201
类中定义的函数分成两大类 一:绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 绑定到类的方法:用classmethod装饰器装饰的方法。 二:非绑定方法:用staticmethod装饰器装饰的方法 注意:与绑定到对象方法区分开,在类中直接定义的函数,没有被任何装饰器装饰的,都是绑定 ...
分类:
其他好文 时间:
2018-02-26 20:40:13
阅读次数:
166
一、静态方法(staticmethod)和类方法(classmethod) 类方法:有个默认参数cls,并且可以直接用类名去调用,可以与类属性交互(也就是可以使用类属性) 静态方法:让类里的方法直接被类调用,就像正常调用函数一样 类方法和静态方法的相同点:都可以直接被类调用,不需要实例化 类方法和静 ...
分类:
编程语言 时间:
2018-02-19 16:00:25
阅读次数:
180
import os # os.system() # os.mkdir() class Dog(object): # name = 'kk' def __init__(self,name): self.name = name # @staticmethod #静态方法,实际上跟类没什么关系了,并且,这 ...
分类:
编程语言 时间:
2018-02-18 20:00:25
阅读次数:
184
1. @prototype修饰符的用法 另外一种用法: 2. staticmethod修饰符 被staticmethod修饰符的表示这是一个类的静态方法,可以被类直接调用 ...
分类:
其他好文 时间:
2018-02-18 18:38:00
阅读次数:
233
一 绑定方法 二 非绑定方法 三 classmethod和staticmethod的区别 一 绑定方法 绑定方法(绑定给谁,谁来调用就自动将它本身当作第一个参数传入): 1. 绑定到类的方法:用classmethod装饰器装饰的方法。 为类量身定制 类.boud_method(),自动将类当作第一个 ...
分类:
其他好文 时间:
2018-02-17 23:49:57
阅读次数:
343
前言:认为方法与函数同意义,由于这里使用method,所以称为方法 静态方法: 使用@staticmethod来定义静态方法。 静态方法:类和实例都可以调用的方法,实际上跟类没什么关系了,对于这种不太相关的就使用静态方法【用实例和类调用没有区别】 class Dog(object): def __i... ...
分类:
其他好文 时间:
2018-02-05 23:16:14
阅读次数:
184
一般来说,要使用某个类的方法,需要先实例化一个对象再调用方法。 而使用@staticmethod或@classmethod,就可以不需要实例化,直接类名.方法名()来调用。 这有利于组织代码,把某些应该属于某个类的函数给放到那个类里去,同时有利于命名空间的整洁。 既然@staticmethod和@c ...
分类:
其他好文 时间:
2018-02-02 14:26:07
阅读次数:
125
class Kls(object): def __init__(self, data): self.data = data def printd(self): print(self.data) @staticmethod def smethod(*arg): print('Static:', arg ...
分类:
编程语言 时间:
2018-01-30 16:47:04
阅读次数:
190
静态方法 静态方法 通过@staticmethod来定义,静态方法在类中,但在静态方法里访问不了类和实例中的属性,但静态方法需要类来调用 运行,报错 把eat方法的参数去掉,直接打印,可以直接调用 运行结果 如果要给eat()传参数的话,可以把实例化的Person传入 运行结果 类方法 类方法 类方 ...
分类:
编程语言 时间:
2018-01-28 11:16:17
阅读次数:
137