class A():
if name == “main”:
print (‘入口’)
self.Bfunc(“192.168.1.1”)
def __init__(self,bb,cc,dd):
# 初始化;类似于C#中构造函数
def Afunc(self,ip):
print(ip)
def Bfunc(self,ip):
self.Afunc(ip)
from A import A
a = A(bb,cc,dd) #类没有参数
a.Afunc(“123456”)
a.Bfunc(“123456”)
原文链接:https://blog.csdn.net/qq_21703215/article/details/81702928
此时执行外层函数outer(),返回的是内层函数的函数引用(函数名称)–inner,想要执行内层函数,需要在outer()后边再加个括号,即outer()(),才会让内层函数执行
嵌套,详细区别,https://www.cnblogs.com/xiaxiaoxu/p/9785687.html
总结
a=outer(参数)
类 以及嵌套函数,的接收一样,都是,名字(参数)
a如果是类,调用类方法,有函数名字,也可以写__call__方法,直接用 类名(call 参数)
一些不用点的方法的写法是默认写了__call__函数
a.类函数名字和参数,访调用类方法 a.get(cc)
a=outer(参数)
a如果是嵌套函数,调用子函数,不用函数名字
a(子函数参数),调用嵌套函数方法 a(cc)
比较混淆的地方是,参数问题,函数嵌套的参数,和子函数的参数可以不一样,需要调用才传入
类的初始化参数也一样不需要把子函数的参数一起包含进来,都是调用的时候才传参数。