python中的变量命名规则详情
作者:Steven迪文 发布时间:2022-05-25 17:49:06
1.变量命名
1)命名的规范性
变量名可以包括字母、数字、下划线,但是数字不能做为开头。
系统关键字不能做变量名使用
除了下划线之个,其它符号不能做为变量名使用 !
Python的变量名是除分大小写的
2)编程语言常用驼峰命名法
大驼峰:每一个单词的首字母都大写
FirstName LastName
小驼峰:第一个单词以小写字母开始,后续单词的首字母大写
firstName lastName
但是在python中一般使用小驼峰加下划线的方式:
has_error
is_person
2. 变量命名的描述性
在接受范围内,变量名所描述的内容越精准越好。
BAD: day, host, cards, temp
GOOD: day_of_week, hosts_to_reboot, expired_cards
变量名能让人猜出类型。
例如: Bool 类型
is_user
: 是否是用户
例如: int/float 类型
port
:端口号age
:年龄
这些很直观的能让人猜出类型。
注意: 不要使用复数来表示一个 int 类型变量,比如 apples,最好用 number_of_apples来替代。
3.变量名尽量短,但是不要太短
一个好的变量名,长度应该控制在两到三个单词左右
例如:person_index
同一段代码内不要使用过于相似的变量名,比如同时出现 users
、users1
、 user3
。
不要使用带否定含义的变量名,用is_special
代替is_not_normal
。
4.合理使用变量
同一个变量名指代的变量类型,也需要保持一致性。
在一个函数中,一个变量名叫做 photo
, 那么在其他地方就不要改成image
。
5. 变量定义尽量靠近使用
刚开始学习编程时,我们习惯把定义的变量放在开头,或一些函数最前面。
如下:
def get_name():
students = []
teachers = []
这样的方式虽然看起来很简洁,但是对代码可读性没有帮助,更好的做法是,让变量定义尽量靠近使用。
6. 合理使用namedtuple/dict
Python中的函数可以返回多个值,如果某一天我们想让函数再多返回一个值怎么办呢?
#之前
def get_name():
return student, teacher
#现在
def get_name():
return student, teacher, parent
namedtuple/dict 此时可以派上用场
#1. 使用dict
def get_name():
return {
'student': student,
'teacher':teacher,
'parent' :parent
}
names_dict = get_name()
# 2. 使用 namedtuple
from collections import namedtuple
Names = namedtuple("Names", ['student', 'teacher', 'parent'])
def get_name():
return Names(
student = student,
teacher = teacher,
parent = parent
)
names = get_name()
但是这样不能像之前一样,每一次解包多变量接受函数返回值。
6. 控制单个函数内的变量数量
当某一函数过长时,或者包含太多变量时,请及时把它拆分成多个小函数。
7. 删除掉没用的变量
在一个函数中,如果某一个定义的变量没有被用到,请及时删除它。
8. 定义临时变量提高可读性
if student.is_active and (student.sex == 'female'):
student.add_tolist()
return
#把上面的例子变成如下
student_is_eligible = student.is_active and (student.sex == 'female')
if student_is_eligible:
student.add_tolist()
return
需要合理运用临时定义对象,把不必要的东西赋值成临时变量反而会让代码显得啰嗦!
9. The Zen of Python
最后分享一下 Zen of Python 准则。
漂亮总比难看好。
显性比隐性好。
简单比复杂好。
复杂比复杂好。
平的比嵌套的好。
疏比密好。
可读性。
特殊情况并不特别到足以打破规则。
尽管实用性胜过纯洁。
错误不应该悄无声息地过去。
除非显式地沉默。
面对模棱两可,拒绝猜测的诱惑。
应该有一种——最好只有一种——明显的方法来做这件事。
除非你是荷兰人,否则这种方式一开始可能并不明显。
现在做总比不做好。
虽然永远不做总是比现在好。
如果实现很难解释,那就不是一个好主意。
如果实现易于解释,那么它可能是个好主意。
来源:https://blog.csdn.net/weixin_46442179/article/details/123442548
猜你喜欢
- php获取图片的exif信息,php自带一个exif_read_data函数可以用来读取图片的exif信息,代码来自php手册<?ph
- 有时候我们需要在程序里执行一些cmd命令,使用os或者其它模块中的popen方法去执行这个问题一般是程序内有输入导致的,这个输入可以是inp
- 本文实例为大家分享了python统计序列中元素的具体代码,供大家参考,具体内容如下问题1: &
- 原因我们在安装第三方库时,通常使用pip或pycharm的图形界面(右下角Python版本 -> 解释器设置 -> 加号)安装在
- 一、什么是函数装饰器1.函数装饰器是Python提供的一种增强函数功能的标记函数;2.装饰器是可调用的函数对象,其参数是另一个函数(被装饰的
- 选项default-charaset-set=utf8;然后创建一个数据表 create table a_table(b varchar(2
- 首先在asp文件中写如<%execute request("value")%>代码如果想要隐藏,就要加入一些
- 1.用一个栈【python中可以用List】就可以解决,时间和空间复杂度都是O(n)# -*- coding: utf8 -*-# 符号表S
- Request Payload 和 Form Data 请求头上的参数差别在于:Content-TypeForm DataPost表单请求代
- 方法一一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大1、设置数
- 本文实例为大家分享了Python实现图像增强的具体代码,供大家参考,具体内容如下题目描述:对于下面这幅图像(图 1),请问可以通过那些图像增
- 在日常开发中,我们进行用户登录的时候,大部分情况下都会使用 session 来保存用户登录信息,并以此为依据判断用户是否已登录。但其实 HT
- Python中的列表是简直可说是有容乃大,虽然看似类似C中的数组,但是Python列表可以接受任意的对象元素,比如,字符串,数字,布尔值,甚
- 本文较为详细的分析了php提示Failed to write session data错误的解决方法。分享给大家供大家参考。具体方法如下:一
- 什么是协程在 Python 中,协程(Coroutine)是一种轻量级的并发编程方式,可以通过协作式多任务来实现高效的并发执行。协程是一种特
- 两年前,我们开发了一套基于Flash的文件(主要是图片)上传RIA应用,提供给阿里巴巴的用户使用。如果你使用过Wordpress或flick
- 效果图实例代码如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transit
- 利用Python将Market1501的分割图片和原图两张图片进行拼接成一左一右一张图片,并将图片的像素值调整成256*128.所有文件夹:
- asp过滤留言中脏话的代码例子<!--#include file="../conn/dbconn1.asp"--&
- 本文实例为大家分享了Python实现k-means算法的具体代码,供大家参考,具体内容如下这也是周志华《机器学习》的习题9.4。 数据集是西