先做个解释:
1.这里说的没有权利调用"个人理解"是相对于没有引入类概念前函数之间可以互相调用
2.但是引入类概念之后
1.类对象的函数之间不能互相调用 --- 必须通过类对象调用
2.实例对象的方法之间也不能互相调用 --- 必须通过实例对象即格式self.fun()调用
1.函数之间可以互相调用
2_1.同一对象的方法(或函数 --- 当该对象是类对象时)没有权利调用该对象的其他方法(或函数 --- 当该对象是类对象时)
class C2:
def f():
print("测试_类对象函数间不能互相调用,只能通过类对象调用")
def f1():
f()
#同一类对象函数间没有互相调用的权利
C2.f1()
'''
输出
NameError: name 'f' is not defined
'''
#必须通过类对象调用
C2.f()
'''
输出:
测试_类对象函数间不能互相调用,只能通过类对象调用
'''
2_2.对象才有权利调用,因而会导致基类中某一个方法调用该基类中另一个方法时,变成了调用派生类中的重写基类中该方法的方法
class C2:
def f():
print("测试_类对象函数间不能互相调用,只能通过类对象调用")
def f1():
f()
#同一类对象函数间没有互相调用的权利
C2.f1()
'''
输出
NameError: name 'f' is not defined
'''
#必须通过类对象调用
C2.f()
'''
输出:
测试_类对象函数间不能互相调用,只能通过类对象调用
'''
---------------------------------------------------------------------------------------------------------------------------------------------------------------
上述内容参见API中以下章节
---------------------------------------------------------------------------------------------------------------------------------------------------------------
API中描述