当前位置: 首页 > news >正文

Python中的常量和变量分别是怎么定义的?

在Python中,常量和变量的定义方式和使用场景有所不同,下面我用通俗易懂的方式解释它们的区别和定义方法:


1. 变量(Variable)

定义:可以随时修改的值
特点:像便签贴,可以随时更换内容
命名规范:通常用小写字母和下划线(如 user_name

# 定义变量(直接赋值即可)
age = 25           # 整数变量
price = 9.99       # 浮点数变量
name = "张三"      # 字符串变量
is_active = True   # 布尔变量# 变量可以随时修改
age = 26           # 修改age的值
print(age)         # 输出: 26

2. 常量(Constant)

定义:程序运行期间不应被修改的值
特点:像刻在石头上的字,约定俗成不可变
命名规范:全大写字母和下划线(如 MAX_SPEED

# 定义常量(Python没有真正的常量,靠约定)
PI = 3.1415926      # 数学常数
MAX_USERS = 100     # 最大用户数
DEFAULT_TIMEOUT = 30 # 默认超时时间# 技术上可以修改(但不应该这样做!)
PI = 3.14  # 能运行,但违反约定

关键区别对比表

特性变量常量
可变性可以随时修改不应该修改(约定俗成)
命名风格lower_case_with_underscoresUPPER_CASE_WITH_UNDERSCORES
内存占用可动态变化固定不变
典型用途存储临时数据存储配置参数/固定值

3. 高级用法

(1)用枚举实现真常量(推荐)
from enum import Enumclass Constants(Enum):PI = 3.1415926MAX_USERS = 100# 使用方式(真正不可修改)
print(Constants.PI.value)  # 输出: 3.1415926
Constants.PI = 3.14       # 报错: AttributeError
(2)用元组模拟常量
CONSTANTS = (3.1415926, 100, 30)
PI, MAX_USERS, TIMEOUT = CONSTANTS# 尝试修改会报错
CONSTANTS[0] = 3.14  # TypeError: 'tuple' object does not support item assignment

4. 使用建议

  1. 变量:用于需要频繁变化的数据(如循环计数器、用户输入)
  2. 常量:用于不会改变的值(如数学常数、配置参数)
  3. 重要原则
    • 变量名要有描述性(如 student_countn 好)
    • 常量名全大写并放在文件顶部(方便管理和修改)

一句话总结

  • 变量:会变的量(如 count = 0
  • 常量:不变的量(如 PI = 3.14,靠命名约定实现)
  • 需要严格常量时用 枚举元组
http://www.xdnf.cn/news/567145.html

相关文章:

  • 【QT】在界面A打开界面B时,界面A隐藏,界面B关闭时,界面A复现
  • chromedp -—— 基于 go 的自动化操作浏览器库
  • Redis 的 key 的过期策略是怎么实现的
  • Redis String 设计思想深度解析
  • 系统架构设计师案例分析题——数据库缓存篇
  • 解除diffusers库的prompt长度限制(SDXL版)
  • ArcGIS Pro 3.4 二次开发 - 核心主机
  • Linux yq 命令使用详解
  • 【Qt】QImage实战
  • 一文读懂迁移学习:从理论到实践
  • Git Clone 原理详解:为什么它比本地文件复制更快? -优雅草卓伊凡
  • word格式相关问题
  • C语言——函数递归与迭代
  • 微调后的模型保存与加载
  • Android13 wifi设置国家码详解
  • 结课作业01. 用户空间 MPU6050 体感鼠标驱动程序
  • SuperVINS:应对挑战性成像条件的实时视觉-惯性SLAM框架【全流程配置与测试!!!】【2025最新版!!!!】
  • flink 提交流程
  • 基于Flink的数据中台管理平台
  • CNN手写数字识别/全套源码+注释可直接运行
  • 基于moonshot模型的Dify大语言模型应用开发核心场景
  • 如何成为更好的自己?
  • AI智能分析网关V4玩手机检测算法精准管控人员手机行为,搭建智慧化安防监管体系
  • iOS 15.4.1 TrollStore(巨魔商店)安装教程详解:第二篇
  • Ubuntu学习记录
  • vscode打开vue + element项目
  • ADB常用语句
  • springboot 1.x2.x依赖spring版本
  • 初识Linux · 五种IO模型和非阻塞IO
  • Flink基本理解