python - 变量

在 Python 中,变量是用于存储数据的标识符,可以动态地指向不同类型的数据(如数字、字符串、列表等)。Python 的变量无需声明类型,直接赋值即可创建。以下是关于 Python 变量的详细说明和示例:

1. 变量的基本用法

1.1 变量赋值

python 复制代码
# 赋值整数 
age = 25
# 赋值字符串 
name = "Alice" 
# 赋值浮点数 
price = 9.99 
# 赋值布尔值 
is_active = True

1.2 动态类型

Python 变量可以随时指向不同类型的数据:

python 复制代码
x = 10 # x 是整数
x = "hello" # x 现在是字符串 
x = [1, 2] # x 现在是列表

2. 变量命名规则

  • 只能包含 字母(a-z, A-Z)、数字(0-9)、下划线(_)
  • 不能以数字开头(如 1var 是无效的)。
  • 区分大小写(nameName 是不同的变量)。
  • 避免使用 Python 关键字(如 if, for, while 等)。

3. 多变量赋值

Python 支持同时给多个变量赋值:

python 复制代码
# 同时赋值多个变量 
a, b, c = 1, 2, 3 
print(a, b, c) # 输出: 1 2 3 

# 交换变量值 
x, y = 10, 20 
x, y = y, x 
print(x, y) # 输出: 20 10

# 多个变量赋相同值 
p = q = r = 100 
print(p, q, r) # 输出: 100 100 100

4. 变量类型检查

可以使用 type() 函数查看变量类型:

python 复制代码
x = 42 
print(type(x)) # <class 'int'> 
y = "Hello"
print(type(y)) # <class 'str'> 
z = [1, 2, 3] 
print(type(z)) # <class 'list'>

5. 变量删除

使用 del 删除变量:

python 复制代码
x = 10 
print(x) # 输出: 10 
del x print(x) # 报错: NameError: name 'x' is not defined

6. 变量作用域

Python 变量有不同的作用域:

  • 局部变量:在函数内部定义,仅在函数内有效。
  • 全局变量:在函数外部定义,整个文件有效。
  • global 关键字:在函数内修改全局变量。
python 复制代码
# 全局变量
global_var = "I'm global" 
def my_func(): 
    # 局部变量 
    local_var = "I'm local" 
    print(local_var) 
    
    # 修改全局变量 
    global global_var 
    global_var = "Modified global" 
my_func()
print(global_var) # 输出: Modified global 
# print(local_var) # 报错: local_var 未定义

7. 变量解包

可以从序列(如列表、元组)解包赋值给变量:

python 复制代码
# 列表解包 
values = [1, 2, 3] 
a, b, c = values 
print(a, b, c) # 输出: 1 2 3 
# 元组解包 
coordinates = (10.0, 20.0) 
x, y = coordinates print(x, y) # 输出: 10.0 20.0

总结

特性 说明
动态类型 变量可以随时指向不同类型的数据
命名规则 字母、数字、下划线,不能以数字开头
多赋值 a, b = 1, 2x = y = z = 10
类型检查 type(var) 查看变量类型
删除变量 del var
作用域 局部变量、全局变量、global 关键字
常量 全大写变量名(如 PI = 3.14
解包 从列表/元组解包赋值
相关推荐
测试老哥3 小时前
接口自动化测试分层设计与实践总结
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
大模型码小白3 小时前
企业级检索增强后端集成:Java 服务如何管理知识库版本
java·服务器·开发语言·人工智能·python·microsoft
农村小镇哥3 小时前
Python3开发快速获取图片的文字
开发语言·python
FriendshipT4 小时前
Ultralytics:解读Proto模块
人工智能·pytorch·python·深度学习·目标检测
zhiSiBuYu05174 小时前
Python3 循环语句新手实战指南
python
ShirleyWang0124 小时前
Day02 K3s NGF(Nginx Gateway Fabric)单 Worker 环境网关更新与故障处置 SOP
linux·服务器·python·k8s·k3s
ZDQNFU4 小时前
ORM之SQLAlchemy教程
后端·python
jeffzhengye4 小时前
Claude-Real-Video:让 Claude 真正看懂视频,0 Token 成本
python·微信
IT知识分享4 小时前
WebP转JPG开发经验:从格式解码到本地批量转换的实践
javascript·python·图片转换
小柯南敲键盘4 小时前
Temu多语言商品图翻译实现方案
人工智能·python