一文轻松掌握python语言命名规范规则

 更新时间:2020年06月18日 10:01:11   作者:梧桐雪  
这篇文章主要介绍了一文轻松掌握python语言命名规范规则,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

和C/C++、Java等语言一样,python在命名上也有一套约定俗成的规则,符合规范的命名可以让程序的可读性大大增加,从而使得代码的逻辑性增强,易于自己和其他协作者在以后的拓展中理解代码的意义,从而提高编写代码的效率。
我们在平常编写程序的时候需要注意以下几点:

一、python变量名命名的硬性规则

1.1. 变量名大小写敏感

python变量名区分大小写,也就是Student和student在python语言中代表两个不同的名字。

1.2. python的变量名字中可以包含英文、下划线、数字,但是不能以数字开头。

也就是说,student_id、student1、student_1、student、_student、_等都是合理的命名,但是1student就是非法的命名。

二、不同风格命名的变量代表不同的类型

与java中命名习惯使用驼峰命名法不同(有可能发明java的程序猿大哥不但喜欢喝爪哇岛的咖啡,也喜欢骑爪哇岛上的骆驼,哈哈),python变量命名一般采用蛇形命名法(毕竟python的本意就是大蟒蛇),也就是如果变量名由两个单词组成,那么使用下划线来连接这两个单词,比如student_id。当然,我们也会在python中看到类似驼峰命名法的变量名,对于专业的程序猿来说,这些命名都不是随便写的,他们符合一定的标准,下面总结以下:

2.1.模块(module)命名风格

模块尽量使用小写命名,首字母保持小写,尽量不要用下划线(除非多个单词,且数量不多的情况)

# 正确的模块名
import decoder
import html_parser

# 不推荐的模块名
import Decoder

2.2.类(class)的命名

类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

class Farm():
 pass

class AnimalFarm(Farm):
 pass

class _PrivateFarm(Farm):
 pass

2.3.函数(function)的命名

函数名一律小写,如有多个单词,用下划线隔开。

def run():
 pass

def run_with_env():
 pass

2.4.变量(variable)的命名

变量名尽量小写, 如有多个单词,用下划线隔开

if __name__ == '__main__':
 count = 0
 school_name = ''

2.5.常量(constant)的命名

如果我们想用一个符号来代表常量(值是不变的量,比如光速、π等),采用全部大写,如有多个单词,使用下划线隔开。

MAX_CLIENT = 100
MAX_CONNECTION = 1000
CONNECTION_TIMEOUT = 600

三、“下划线”开头的特殊命名

很多时候,我们在python的源代码中会看到下划线开头的变量,初学者看到这些变量会感觉怪怪的。确实,这些“_”开头的命名是具有特殊含义的:

3.1.单下划线开头的命名

  • 如果类变量以单下划线“_”开头,代表这个变量不能被直接访问,类似于C++中的protected型,这样的变量也不能被 import
  • module_name导入。
  • 使用单下划线(one underline)开头的方法,则表示该方法不是AP的一部分,不要直接访问(虽然语法上访问也没有什么问题)。

3.2.双下划线开头的命名

  • 以双下划线(two underlines)开头的类变量,表示为类的私有成员,不能被导入和其他类变量访问。
  • 对于类中的方法,使用双下划线开头开头表示子类不能覆写该方法。除非你真的知道你在干什么,否则不要使用这种方式。

3.3.双下划线开头并且双下划线结尾的命名

魔法方法:以双下划线开头和双下划线结尾的变量是Python的专用标识,有其特殊的身份。我们一般称这样的方法为“魔法方法”(magic method)。

  • 魔法方法是python内置方法,不需要主动调用,存在的目的是为了给python的解释器进行调用,几乎每个魔法方法都有一个对应的内置函数,或者运算符,当我们对这个对象使用这些函数或者运算符时就会调用类中的对应魔法方法,可以理解为重写这些python的内置函数。
  • 当你想让自己定义的对象也可以像Python内置的对象一样使用内置的一些函数或操作符(比如len、add、+、、==等)时,你可以定义该类方法。
  • 当然还有些属性只在末尾加了但下划线这仅仅是为了避免我们起的一些名字和Python保留关键字冲突,没有特殊含义。
  • 下划线变量(方法)的使用,往往和面向对象编程中类(class)的设计相关,更多更深入的知识,可以参考   这篇博客。当然,如果需要了解更多python编程规范,PEP8(Python Enhancement Proposal8)的官方文档是最佳的参考资料。

到此这篇关于一文轻松掌握python语言命名规范规则的文章就介绍到这了,更多相关python命名规范 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • python HTTP协议相关库requests urllib基础学习

    python HTTP协议相关库requests urllib基础学习

    这篇文章主要介绍了python HTTP协议相关库requests urllib基础学习,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • python opencv实现切变换 不裁减图片

    python opencv实现切变换 不裁减图片

    这篇文章主要为大家详细介绍了python opencv实现切变换,不裁减图片,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • python的pip有什么用

    python的pip有什么用

    在本篇文章里小编给大家整理的是关于python的pip作用等相关内容,有需要的朋友们可以学习下。
    2020-06-06
  • 使用Python给PDF添加目录书签的实现方法

    使用Python给PDF添加目录书签的实现方法

    有时下载到扫描版的 PDF 是不带书签目录的,这样阅读起来很不方便,下面通过 python 实现一个半自动化添加书签目录的脚本,文中通过代码介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2023-10-10
  • python如何运行js语句

    python如何运行js语句

    在本篇内容里小编给大家整理的是一篇关于python如何运行js语句的相关内容,有兴趣的朋友们可以参考下。
    2020-09-09
  • pycharm 如何查看某一函数源码的快捷键

    pycharm 如何查看某一函数源码的快捷键

    这篇文章主要介绍了在pycharm中实现查看某一函数源码的快捷键,具有很好的参考价值,希望能给大家做个参考,如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python制作钉钉加密/解密工具

    Python制作钉钉加密/解密工具

    本文给大家介绍的是使用Python实现钉钉的加密解密工具的核心代码,非常的实用,对于大家学习Python加密解密非常有帮助,希望大家能够喜欢
    2016-12-12
  • pygame实现成语填空游戏

    pygame实现成语填空游戏

    这篇文章主要介绍了pygame实现成语填空游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python实现web应用框架之增加动态路由

    python实现web应用框架之增加动态路由

    这篇文章主要介绍web应用框架如何添加动态路由,在我们编写的框架中,我们添加动态路由,是使用了正则表达式,同时在注册的时候,需要注明该路由是请求路由,文中有详细的代码示例,需要的朋友可以参考下
    2023-05-05
  • Django文件上传与下载(FileFlid)

    Django文件上传与下载(FileFlid)

    这篇文章主要为大家详细介绍了Django1.4文件上传与下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10

最新评论