- Python 基础知识
- Python - 主页
- Python - 概述
- Python - 历史
- Python - 特性
- Python 与 C++
- Python——Hello World 程序
- Python - 应用领域
- Python解释器
- Python-环境设置
- Python-虚拟环境
- Python - 基本语法
- Python - 变量
- Python - 数据类型
- Python - 类型转换
- Python - Unicode 系统
- Python - 文字
- Python - 运算符
- Python - 运算符优先级
- Python - 算术运算符
- Python - 赋值运算符
- Python - 增强运算符
- Python - 比较运算符
- Python - 逻辑运算符
- Python - 位运算符
- Python - 会员运算符
- Python - 身份运算符
- Python - 注释
- Python - 用户输入
- Python - 数字
- Python - 布尔值
- Python 控制语句
- Python - 控制流
- Python - 决策
- Python - 如果有的话
- Python - 大小写匹配语句
- Python - for 循环
- Python - for-else 循环
- Python - While 循环
- Python-break语句
- Python-继续语句
- Python - pass 语句
- Python 函数和模块
- Python - 函数
- Python - 默认参数
- Python - 关键字参数
- Python - 仅关键字参数
- Python - 位置参数
- Python - 仅位置参数
- Python - 任意参数
- Python - 变量作用域
- Python - 函数注释
- Python - 模块
- Python - 内置函数
- Python 字符串
- Python-字符串
- Python - 字符串切片
- Python-修改字符串
- Python-字符串连接
- Python——字符串格式化
- Python - 转义字符
- Python - 字符串方法
- Python - 弦乐练习
- Python 列表
- Python - 列表
- Python - 访问列表项
- Python - 更改列表项
- Python - 添加列表项
- Python - 删除列表项
- Python - 循环列表
- Python - 列表理解
- Python - 列表排序
- Python - 复制列表
- Python - 连接列表
- Python - 列表方法
- Python - 列出练习
- Python 元组
- Python - 元组
- Python - 访问元组项
- Python - 更新元组
- Python - 解压元组
- Python - 循环元组
- Python - 连接元组
- Python - 元组方法
- Python - 元组练习
- Python 集
- Python - 集合
- Python - 访问设置项
- Python - 添加设置项
- Python - 删除设置项
- Python - 循环集
- Python - 连接集
- Python - 复制集
- Python - 集合运算符
- Python - 设置方法
- Python - 设置练习
- Python 字典
- Python - 字典
- Python - 访问字典项目
- Python - 更改字典项目
- Python - 添加字典项
- Python - 删除字典项
- Python - 字典查看对象
- Python - 循环字典
- Python - 复制字典
- Python - 嵌套字典
- Python - 字典方法
- Python - 字典练习
- Python 数组
- Python-数组
- Python - 访问数组项
- Python - 添加数组项
- Python - 删除数组项
- Python - 循环数组
- Python - 复制数组
- Python - 反转数组
- Python - 数组排序
- Python - 连接数组
- Python - 数组方法
- Python - 数组练习
- Python 文件处理
- Python - 文件处理
- Python-写入文件
- Python-读取文件
- Python - 重命名和删除文件
- Python - 目录
- Python - 文件方法
- Python - 操作系统文件/目录方法
- 面向对象编程
- Python - OOP 概念
- Python - 对象和类
- Python - 类属性
- Python - 类方法
- Python - 静态方法
- Python - 构造函数
- Python - 访问修饰符
- Python——继承
- Python——多态性
- Python - 方法重写
- Python - 方法重载
- Python - 动态绑定
- Python - 动态类型
- Python - 抽象
- Python-封装
- Python - 接口
- Python - 包
- Python - 内部类
- Python - 匿名类和对象
- Python-单例类
- Python - 包装类
- Python-枚举
- Python-反射
- Python 错误与异常
- Python - 语法错误
- Python - 异常
- Python - try- except 块
- Python - try-finally 块
- Python - 引发异常
- Python - 异常链
- Python - 嵌套 try 块
- Python - 用户定义的异常
- Python-日志记录
- Python-断言
- Python - 内置异常
- Python 多线程
- Python-多线程
- Python-线程生命周期
- Python - 创建线程
- Python - 启动线程
- Python - 连接线程
- Python - 命名线程
- Python-线程调度
- Python-线程池
- Python - 主线程
- Python-线程优先级
- Python - 守护线程
- Python - 同步线程
- Python同步
- Python-线程间通信
- Python-线程死锁
- Python - 中断线程
- Python 网络
- Python-网络
- Python-套接字编程
- Python-URL 处理
- Python - 泛型
- Python 杂项
- Python - 日期和时间
- Python - 数学
- Python - 迭代器
- Python - 生成器
- Python - 闭包
- Python - 装饰器
- Python - 递归
- Python - 正则表达式
- Python-PIP
- Python-数据库访问
- Python - 弱引用
- Python-序列化
- Python - 模板
- Python - 输出格式
- Python-性能测量
- Python-数据压缩
- Python - CGI 编程
- Python - XML 处理
- Python - 图形用户界面编程
- Python - 命令行参数
- Python - 文档字符串
- Python-JSON
- Python-发送电子邮件
- Python - 进一步扩展
- Python - 工具/实用程序
- Python - 图形用户界面
- Python 问题与解答
- Python - 编程示例
- Python - 快速指南
- Python - 有用的资源
- Python - 讨论
Python - 变量
什么是 Python 变量?
Python 变量是用于在 Python 程序中存储值的保留内存位置。这意味着当您创建变量时,您会在内存中保留一些空间。Python解释器根据变量的数据类型分配内存并决定保留内存中可以存储的内容。因此,通过为Python变量分配不同的数据类型,您可以在这些变量中存储整数、小数或字符。
了解内存地址
属于不同数据类型的数据项存储在计算机的存储器中。计算机的内存位置有一个数字或地址,内部以二进制形式表示。由于计算机按照二进制表示原理工作,因此数据也以二进制形式存储。在下图中,字符串May和数字18显示为存储在内存位置中。
如果你懂得汇编语言,你就会把这些数据项和内存地址隐藏起来,并给出机器语言指令。然而,这对每个人来说都不容易。Python 解释器等语言翻译器执行这种类型的转换。它将对象存储在随机选择的内存位置。Python 的内置id()函数返回存储对象的地址。
>>> "May" May >>> id("May") 2167264641264 >>> 18 18 >>> id(18) 140714055169352
数据一旦存储在内存中,就应该被重复访问以执行特定的过程。显然,从其ID中获取数据是很麻烦的。像 Python 这样的高级语言可以提供合适的别名或标签来引用内存位置。
在上面的示例中,让我们将 May 的位置标记为月份,将存储 18 的位置标记为年龄。Python 使用赋值运算符 (=) 将对象与标签绑定。
>>> month="May" >>> age=18
数据对象(五月)及其名称(月份)具有相同的 id()。18 的 id() 和年龄也相同。
>>> id(month) 2167264641264 >>> id(age) 140714055169352
标签是一个标识符。它通常被称为变量。Python 变量是一个符号名称,是对象的引用或指针。
声明 Python 变量
Python变量不需要显式声明来保留内存空间,或者你可以说创建一个变量。当您为其赋值时,Python 变量会自动创建。等号 (=) 用于给变量赋值。
= 运算符左侧的操作数是变量的名称,= 运算符右侧的操作数是存储在变量中的值。例如 -
counter = 100 # Creates an integer variable miles = 1000.0 # Creates a floating point variable name = "Zara Ali" # Creates a string variable
打印 Python 变量
一旦我们创建了一个 Python 变量并为其赋值,我们就可以使用print()函数打印它。以下是前面示例的扩展,展示了如何在 Python 中打印不同的变量:
counter = 100 # Creates an integer variable miles = 1000.0 # Creates a floating point variable name = "Zara Ali" # Creates a string variable print (counter) print (miles) print (name)
这里,100、1000.0 和“Zara Ali”分别是分配给counter、miles和name变量的值。运行上面的 Python 程序时,会产生以下结果 -
100 1000.0 Zara Ali
删除Python变量
您可以使用 del 语句删除对数字对象的引用。del 语句的语法是 -
del var1[,var2[,var3[....,varN]]]]
您可以使用 del 语句删除单个对象或多个对象。例如 -
del var del var_a, var_b
例子
以下示例显示了如何删除变量,如果我们尝试使用已删除的变量,则 Python 解释器将抛出错误:
counter = 100 print (counter) del counter print (counter)
这将产生以下结果:
100 Traceback (most recent call last): File "main.py", line 7, in <module> print (counter) NameError: name 'counter' is not defined
Python 变量 - 多重赋值
Python 允许在一条语句中初始化多个变量。在以下情况中,三个变量具有相同的值。
>>> a=10 >>> b=10 >>> c=10
您可以在单个赋值语句中执行此操作,而不是单独的赋值,如下所示 -
>>> a=b=c=10 >>> print (a,b,c) 10 10 10
在以下情况中,我们有三个具有不同值的变量。
>>> a=10 >>> b=20 >>> c=30
这些单独的赋值语句可以合并为一个。您需要在左侧给出逗号分隔的变量名称,在 = 运算符的右侧给出逗号分隔的值。
>>> a,b,c = 10,20,30 >>> print (a,b,c) 10 20 30
让我们在脚本模式下尝试几个例子: -
a = b = c = 100 print (a) print (b) print (c)
这会产生以下结果:
100 100 100
这里,创建了一个值为 1 的整数对象,并且所有三个变量都被分配到同一内存位置。您还可以将多个对象分配给多个变量。例如 -
a,b,c = 1,2,"Zara Ali" print (a) print (b) print (c)
这会产生以下结果:
1 2 Zara Ali
这里,两个值为 1 和 2 的整型对象分别赋给变量 a 和 b,一个值为“Zara Ali”的字符串对象赋给变量 c。
Python 变量 - 命名约定
每个 Python 变量都应该有一个唯一的名称,如 a、b、c。变量名可以是有意义的,如颜色、年龄、名称等。命名 Python 变量时应注意以下一些规则:
- 变量名必须以字母或下划线字符开头
- 变量名不能以数字或任何特殊字符开头,例如 $、(、* % 等。
- 变量名称只能包含字母数字字符和下划线(Az、0-9 和 _)
- Python 变量名称区分大小写,这意味着 Name 和 NAME 是 Python 中两个不同的变量。
- Python 保留关键字不能用于命名变量。
如果变量的名称包含多个单词,我们应该使用这些命名模式 -
Camel case - 第一个字母是小写,但每个后续单词的第一个字母是大写。例如:公里每小时、价格每升
帕斯卡大小写- 每个单词的第一个字母都是大写的。例如:公里每小时、每升价格
蛇形写法- 使用单下划线 (_) 字符分隔单词。例如:每小时公里数、每升价格
例子
以下是有效的 Python 变量名称:
counter = 100 _count = 100 name1 = "Zara" name2 = "Nuha" Age = 20 zara_salary = 100000 print (counter) print (_count) print (name1) print (name2) print (Age) print (zara_salary)
这将产生以下结果:
100 100 Zara Nuha 20 100000
例子
以下是无效的 Python 变量名称:
1counter = 100 $_count = 100 zara-salary = 100000 print (1counter) print ($count) print (zara-salary)
这将产生以下结果:
File "main.py", line 3 1counter = 100 ^ SyntaxError: invalid syntax
例子
一旦使用变量来标识数据对象,就可以重复使用它而无需其 id() 值。在这里,我们有一个矩形的变量高度和宽度。我们可以用这些变量计算面积和周长。
>>> width=10 >>> height=20 >>> area=width*height >>> area 200 >>> perimeter=2*(width+height) >>> perimeter 60
在编写脚本或程序时,使用变量特别有利。以下脚本也使用上述变量。
#! /usr/bin/python3 width = 10 height = 20 area = width*height perimeter = 2*(width+height) print ("Area = ", area) print ("Perimeter = ", perimeter)
使用 .py 扩展名保存上述脚本并从命令行执行。结果将是 -
Area = 200 Perimeter = 60
Python 中的常量
Python 没有任何正式定义的常量,但是您可以使用带下划线的全大写名称来指示将变量视为常量。例如,名称 PI_VALUE 表示您不希望以任何方式重新定义或更改该变量。
使用全大写的命名约定有时被称为尖叫蛇案例 - 其中全大写(尖叫)和下划线(蛇)。
Python 与 C/C++ 变量
变量的概念在 Python 中与在 C/C++ 中的工作方式不同。在 C/C++ 中,变量是命名的内存位置。如果a=10且b=10,则两者是两个不同的存储位置。我们假设它们的内存地址分别是100和200。
如果为“a”分配不同的值(例如 50),则地址 100 中的 10 会被覆盖。
Python 变量指的是对象而不是内存位置。一个对象仅在内存中存储一次。多个变量实际上是同一对象的多个标签。
语句 a=50在内存中的某个其他位置创建一个新的int对象 50,留下由“b”引用的对象 10。
此外,如果您为 b 分配其他值,则对象 10 保持未引用状态。
Python 的垃圾收集器机制会释放任何未引用对象占用的内存。
如果两个操作数具有相同的 id() 值,Python 的恒等运算符将返回 True。
>>> a=b=10 >>> a is b True >>> id(a), id(b) (140731955278920, 140731955278920)