Python变量赋值疑问:修改Hr_Per_Day后min_per_day未更新原因
问题原因及解决办法
原因
Python的变量赋值是即时计算并存储结果,而非动态关联依赖。当你执行min_per_day = Hr_Per_Day * 60时,Python会立刻使用当时Hr_Per_Day的当前值(24)计算出1440,然后把这个固定数值存在min_per_day变量里。后续修改Hr_Per_Day的数值,不会自动触发min_per_day的重新计算——它只会保留之前存储的1440。
解决方法
方法1:手动重新计算
每次修改Hr_Per_Day后,重新执行计算语句更新min_per_day:
Hr_Per_Day = 24 min_per_day = Hr_Per_Day * 60 print(min_per_day) # 输出: 1440 Hr_Per_Day = 26 min_per_day = Hr_Per_Day * 60 # 重新执行计算 print(min_per_day) # 输出: 1560
方法2:用函数动态获取结果
定义一个函数,每次调用时都会使用最新的Hr_Per_Day值计算,避免手动重复代码:
Hr_Per_Day = 24 def calculate_min_per_day(): return Hr_Per_Day * 60 print(calculate_min_per_day()) # 输出: 1440 Hr_Per_Day = 26 print(calculate_min_per_day()) # 输出: 1560
内容的提问来源于stack exchange,提问作者Angelica White
相关产品推荐
相关产品推荐

