python下划线与命名规范(python中下划线的用法)

发布时间:2022-11-09

本文目录一览:

  1. python 变量下划线命名规则
  2. python命名规则是什么?
  3. python变量名的命名规则

python 变量下划线命名规则

单下划线和双下划线在Python变量、类、模块命名中都有不同的含义。名称中各有其用途。有些是程序员之间约定俗成的,Python解释器不会强制执行,但有些解释器会强制执行。 本文从以下几种不同使用方式,对下划线的用途和含义进行说明:

1)变量

通常用于类内部变量的命名,表明该变量是类私用变量,外部不要去访问它,但也是可以访问到的。这只是程序员之间的一个约定俗成的做法,Python解释器本身不会对它进行限制。 我们创建一个类:

class A:
    def __init__(self):
        self._bar = 2

实例化A,并访问它的变量:

aa = A()
print(aa._bar)  # 可以访问

虽然可以访问,但既然人家这么命名了,外部最好不要去访问。

2)函数和模块

和变量一样,这是一个私有函数,不建议外部程序调用该函数。 我们创建一个脚本aa.py,里面有2个函数 _aabb

# aa.py
def _aa():
    print("private function")
def bb():
    print("public function")

导入aa,分别调用函数 _aabb

import aa
aa.bb()  # 可以调用
aa._aa()  # 会提示找不到

3)类

同变量和函数一样,都是私有变量,外部最好不要调用。 用来避免和Python内置函数命名产生冲突,PEP8解释了这个约定。 如 classdef 不能用作Python中的变量名称,如果直接使用,会提示错误。如果你非要用它,可以使用 class_def_。 还有一些函数名,如 chrchr() 是Python内置函数,用来表示ASCII码对应的字符,输入是数字,可以用十进制,也可以用十六进制。如果你非要它来表示染色体,可以用 chr_ 来代替。当然如果你直接使用它作为变量名,它也不会报错,但最好不要这样使用。 在 Python 中定义私有变量只需要在变量名或函数名前加上 "__"(两个下划线),那么这个函数或变量就会成为私有的了。 在内部,Python 使用一种 name mangling 技术,将 __var 替换成 _classname__var,因此在外部调用 __var 会找不到,代替它的是 _classname__var。这种处理方式叫做名称修饰(name mangling):解释器更改变量的名称,以便在类被扩展的时候不容易产生冲突。 由双下划线前缀和后缀包围的变量,不会应用名称修饰,因此不会被Python解释器修改: 我们创建一个类 B

class B:
    def __init__(self):
        self.__aa__ = 100

使用 dir() 查看类的所有属性:

b = B()
print(dir(b))  # 发现存在 __aa__

但是,Python保留了有双前导和双末尾下划线的名称,用于特殊用途。如,__init__ 对象构造函数,或 __call__ 它使得一个对象可以被调用。因此我们尽量不要使用这种方式命名变量,以免和Python解释器内置的函数发生冲突。 _ 不加任何其他字符,单独作为一个名字,用来表示某个临时的或者无关紧要的变量。

举例1:表示一个临时变量

在下面的循环中,我们不需要获取循环的索引,只是打印 n 行 'Hello World',可以用 "_" 来表示它只是一个临时值:

for _ in range(10):
    print("Hello World")

举例2:表示一个不关心的变量

仅仅是个占位符变量,用来占位。例如 mlist 列表中,我只想获得第1、2、4位的变量,那第3和第5可以用 _ 来占位:

mlist = [1, 2, 3, 4, 5]
a, b, _, c, _ = mlist
print(a, b, c)  # 输出 1 2 4

举例3:表示由解释器评估的最近一个表达式的结果

方便进行查看:

>>> 3 + 4
7
>>> _
7

python命名规则是什么?

Python命名规则是:

  1. 可以由字母、数字、下划线组成,同时,不能以数字开头。
  2. 不能是Python关键字,但可以包含关键字。
  3. 不能包含空格。例如:a1c_x2z。 Python需要使用标识符给变量命名。 Python特点主要有以下几个方面:
  4. 简单:Python是一种代表简单主义思想的语言。阅读一个良好的Python程序就感觉像是在读英语一样。它使你能够专注于解决问题而不是去搞明白语言本身。
  5. 易学:Python极其容易上手,因为Python有极其简单的说明文档。
  6. 速度快:Python的底层是用C语言写的,很多标准库和第三方库也都是用C写的,运行速度非常快。

python变量名的命名规则

Python语言变量命名规则:变量名只能包含字母、数字和下划线。

  • 变量名可以字母或下划线开头,但不能以数字开头。
  • 例如,可将变量命名为 message_1,但不能将其命名为 1_message
  • 变量名不能包含空格,但可使用下划线来分隔其中的单词。
  • 以下示例,变量名 greeting_message 可行,但变量名 greetingmessage 会引发错误。 不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词,如 print。变量名应既简短又具有描述性。慎用小写字母 l 和大写字母 O,因为它们可能被人错看成数字 10

注意:应使用小写的Python变量名。

驼峰命名法

当变量名是由两个或多个单词组成时,还可以利用驼峰命名法来命名。

  • 小驼峰式命名法:第一个单词以小写字母开始,后续单词的首字母大写。例如:userName
  • 大驼峰式命名法:每一个单词的首字母都采用大写字母。例如:UserName