def test1():
pass
def test2():
return 0
def test3():
return 0,'hello',['a','b','c'],{'name':'alex'}
x=test1()
y=test2()
z=test3()
print('%s\n' %x , '%s \n'%y,z)
可以有0返回值,一个返回值,多个返回值;其实都是一个返回值;0个返回值返回的是一个None,一个返回值返回的是一个object,多个返回值返回的是一个元组;
----------------------------------------------------------------------------------------------------------------------------------------
返回lambda函数:
class Student(object):
def __getattr__(self, attr):
if attr=='age':
return lambda: 25 #返回的是函数的内存地址
s = Student()
print(s.age() ) #打印25
与下面这个代码一样
class Student(object):
def __getattr__(self, attr):
if attr=='age':
def a(): return 25
return a #返回的是函数的内存地址
s = Student()
print(s.age() ) #打印25
下面这个__getattr__ 的返回值与上面的不一样:
class Student(object):
def __getattr__(self, attr):
if attr=='age':
return (lambda: 25)() #返回的是函数执行后的结果
s = Student()
print(s.age ) #打印25