☰ 目录

Python 变量详解

变量是编程中存储数据的基本单元,相当于给数据贴标签。Python 变量具有动态类型特性(无需声明类型),使用前必须赋值。


核心概念

  1. 变量赋值

name = "Alice"      # 字符串
age = 30            # 整数
height = 1.75       # 浮点数
is_student = True   # 布尔值

变量命名规则

  • 包含字母、数字、下划线(不能以数字开头)

  • 区分大小写:myVarmyvar

  • 禁止使用关键字(如 if, for, while

  • 推荐蛇形命名法:user_name(而非驼峰式 userNam

动态类型特性

x = 10        # x 是整数
print(x)      # 输出: 10

x = "Hello"   # x 变成字符串
print(x)      # 输出: Hello

多重赋值技巧

# 同时赋值多个变量
a, b, c = 1, 2.5, "Python"

# 变量交换(无需临时变量)
x, y = 10, 20
x, y = y, x    # 交换后 x=20, y=10

# 链式赋值
p = q = r = 100  # 三个变量指向同一值

变量类型与操作

数据类型示例特点
整数 intcount = 100支持大数计算
浮点数 floatpi = 3.14159可能存在精度误差
字符串 strtext = "Hello"不可变序列
布尔 boolflag = True值为 True/False
列表 listcolors = ['红','绿','蓝']可变有序集合
元组 tuplepoint = (3, 5)不可变有序集合
字典 dictuser = {'name': 'Tom', 'age': 20}键值对集合

内存管理机制

a = [1, 2, 3]
b = a        # b 和 a 指向同一内存地址
b.append(4)
print(a)     # 输出: [1, 2, 3, 4](因为修改的是同一对象)

# 创建独立副本
c = a[:]     # 或 a.copy()
c.append(5)
print(a)     # 输出: [1, 2, 3, 4](不变)
print(c)     # 输出: [1, 2, 3, 4, 5]

作用域规则

作用域类型定义位置访问范围
局部变量函数内部仅在函数内有效
全局变量函数外部整个文件有效
nonlocal嵌套函数中在闭包函数间共享
global_var = "全局"

def test_scope():
    local_var = "局部"
    global global_var  # 声明使用全局变量
    global_var = "已修改"
    
test_scope()
print(global_var)  # 输出: 已修改
# print(local_var) # 报错:未定义

最佳实践

  1. 描述性命名

# 差
a = 10  
# 佳
student_count = 10

    2.避免保留字

# 错误
class = "A101"  
# 正确
class_name = "A101"

   3.常量用大写(约定)

MAX_USERS = 1000
PI = 3.1415926

  4.删除无用变量

temp_data = [ ... ]
del temp_data  # 释放内存

 

示例:变量类型转换

# 显式类型转换
num_str = "123"
num_int = int(num_str)   # 字符串→整数

price = 19.99
price_str = str(price)   # 浮点数→字符串

flag = 1
flag_bool = bool(flag)   # 整数→布尔值(0=False, 非0=True)

常见错误

  1. 未定义先使用

print(undefined_var)  # NameError

    2.拼写错误

user_name = "Bob"
print(user_nmae)      # NameError

   3.修改不可变对象

text = "Python"
text[0] = "J"         # TypeError

意见反馈

AI助手

代码编辑器