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 是无效的)。
  • 区分大小写(name 和 Name 是不同的变量)。
  • 避免使用 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, 2 或 x = y = z = 10
类型检查 type(var) 查看变量类型
删除变量 del var
作用域 局部变量、全局变量、global 关键字
常量 全大写变量名(如 PI = 3.14)
解包 从列表/元组解包赋值
相关推荐
前端精髓8 小时前
结构化输出with_structured_output(抽卡)
python·langchain
尹人入圣8 小时前
目前热门的IP驱动产业新场景新工具
网络·python·网络协议·tcp/ip
Nuanyt9 小时前
Agent 学习笔记(下篇三):上线工程、进阶选择与操作界面(Stage 7 / 7.5 / 8 + 延伸路线)
笔记·python·学习·memory·aiagent·harness
吴卫斌9 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
2601_9679873710 小时前
Python——入门级(定义功能def函数)
python·函数·可变参数·默认参数·关键字参数
专注仿真12 小时前
梯度提升类(XFBoost)算法详解与代码实例
开发语言·人工智能·python·算法·大模型训练·控制算法
外收内放12 小时前
Python基础语法练习题(75)
开发语言·python·学习
黑十13 小时前
PyTorch 报 “no CUDA GPUs are available“ 怎么办?3 步排查
服务器·网络·人工智能·pytorch·python
threelab14 小时前
开源图片去水印代码
python
taller_200015 小时前
【012】数据类型入门: Excel 数据到 Python 值的转换
python·excel·pie·py