函数要先定义再调用,这个内容已经说了很多了,自学了python快二周了,今天突然有个想法,在类里面也是这样吗?
话不多说,先上代码:
‘class TestDefFunction:
def init(self, a):
self.a = a
def test(self):
if self.a == ‘a’:
try:
self.print_test()
except:
print(‘定义未成功’)
else:
print(‘字母输入错’)
def print_test(self):
print(‘定义成功’)
test1 = TestDefFunction('a')
test1.test()`
在这里,print_test()函数被定义在调用后面了,当运行程序后,猜猜看什么结果?结果是输入了“定义成功”,说明在类里面,当调用不存在的self.print_test()函数时,编译器并不争着报错,而在类里调用语句后面去找这个函数,如果在类里存在,则执行函数。同样的思路用在类外则不行,代码:
``def op_func(a):
if a == ‘a’:
try:
print_test()
except:
print('定义未成功')
else:
print('输入字母错')
def print_test():
print('定义成功')
op_func(‘a’)’
运行后结果是“定义未成功”
感觉python学习还是很有意思的,大家共同进步