python中功能内的功能,如何在外部调用?类内,方法内的方法呢?在外部又是怎样调用到的?

就是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还有其他与它并排的方法呢,如何辨别?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-08-31

可以这样写的啊

def outer():  

。。 x = 1  

。。 def inner():  

。。。print(x)  

。。inner() # 在外函数调用内函数   

outer() # 调用外函数

或者这样也可以

第2个回答  2021-08-30
class内的方法好调用
新建一个实例类s=S(),就可以直接调用类里面的方法了
如果只是一个def函数,就要保存成一个库,然后倒入追问

我是问,方法内的方法,外部能否调用,如:
class studentmanager():
def run(self):
def help():
while True:

追答

可以的,类内的方法可以调用,但是要加self

第3个回答  2021-08-30
可以单独拉出来一个.py文件把要用的的方法定义在里面,最后在另一个文件中import的时候通过….…导入,然后可以直接用。追问

我是问,方法内的方法,外部能否调用,如:
class studentmanager():
def run(self):
def help():
while True:
help是方法run内的方法

追答

在外面直接调用help()是不可以的。
但是可以通过studentmanager.help()的方式调用。

第4个回答  2021-08-31
外部调用可以通过记事本,写入函数改为.py后缀,放到需要调用的文件夹之下,再利用import进行调用,可以直接通过赋予的名字调用class下面的方法,调用方法用.就可以
相似回答