一切皆对象
如题所示,在Python中一切都是对象,包括你的代码,函数,类,方法,都是对象,但是函数和类相对来说比较高级,属于Python的一等公民,具有如下特性:
1. 可以赋值给一个变量
2. 可以添加到集合对象中
3. 可以作为参数传递给函数
4. 可以当作函数的返回值
概念往往是枯燥的,下面用实例演示即可明白
def test():
print('浪子666')
run = test
run()
这里把test函数赋值给变量run,然后run直接运行test函数,就是第一点的概念
def test1():
print('浪子666')
def test2():
print('浪子777')
def test3():
print('浪子888')
a = []
a.append(test1)
a.append(test2)
a.append(test3)
for x in a:
x()
输出结果:
浪子666
浪子777
浪子888
当然可以添加到集合对象中,意思就是多个函数可以放到列表集合中,并且循环调用,这就是第二点。
def test1(x):
return (x)
def test2():
return test1
a = test2()
print(a('浪子666'))
这属于第三点,可以作为函数的传参,说白了就是a作为test2函数运行,因为返回test1函数,所以变成了test1函数,接受参数。
这个说白了就是和类属性一样的调用方法,赋值给一个变量,通过这个变量来操作函数对象。
def test1():
return ('浪子666')
def test2():
return test1()
print(test2())
可以当作函数的返回值,这个往后面走就是装饰器的原理,这个比较简单容易理解。
type class object 三者关系
type
type方法很常见,它常用于获取数据类型,或者函数类的类型。
a = 1
b = 'a'
print(type(a))
print(type(b))
返回的结果:
<class 'int'>
<class 'str'>