Python变量命名应使用snake_case,真实反映数据含义,布尔变量加is_/has_/can_前缀,列表用复数名,常量全大写,避免关键字、内置名及单字符命名。
Python变量命名不是随便起个名字就行,核心是让别人(包括未来的你)一眼看懂它存的是什么,同时符合Python社区普遍接受的风格习惯。
这是PEP 8官方推荐的变量和函数命名方式,清晰、易读、无歧义。
user_name、max_retries、is_active、total_price_in_usd
userName(驼峰式,适合Java/JS)、USERNAME(全大写,通常用于常量)、1st_name(不能以数字开头)、class(关键字不能用)别为
了省字符牺牲可读性。缩写仅在广泛公认时可用(如id、url、num),否则宁可写全。
customer_order_count、is_email_verified、api_response_data
cnt(count?contact?)、tmp(临时什么?)、data(太泛,没信息量)不用类型注解时,名字本身可以传递重要线索:
is_、has_、can_等前缀:is_logged_in、has_permission
user_ids、error_messages(而不是user_id_list)MAX_RETRY_ATTEMPTS、API_TIMEOUT_SEC
有些命名看似没问题,实际会埋坑:
i、j、k等极短作用域外):x、v、l(易与数字1混淆)str、list、dict、id——会覆盖原功能,引发隐蔽bug用户名、yonghu_ming——影响协作、工具兼容性和编码一致性好名字不是一蹴而就,多读优秀开源项目(比如requests、flask源码)里的变量名,慢慢就形成直觉了。不复杂但容易忽略。