变量与对象
参考资料:
菜鸟教程:Python3 基本数据类型
Python 文档:数据模型 - 对象、值与类型
RealPython: Python 中的变量与对象
知乎:如何理解python中一切皆对象呢?看type,object,class的关系
变量(variable)的赋值(assignment)与删除(deletion)
Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 =
用来给变量赋值, 等号 =
运算符左边是一个变量名, 等号 =
运算符右边是存储在变量中的值。
del
关键字加变量名可以删除一个或多个变量。(在 Jupyter Notebook 与 代码内存优化上有用)
例如:
#!/usr/bin/env python3
counter = 100 # 整型变量
miles = 1000.0 # 浮点型变量
name = "总之先找时光机!" # 字符串
print (counter)
print (miles)
print (name)
del name, miles
print(name) # 会报错,因为name已被删除
执行以上程序会输出如下结果:
100
1000.0
总之先找时光机!
Traceback (most recent call last):
File "C:\Users\dongw\Desktop\test.py", line 12, in <module>
print(name)
NameError: name 'name' is not defined
变量与对象(object)
在 Python 中,变量的概念很纯粹,变量就是一个对象的引用(reference)。对象是存储在内存的数据。
变量本身没有“类型(type)”,但被引用的对象有类型。
被引用的对象有一个标识号(identity),可以理解成内存地址(memory address)。
- 对象(object) 是存储在内存某处的数据。
- 每个对象都有一个内存地址、一个类型和一个值(value)。
- 变量(variable) 则是对 对象 的 引用(reference)。
获取变量标识号(内存地址)的方法 id()
在 Python 中,获取变量内存地址的方法为:id()
。
如:
>>>a = 1
>>>id(a)
140718160995112
值得注意的是,内存地址每次运行后都可能不一样。
获取变量类型的方法 type()
在 Python 中,获取变量类型的方法为: type()
如:
>>>a = 5; print(type(a))
<class 'int'>
>>>a = 5.0; print(type(a))
<class 'float'>
object、type、class之间的关系
笔者感觉大部分开发者(如笔者自己)不需要了解这些细枝末节。
笔者至今也没有在开发过程中触及到这三者的边界,因此不再做更详尽的记录了。
拓展阅读:如何理解python中一切皆对象呢?看type,object,class的关系
标签:12,变量,对象,object,print,type,name From: https://www.cnblogs.com/wanderoff-night/p/18006310