thr*_*434 3 python class python-3.x
我正在尝试学习类,有人可以向我解释为什么这段代码不起作用.我想当从类中调用函数时,"self"会被自动省略,但是解释器告诉我参数"a"缺失(他认为self = 10).
#! coding=utf-8
class test:
def __init__(self):
"do something here"
def do(self,a):
return a**2
d = test.do
print(d(10))
Run Code Online (Sandbox Code Playgroud)
ale*_*cxe 10
首先实例化该类:
d = test().do
print(d(10)) # prints 100
Run Code Online (Sandbox Code Playgroud)
test.do是一个未绑定的方法,test().do是绑定的.这个线程解释了不同之处:Python中的类方法差异:绑定,未绑定和静态.