【 1 】变量
1、什么是变量
即变化的量,用于记录事物变化状态,其实就是保存数据的一种方式
在Python中,变量是用来存储数据值的标识符。可以把变量视为存储数据的容器,它们可以被赋予不同类型的数据,并且可以随时修改其值。
在Python中,变量不需要提前声明或指定数据类型。当你给变量赋值时,Python会根据所赋的值自动确定变量的数据类型。这意味着同一个变量可以在不同的时间被赋予不同类型的值。
例如:
x = 5 # x是一个整数变量 x = "Hello" # 现在x成了一个字符串变量
在这个例子中,变量x
首先被赋值为整数5,然后又被重新赋值为字符串"Hello"。这种灵活的特性使得Python中的变量使用非常方便。
2、如何使用变量
生活中:
姓名:lixingyun
年龄:18
性别:male
程序中:
name = "lixingyun"
age = 18
gender = male
'''
语法格式:
name = lixingyun
变量名 赋值符号 变量值
底层原理:
1、先在内存空间中申请一块空间来存储边离职lixingyun
2、把变量名name绑定给变量值lixingyun的空间地址
3、以后只需要通过变量名name访问变量值lixingyun即可
'''
3、变量名的命名规范
-
其他的命名规范如下
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 关键字不能声明为变量名,常用关键字如下
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
需要注意的是,Python是动态类型语言,所以可以在程序中随时改变变量的值和类型。
PI = 3.1415926
在python中,没有真正意义上的常量,我们墨守成规的吧全大写的变量称之为常量
4、变量三要素
(1)id (内存地址 - 内存编号)
- 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同
(2)type (数据类型)
- 变量值的类型
(3)value (变量值)
- 变量值
5、 变量的定义
# 【1】变量:用于存储数据的标识符,变量就相当于一个存储同(容器),我们可以访问和管理这些数据
# 语法 : 变量名字 = 变量的值
6、如何查看变量的三大特性
# 定义变量 x = 'Info maojingyi: 20'
# id (内存地址 - 内存编号) : 反应的是变量在内存中的唯一编号,内存地址不同id肯定不同 print(id(x)) # 2743402831344
# type (数据类型) : 变量值的类型 print(type(x)) # <class 'str'>
# value (变量值) : 变量值
print(x) # Info maojingyi:20
效果图如下:
【2】 常量
常量:顾名思义就是经常不会改变的量叫常量
在 Python 中,严格来说并没有常量这个概念,因为 Python 中的变量是可以被重新赋值的。然而,为了约定俗成和代码可读性的目的,通常会将不打算被修改的变量称为常量。
在 Python 中,通过约定俗成的方式,通常使用全大写字母来表示常量,并在程序中不改变这些变量的值。虽然 Python 并没有提供内置的常量类型或关键字,但程序员们仍然会按照约定来定义常量。
例如:
PI = 3.14159 MAX_CONNECTIONS = 100
在这个例子中,PI 和 MAX_CONNECTIONS 都被视作常量,因为它们的命名方式符合常量的命名规范,并且在程序中不应该被修改。
需要注意的是,Python 中的常量只是一种约定,实际上仍然可以通过代码来修改它们的值。因此,在编写 Python 程序时,需要自觉遵守常量的约定,不要在程序中修改已经被定义为常量的变量的值。
【补充】初识小整数池
为了进一步提高内存利用率,Python解释器在内存中维护了一个叫做“小整数池”的数据结构,用于存储[-5, 256]范围内的整数对象。这个数据结构被实现为一个数组,数组中的每个元素都是一个整数对象,而且每个整数对象都具有独特的标识,以便在需要使用整数对象时能够准确地引用它们。
因此,当我们使用[-5, 256]范围内的整数对象时,Python解释器会从小整数池中获取对象,而不是创建新的对象。如果我们使用一个整数对象x,然后再次使用相同的对象x,Python解释器会直接返回池中保存x的内存地址,以避免重复创建对象的浪费。