就是def a():
def c():
这样的,外部如何调用?
class类内的方法内又定义方法,外部如何调用?
有两种方法:
一、
通过返回内部中定义的方法再在外部调用,像这样:
def a():
def b():
print('b')
return b
a()()
class c:
def f(self):
def g():
print ('g')
return g
c().f()()
这是运行截图:
二、
直接将内部方法定义成global的,像这样:
def a():
global b
def b():
print('bbb')
a()
b()
class c:
def f(self):
global g
def g():
print ('ggg')
c().f()
g()
这是运行截图:
追问牛!继续请教下,第一张图中,a()()、c().f()(),为啥不用写内层的方法名,如:a().b()、c().f().g(),假如b和g还有其他与它并排的方法呢,如何辨别?
我是问,方法内的方法,外部能否调用,如:
class studentmanager():
def run(self):
def help():
while True:
可以的,类内的方法可以调用,但是要加self
我是问,方法内的方法,外部能否调用,如:
class studentmanager():
def run(self):
def help():
while True:
help是方法run内的方法
在外面直接调用help()是不可以的。
但是可以通过studentmanager.help()的方式调用。