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
解包 从列表/元组解包赋值
相关推荐
爬虫程序猿10 小时前
用 Python 给京东商品详情做“全身 CT”——可量产、可扩展的爬虫实战
开发语言·爬虫·python
诗句藏于尽头10 小时前
自动签到之实现掘金模拟签到
python·1024程序员节
蓝纹绿茶12 小时前
bash:**:pip:***python: 错误的解释器: 没有那个文件或目录
开发语言·python·pip
START_GAME13 小时前
深度学习Diffusers:用 DiffusionPipeline 实现图像生成
开发语言·python·深度学习
Deamon Tree13 小时前
后端开发常用Linux命令
linux·运维·python
卡卡恩15 小时前
使用uv创建系统全局python执行环境
python
查士丁尼·绵15 小时前
笔试-座位调整
python
飞翔的佩奇15 小时前
【完整源码+数据集+部署教程】【运动的&足球】足球场地区域图像分割系统源码&数据集全套:改进yolo11-RFAConv
前端·python·yolo·计算机视觉·数据集·yolo11·足球场地区域图像分割系统
MYX_30916 小时前
第四章 多层感知机
开发语言·python
盼哥PyAI实验室17 小时前
《Python爬虫 + 飞书自动化上传》全流程详细讲解
爬虫·python·飞书