python一切皆对象——字符、数字、列表、元组、集合、字典、函数、类、模块、某种操作、甚至Python本身,等等都是对象。
1、“Python, 一切都可以赋值!”
一切都可以赋值!也就是可以执行‘=’操作。变量可以赋值、属性可以赋值、方法可以赋值、函数可以赋值、任何一种操作都可以赋值,即使很多时候这种赋值没有任何实际意义,但依然可以赋值!
>>> a = [1,2,3]
>>> a.append(4)
>>> a
[1, 2, 3, 4]
>>> b = a.append(4)
>>> b
>>> a
[1, 2, 3, 4, 4]
>>> type(b)
<class 'NoneType'>
>>>
可见b的值是‘None’,而类型是‘None Type’,这意味着b没啥实际含义,但即使这样,Python还是一视同仁地给它分配了地址!
2、“Python, 一切皆有“类型(type)”!
(1) 在利用type()查看函数或方法时,函数名或方法名代表了函数或方法本身,而带上’()'则表示返回值的类型,如前面的type(max)和type(max())。
(2) python的部分关键字,如and、as、break、if、elif等等,确实是没有类型的,连‘NoneType’都不算。输入type(and),将得到错误信息SyntaxError: invalid syntax。可怜,这些关键字作用很大,连个对象都不算!