class foo():
sta='ass'
def fun1(self):
print(self)
print('fun1')
list_display=[fun1,sta]
当是实例方法去调用的时候,可以不传self进去,少传一个参数(注意区分函数和方法)
第一种方式:
# name=foo.fun1.__name__#拿到这个下面方法的名字(字符串形式)
# a=getattr(foo,name)#对象形式(方法)
# print(type(a))
# a('yunxin')#实例化
'''
<class 'function'>
yunxin
'''
第二种方法:
# a=foo.fun1
# print(type(a))
'''
<class 'function'>
yunxin
'''
第三种方法:
for i in foo.list_display:
print(type(i))
if callable(i):#判断是函数还是字符串(或者是其他的格式),是函数的话,就执行下面的操作
i('me')
else:
print(i)
'''
[1, 456, 5, [1, 3]]
<class 'function'>
me
fun1
<class 'str'>
ass
'''