什么是;“东西”;意思是当有人说;Python中的一切都是对象;?
我经常看到人们说“Python中的一切都是对象”,但我还没有看到“东西”的实际定义。这句话会让我相信,任何类型的标记也都被视为对象,包括运算符、标点符号、空格等。真的是这样吗?有没有更简洁的方式来说明Python对象实际上是什么什么是;“东西”;意思是当有人说;Python中的一切都是对象;?,python,object,Python,Object,我经常看到人们说“Python中的一切都是对象”,但我还没有看到“东西”的实际定义。这句话会让我相信,任何类型的标记也都被视为对象,包括运算符、标点符号、空格等。真的是这样吗?有没有更简洁的方式来说明Python对象实际上是什么 谢谢任何可以分配给变量的东西都是对象 这包括函数、类和模块,当然还有int、str、float、list,以及其他所有内容。它不包括空格、标点符号或运算符 值得一提的是,标准库中有操作符模块,其中包括实现操作符的函数;这些函数是对象。这并不意味着+或*是对象 我可以继续
谢谢任何可以分配给变量的东西都是对象 这包括函数、类和模块,当然还有
int
、str
、float
、list
,以及其他所有内容。它不包括空格、标点符号或运算符
值得一提的是,标准库中有操作符
模块,其中包括实现操作符的函数;这些函数是对象。这并不意味着+
或*
是对象
我可以继续讲下去,但这很简单,也很完整。任何可以分配给变量的东西都是对象 这包括函数、类和模块,当然还有
int
、str
、float
、list
,以及其他所有内容。它不包括空格、标点符号或运算符
值得一提的是,标准库中有操作符
模块,其中包括实现操作符的函数;这些函数是对象。这并不意味着+
或*
是对象
我可以继续讲下去,但这很简单,也很完整。通常的意思是,大多数东西,例如函数和方法都是对象。模块也是。类(不仅仅是它们的实例)本身就是对象。和int/float/string是对象。因此,是的,在Python中,对象通常是对象。Cyphase是正确的,我只是想给出一些东西的例子,这些东西可能不会作为对象立即显现出来
作为对象,那么许多属性可以在你认为是特殊情况的事物中被观察到,用其他语言进行烘焙。尽管在Python中允许任意属性赋值的_udict u uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
因此,至少在纯Python对象上,可以发生很多神奇的事情,从内省到动态创建新的类等有点像海龟。通常的意思是,大多数东西,例如函数和方法都是对象。模块也是。类(不仅仅是它们的实例)本身就是对象。和int/float/string是对象。因此,是的,在Python中,对象通常是对象。Cyphase是正确的,我只是想给出一些东西的例子,这些东西可能不会作为对象立即显现出来
作为对象,那么许多属性可以在你认为是特殊情况的事物中被观察到,用其他语言进行烘焙。尽管在Python中允许任意属性赋值的_udict u uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
因此,至少在纯Python对象上,可以发生很多神奇的事情,从内省到动态创建新的类等一直以来都有点像乌龟。有些值显然是对象;它们是类的实例,具有属性等
>>> i = 3
>>> type(i)
<type 'int'>
>>> i.denominator
1
模块是对象:
>>> type(int)
<type 'type'>
>>> int.__mul__(3, 5)
15
>>> import sys
>>> type(sys)
<type 'module'>
>>> type(sum)
<type 'builtin_function_or_method'>
导入系统
>>>类型(系统)
内置函数是对象:
>>> type(int)
<type 'type'>
>>> int.__mul__(3, 5)
15
>>> import sys
>>> type(sys)
<type 'module'>
>>> type(sum)
<type 'builtin_function_or_method'>
>类型(总和)
简而言之,如果你可以通过名称引用它,它就是一个对象。一些值显然是对象;它们是类的实例,具有属性等
>>> i = 3
>>> type(i)
<type 'int'>
>>> i.denominator
1
模块是对象:
>>> type(int)
<type 'type'>
>>> int.__mul__(3, 5)
15
>>> import sys
>>> type(sys)
<type 'module'>
>>> type(sum)
<type 'builtin_function_or_method'>
导入系统
>>>类型(系统)
内置函数是对象:
>>> type(int)
<type 'type'>
>>> int.__mul__(3, 5)
15
>>> import sys
>>> type(sys)
<type 'module'>
>>> type(sum)
<type 'builtin_function_or_method'>
>类型(总和)
简而言之,如果你可以用名字引用它,它就是一个对象。
< p>你不会发现像C++ 11那样的严格定义,因为Python没有像C++ 11那样的正式规范,它有一个类似的预ISO C++。本章非常严谨: 对象是Python对数据的抽象。Python程序中的所有数据都由对象或对象之间的关系表示。(在某种意义上,与冯·诺依曼的“存储程序计算机”模型一致,代码也由对象表示。) 每个对象都有一个标识、一个类型和一个值。对象的标识在创建后不会改变;您可以将其视为对象在内存中的地址 此外,还有一个较短的定义: 具有状态(属性或值)和已定义行为(方法)的任何数据 确实,Python中的所有东西都有方法和(其他)属性。即使没有公共方法,也有一组从对象
基类继承的特殊方法和值,比如\uuu str\uu
方法
这在Python 2.2之前的版本中是不正确的,这也是为什么我们对几乎相同的对象、数据、值使用多个单词的部分原因;类型、类别……但从那时起,以下类型的内容是相同的:
- 对象
- 函数可以返回或产生的东西
- 可以存储在变量(包括参数)中的内容
- 属于
类型的实例(通常通过一个或两个子类间接)object
- 可以是表达式产生的值的事物
- 在CPython中由指向
结构的指针表示的事物PyObject