python __init__ __call__

__call__ 和 __init__半毛钱的关系都没有。

后者是构造类的实例时会调用的方法,并不是构造方法。

前者是在实例上可以呼叫的方法。代码示例如下:

>>> class foo:
	def __init__(self):
		print "init"
	def __call__(self):
		print "call"
>>> foo()
init
<__main__.foo instance at 0x0000000002C6EC88>
>>> foo()()
init
call
时间: 2024-10-22 14:50:15

python __init__ __call__的相关文章

python __init__.py用途

转自http://www.cnpythoner.com/post/2.html Python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import.这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了.有没有办法,像Java的Package一样,将多个.py文件组织起来,以便在外部统一调用,和在内部互

python __init__.py

python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import.这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很吃力了.有没有办法,像Java的Package一样,将多个.py文件组织起来,以便在外部统一调用,和在内部互相调用呢?答案是有的.主要是用到python的包的概念,python __ini

python __init__.py和__all__

__init__.py是创建python包时用的,详见文章:http://www.cnblogs.com/tqsummer/archive/2011/01/24/1943273.html python中的Module是比较重要的概念.常见的情况是,事先写好一个.py文 件,在另一个文件中需要import时,将事先写好的.py文件拷贝 到当前目录,或者是在sys.path中增加事先写好的.py文件所在的目录,然后import.这样的做法,对于少数文件是可行的,但如果程序数目很 多,层级很复杂,就很

python __new__, __init__,__call__区别

转载link:http://pycoders-weekly-chinese.readthedocs.io/en/latest/issue6/a-guide-to-pythons-magic-methods.htmlc

python特殊函数 __call__()

__call__ 在Python中,函数其实是一个对象: >>> f = abs >>> f.__name__ 'abs' >>> f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象. 所有的函数都是可调用对象. 一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__(). 我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name,

[小知识]Python中__call__方法 @ Python

python中的__call__方法可以把class当做函数调用.例程如下: #coding=utf-8 class A(object): def __init__(self, x): self.x = x def __call__(self, y): return self.x * y C = A(10) #C这个instance可以当做函数来调用 print C(5) # 50

Python中__call__的用法

概念: Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的.换句话说,我们可以把这个类型的对象当作函数来使用,相当于 重载了括号运算符.  示例: 所有的函数都是可调用对象.一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__ ,我们把 Person 类变成一个可调用对象: class Person(object): def __init__(self, name, gender): self.name = name sel

Python类__call__()方法

在python中,创建类型的时候定义了__call__()方法,那这个类型创建出来的实例就是可调用的.例def如: class A(object): def __init__(self,name,age): self.name=name self.age=age def __call__(self): print("this is __call__ method") a=A('gt',17) a()------>this is __call__ method 原文地址:https

&lt;转&gt;Python: __init__.py 用法

转自 http://www.cnblogs.com/BeginMan/p/3183629.html python的每个模块的包中,都有一个__init__.py文件,有了这个文件,我们才能导入这个目录下的module. 那么,__init__.py还有什么别的功能呢? 其实,__init__.py里面还是可以有内容的,我们在导入一个包时,实际上导入了它的__init__.py文件. 我们可以再__init__.py文件中再导入其他的包,或者模块. [python] import readers