概述:实例方法就是类的实例能够使用的方法。静态方法是一种普通函数,就位于类定义的命名空间中,它不会对任何实例类型进行操作。使用装饰器@staticmethod定义静态方法。类对象和实例都可调用静态方法。类方法是将类本身作为对象进行操作的方法。类方法使用@classmethod装饰器定义,其第一个参数...
分类:
编程语言 时间:
2014-08-25 21:00:04
阅读次数:
381
首先来看@staticmethod,这个装饰器很好理解,就是让类中的方法变成静态方法,不需要对象实例化就可以直接调用。在此静态方法中无法使用"self"参数;再看@classmethod。其实和@staticmethod功能类似, 可以简单理解为@staticmethod功能上增加了一个"cls"参...
分类:
编程语言 时间:
2014-08-25 18:53:04
阅读次数:
250
用Python写一个SQLBuilder,Java版可以从
http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到。
附上代码:
class SQLDirector:
@classmethod
def buildSQL(cls, builder):
sql = ""
sql...
分类:
数据库 时间:
2014-07-26 02:56:56
阅读次数:
310
python内置的描述符python有些内置的描述符对象,property、staticmethod、classmethod,python实现如下:class Property(object): def __init__(self,getf,setf,delf,doc): sel...
分类:
编程语言 时间:
2014-07-22 23:21:47
阅读次数:
335
今天读代码的时候发现Python的class定义中提及了@classmethod修饰符,然后查阅了一些材料一探究竟,先做个总结吧。在Python中提到 classmethod 就要提到 staticmethod,不是因为二者有什么关系,而是为了让用户区分以便更清楚地写代码。在C++中,我们了解直接通...
分类:
编程语言 时间:
2014-07-22 22:58:12
阅读次数:
249
今天被问了这么个问题 python为什么要有classmethod?被问倒了,只能回答:classmethod不需要实例化类,用起来比较方便。这么回答没有什么底细,于是查看了一下python的官方文档:Class method objectsA class method object, like a...
分类:
编程语言 时间:
2014-07-10 17:04:43
阅读次数:
285
通常情况下,如果我们要使用一个类的方法,那我们只能将一个类实体化成一个对象,进而调用对象使用方法。比如: class Hello(object): def
__init__: ... def print_hello(self): print "Hello" 要用 ...
分类:
编程语言 时间:
2014-06-07 07:44:56
阅读次数:
218
classmethod:类方法staticmethod:静态方法在python中,静态方法和类方法都是可以通过类对象和类对象实例访问。但是区别是:@classmethod
是一个函数修饰符,它表示接下来的是一个类方法,而对于平常我们见到的则叫做实例方法。类方法的第一个参数cls,而实例方法的第一个参...
分类:
编程语言 时间:
2014-05-19 16:32:15
阅读次数:
263
静态方法独立于类和类的实例,它是定义在类作用域内的方法。可以由类和实例直接调用。
类方法和静态方法都要使用装饰器来定义,定义的基本格式是:
@staticmethod
def ():
#do something
类方法定义的基本格式是:
@ classmethod
def (cls):
#dosomething
类方法与成员方法不同的是,它需...
分类:
编程语言 时间:
2014-05-11 22:25:53
阅读次数:
422