10、Python常量与赋值操作全解:链式赋值、解包赋值与内存管理实战

适合人群:零基础自学者 | 编程小白快速入门
阅读时长:约5分钟

一、问题:Python怎么命名常量?

1、例子1:正确命名常量

# Python
MAX_SPEED = 120
print(MAX_SPEED)  # 输出120
MAX_SPEED = 140  # 实际上是可以改的。只能逻辑上不做修改。
print(MAX_SPEED)  # 输出140

2、例子2:错误命名常量

# 错误案例1:小写命名(违反全大写规则)
max_speed = 120  
# 错误案例2:驼峰式命名(应使用下划线)
TaxRate = 0.05    
# 错误案例3:数字开头(非法标识符)
100_MB = "100MB"  
# 错误案例4:使用关键字
None = "空值"      # SyntaxError: cannot assign to None

3、答案:

(1)什么是常量

在这里插入图片描述

在这里插入图片描述

常量是程序运行期间值不可改变的量,用于存储固定数据(如数学常数π、配置参数等)。

(2)常量命名规则

常量命名规则:全大写字母,多个单词使用下划线隔开。如SPEED、MAX_SPEED

(3)⚠ 新手注意

Python语法不支持常量,即没有语法规则限制改变一个常量的值。我们只能约定常量的命名规则,以及在程序的逻辑上不对常量的值作出修改。

二、问题:Python的链式赋值?

1、例子1:链式赋值的内存共享机制

# Python
x = y = z = 100
print(id(x) == id(y) == id(z))  # 输出True → 共享同一对象

# 对比案例(超出小整数池范围)
a = b = c = 500
print(id(a) == id(b))  # 可能输出False(不同解释器实现差异)

2、答案:

(1)什么是链式赋值

在这里插入图片描述

链式赋值用于同一个对象赋值给多个变量。

三、问题:Python的系列解包赋值?

1、例子1:变量互换的魔法

使用系列解包赋值实现变量值的互换::

# Python
a, b = 10, "文本"
print(a, b)  # 输出 10, 文本
print(type(a), type(b))  # <int> <str>

# 交换原理:右侧先打包元组,再解包赋值
a, b = b, a  # 内存中创建临时元组(b,a)
print(a, b)  # 输出 文本, 10

2、答案:

(1)什么是系列解包赋值

系列解包赋值给对应相同个数的变量(个数必须保持一致)。a,b,c=4,5,6 相当于:a=4;b=5;c=6
多个变量在同一行定义,用分号 ; 隔开。print() 打印输出多个变量用 , 逗号隔开。

四、动手试一试

  1. 常量命名规范判断?
# 以下哪些是合法的常量命名?(多选)  
# A. MAX_LEN    B. TaxRate    C. USER_AGE    D. 100_MB  

print("你的答案:_____")

参考答案:A、C

  • A和C符合全大写+下划线的命名规则
  • B使用驼峰式(TaxRate),应全大写为TAX_RATE
  • D以数字开头,违反标识符命名规则
  1. 链式赋值内存验证。
# 观察变量地址是否相同  
x = y = []  
print("x的地址:", id(x))  
print("y的地址:", id(y))  # 输出:_____  

参考答案:输出结果: x和y的地址应该相同,如: 140708235392672


📢 互动区
👉 遇到问题?在评论区:

  1. 描述问题(带代码截图更好)
  2. 分享学习心得
  3. 给文章提建议

支持作者:点赞 | 收藏 | 关注
你的三连是我更新的最大动力!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值