python中的变量命名规则详情

 更新时间:2022年03月18日 10:49:57   作者:Steven迪文  
这篇文章主要介绍了python中的变量命名规则详情,变量名可以包括字母、数字、下划线,但是数字不能做为开头,变量用的好或不好,和代码质量有着非常重要的联系,合理的使用变量,可以让你的代码可读性更高并且更加简洁,下面相关内容吧需要的小伙伴可以参考一下

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

同一段代码内不要使用过于相似的变量名,比如同时出现 usersusers1user3

不要使用带否定含义的变量名,用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 准则。

漂亮总比难看好。
显性比隐性好。
简单比复杂好。
复杂比复杂好。
平的比嵌套的好。
疏比密好。
可读性。
特殊情况并不特别到足以打破规则。
尽管实用性胜过纯洁。
错误不应该悄无声息地过去。
除非显式地沉默。
面对模棱两可,拒绝猜测的诱惑。
应该有一种——最好只有一种——明显的方法来做这件事。
除非你是荷兰人,否则这种方式一开始可能并不明显。
现在做总比不做好。
虽然永远不做总是比现在好。
如果实现很难解释,那就不是一个好主意。
如果实现易于解释,那么它可能是个好主意。

到此这篇关于python中的变量命名规则详情的文章就介绍到这了,更多相关python变量命名内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python自动化处理Excel数据的操作过程

    Python自动化处理Excel数据的操作过程

    在实际数据处理和分析过程中,经常会遇到需要从大量数据中提取出特定日期范围内的信息的需求,本文将介绍如何使用Python的pandas库来处理Excel文件,感兴趣的朋友跟随小编一起看看吧
    2023-11-11
  • Python中解析JSON并同时进行自定义编码处理实例

    Python中解析JSON并同时进行自定义编码处理实例

    这篇文章主要介绍了Python中解析JSON并同时进行自定义编码处理实例,需要的朋友可以参考下
    2015-02-02
  • pandas中groupby操作实现

    pandas中groupby操作实现

    本文主要介绍了pandas中groupby操作实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 深入了解Python二维直方图

    深入了解Python二维直方图

    只统计像素的灰度值这一特征,可将其成为一维直方图。二维直方图可以统计像素的色相和饱和度,用于查找图像的颜色直方图。本文将为大家介绍分别使用OpenCV和NumPy函数计算直方图,需要的可以学习一下
    2021-12-12
  • Python面向对象思想与应用入门教程【类与对象】

    Python面向对象思想与应用入门教程【类与对象】

    这篇文章主要介绍了Python面向对象思想与应用,较为详细的分析了Python面向对象思想与原理,并结合实例形式分析了类与对象相关定义、用法及操作注意事项,需要的朋友可以参考下
    2019-04-04
  • python传参时一个星号和两个星号的区别小结

    python传参时一个星号和两个星号的区别小结

    在Python中,一个星号(*)和两个星号(**)用于函数定义中的参数传递,本文主要介绍了python传参时一个星号和两个星号的区别小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Python+Tkinter制作股票数据抓取小程序

    Python+Tkinter制作股票数据抓取小程序

    这篇文章主要为大家详细介绍了如何实现一个Tkinter GUI程序,完成无代码股票抓取!文中的示例代码讲解详细,快跟小编一起动手试一试吧
    2022-08-08
  • scrapy框架中用ssh连接远程服务器的实现

    scrapy框架中用ssh连接远程服务器的实现

    本文主要介绍了scrapy 框架中用ssh连接远程服务器的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • Python实现快速计算24点游戏的示例代码

    Python实现快速计算24点游戏的示例代码

    这篇文章主要为大家详细介绍了Python如何实现快速计算24点游戏并获取表达式,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-12-12
  • python使用BeautifulSoup分页网页中超链接的方法

    python使用BeautifulSoup分页网页中超链接的方法

    这篇文章主要介绍了python使用BeautifulSoup分页网页中超链接的方法,涉及Python使用BeautifulSoup模块操作网页链接的技巧,需要的朋友可以参考下
    2015-04-04

最新评论