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
解包 从列表/元组解包赋值
相关推荐
l1t9 分钟前
利用DeepSeek辅助WPS电子表格ET格式分析
人工智能·python·wps·插件·duckdb
WSSWWWSSW1 小时前
Matplotlib数据可视化实战:Matplotlib子图布局与管理入门
python·信息可视化·matplotlib
WSSWWWSSW1 小时前
Matplotlib数据可视化实战:Matplotlib图表美化与进阶教程
python·信息可视化·matplotlib
mftang1 小时前
Python可视化工具-Bokeh:动态显示数据
开发语言·python
Seeklike1 小时前
diffuxers学习--AutoPipeline
人工智能·python·stable diffusion·diffusers
前端小趴菜051 小时前
python - 数据类型
python
再吃一根胡萝卜2 小时前
使用 squashmigrations 命令优化 Django 迁移文件
python·django
逆向菜鸟2 小时前
【摧毁比特币】椭圆曲线象限细分求k-陈墨仙
python·算法
有梦想的攻城狮3 小时前
Java 11中的Collections类详解
java·windows·python·java11·collections