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
解包 从列表/元组解包赋值
相关推荐
【建模先锋】12 小时前
基于Python的智能故障诊断系统 | SmartDiag AI (基础版)V1.0 正式发布!
开发语言·人工智能·python·故障诊断·智能分析平台·大数据分析平台·智能故障诊断系统
AIsdhuang12 小时前
2025 年企业 AI 培训精选指南:聚焦企业培训场景
人工智能·python
今天没有盐12 小时前
Python 数据分析实战:多场景数据处理与可视化全解析
python·pycharm·编程语言
程序员三藏12 小时前
如何用Postman做接口自动化测试?
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman
n***271912 小时前
JAVA (Springboot) i18n国际化语言配置
java·spring boot·python
心无旁骛~12 小时前
python多进程multiprocessing——spawn启动方式解析
开发语言·python
家家小迷弟13 小时前
docker容器内部安装python和numpy的方法
python·docker·numpy
conkl13 小时前
Python中的鸭子类型:理解动态类型的力量
开发语言·python·动态·鸭子类型·动态类型规划
故事挺秃然13 小时前
Python异步(Asyncio)(一)
服务器·网络·python
大飞记Python13 小时前
【2025全攻略】PyCharm专业版 / 社区版如何打开.db 数据库文件
数据库·python·sql·pycharm