我已经开始学习Python,阅读了一些教程,我看到了这句话Everything is an object in Python,它到底是什么意思?
这意味着您使用的几乎所有东西:
我说“几乎”是因为这不适用于关键字(例如for、if等def)。
一切都是类的实例
当你定义一个变量时,Python 会创建一个指向内存中对象的指针。该对象是一个类的实例。您可以使用该函数type()查看变量所属的类。
>>> x = 100
>>> type(x)
int
Run Code Online (Sandbox Code Playgroud)
int是类本身 - 不是代表它的字符串。事实上,您可以使用此类来创建其他整数。您可以将类视为“工厂”,用于创建它们所描述的类型的新对象。
>>> # the class int is taking a string as a parameter and creating an integer
>>> int('123')
123
Run Code Online (Sandbox Code Playgroud)
更进一步,既然我们说“万物皆对象”,那么类也必然是对象。但是,如果每个对象都是类的实例,那么这些类也必须是某些类的实例。
事实证明,Python 中有一个元类type,其中所有类都是实例。您可以将其视为一种创建工厂(我们的类)的“通用”工厂。
>>> type(int)
type
Run Code Online (Sandbox Code Playgroud)
万物皆有属性
要查看对象的属性,可以使用以下dir函数:
dir(x)
Run Code Online (Sandbox Code Playgroud)
属性可以是方法,也可以只是存储一些数据。例如:
>>> import os
>>>
>>> os.sep # returns the string (some data) that shows the default path separator of your operating system
'/'
Run Code Online (Sandbox Code Playgroud)
最后,请记住您可以更改属性
os.sep = '\\' # change to Window path separator
Run Code Online (Sandbox Code Playgroud)
或创建新的:
os.pc_owner = 'hb'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5430 次 |
| 最近记录: |