python语言变量命名规则有什么_Python变量命名规则(超级详细)

python语言变量命名规则有什么_Python变量命名规则(超级详细)Python需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。Python语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目的字母、数字和下画线(_)。此处的字母并不局限于26个英文字母,可以包含中文字符、日文字符等。由于Python3支持UTF-8字符集,因此Python3的标识符可以使用UTF-8…

大家好,又见面了,我是你们的朋友全栈君。

Python 需要使用标识符给变量命名,其实标识符就是用于给程序中变量、类、方法命名的符号(简单来说,标识符就是合法的名字)。

Python 语言的标识符必须以字母、下画线(_)开头,后面可以跟任意数目的字母、数字和下画线(_)。此处的字母并不局限于 26 个英文字母,可以包含中文字符、日文字符等。

由于 Python 3 支持 UTF-8 字符集,因此 Python 3 的标识符可以使用 UTF-8 所能表示的多种语言的字符。Python 语言是区分大小写的,因此 abc 和 Abc 是两个不同的标识符。

Python 2.x 对中文支持较差,如果要在 Python 2.x 程序中使用中文字符或中文变量,则需要在 Python 源程序的第一行增加“#coding:utf-8”,当然别忘了将源文件保存为 UTF-8 字符集。

在使用标识符时,需要注意如下规则:

标识符可以由字母、数字、下画线(_)组成,其中数字不能打头。

标识符不能是 Python 关键字,但可以包含关键字。

标识符不能包含空格。

例如下面变量,有些是合法的,有些是不合法的:

abc_xyz:合法。

HelloWorld:合法。

abc:合法。

xyz#abc:不合法,标识符中不允许出现“#”号。

abc1:合法。

1abc:不合法,标识符不允许数字开头。

Python 的关键字和内置函数

Python 还包含一系列关键字和内置函数,一般也不建议使用它们作为变量名:

如果开发者尝试使用关键字作为变量名,Python 解释器会报错。

如果开发者使用内置函数的名字作为变量名,Python 解释器倒不会报错,只是该内置函数就被这个变量覆盖了,该内置函数就不能使用了。

Python 包含了如表 1 所示的关键字:

表 1 Python 关键字

False

None

True

and

as

assert

break

class

continue

def

del

elif

else

except

finally

for

from

global

if

import

in

is

lambda

nonlocal

not

or

pass

raise

return

try

while

with

yield

实际上 Python 非常方便,开发者可以通过 Python 程序来查看它所包含的关键字。例如,对于如下程序:

#导入keyword 模块 import keyword #显示所有关键字 keyword.kwlist

从上面代码可以看出,程序只要先导入 keyword 模块,然后调用 keyword.kwlist 即可查看 Python 包含的所有关键字。运行上面程序,可以看到如下输出结果:

[‘False’,’None’,’True’,’and’,’as’,’assert’,’break’,’class’,’continue’,’def’,’del’,’elif’,’else’,’except’,’finally’,’for’,’from’,’global’,’if’,’import’,’in’,’is’,’lambda’,’nonlocal’,’not’,’or’,’pass’,’raise’,’return’,’try’,’while’,’With’,’yield’]

上面这些关键字都不能作为变量名。

此外,Python 3 还提供了如表 2 所示的内置函数。

表 2 Python内置函数

abs()

all()

any()

basestring()

bin()

bool()

bytearray()

callable()

chr()

classmethod()

cmp()

compile()

complex()

delattr()

dict()

dir()

divmod()

enumerate()

eval()

execfile()

file()

filter()

float()

format()

frozenset()

getattr()

globals()

hasattr()

hash()

help()

hex()

id()

input()

int()

isinstance()

issubclass()

iter()

len()

list()

locals()

long()

map()

max()

memoryview()

min()

next()

object()

oct()

open()

ord()

pow()

print()

property()

range()

raw_input()

reduce()

reload()

repr()

reversed()

zip()

round()

set()

setattr()

slice()

sorted()

staticmethod()

str()

sum()

super()

tuple()

type()

unichr()

unicode()

vars()

xrange()

Zip()

__import__()

apply()

buffer()

coerce()

intern

上面这些内置函数的名字也不应该作为标识符,否则 Python 的内置函数会被覆盖。

注意:在 Python 2.x 中,print 是关键字而不是函数。上面这些内置函数(如 unicode())只是 Python 2.x 的内置函数,为了保证 Python 程序具有更好的兼容性,程序也不应该使用这些内置函数的名字作为标识符。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135708.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql databasemetadata_DatabaseMetaData和ResultSetMetaData接口获取元数据的方法

    mysql databasemetadata_DatabaseMetaData和ResultSetMetaData接口获取元数据的方法DatabaseMeta 和 ResultSetMet 就是两个常用的获取数据库元数据相关信息的接口 本文讲解 DatabaseMeta 和 ResultSetMet 接口获取元数据的方法 packagewww wlkankan com importjava sql Connection importjava sql DatabaseMeta importja

    2025年8月31日
    0
  • Java Calendar类详解

    Java Calendar类详解原文这里。究竟什么是一个Calendar呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分。它们的区别在哪呢?比如有:月份的定义-阳`(公)历一年12个月,每个月的天数各不同;阴(农)历,每个月固定28天每周的第一天-阳(公)历星期日是第一天;阴(农)历,星期一是第一天实际上,在历史上有着许多种纪元的方法。它们的差异实在太大了,比如说一

    2022年6月10日
    27
  • 【西安xxx面经】

    【西安xxx面经】我是在线下一天面完的,总共有五面。一面:自我介绍,问题基本上都是根据简历上问的,我简历上写了算法和数据结构所以问题都是和这些相关。一面有两个面试官,先问了面向对象的思想,面向对象的三大特性,分别解释一下。然后就是数据结构方面的知识:栈,队列,哈希表,如果数据很多的话用哈希表怎么存储。手撕二分,然后手撕一个关于链表的题:现在有很多节点,每个节点都有它在链表中的编号,现在要按照编号将这个链表复原。(因为面试官没有c++环境,所以我用的记事本编程,需要讲出来思路,每一句的作用)。面试体验:两个面试官还是有压力

    2022年5月15日
    28
  • W25Q128FV译文(二)

    该文章包括W25Q128FV译文的第7章状态寄存器翻译及第八章指令部分翻译链接,第1章至第六章翻译链接:https://blog.csdn.net/z123canghai/article/details/88700489第八章指令剩余部分及第九章相关时序翻译链接:https://blog.csdn.net/z123canghai/article/details/88727413目录…

    2022年4月6日
    46
  • 软件测试(3) UFT12使用_GUITest

    软件测试(3) UFT12使用_GUITest环境:UFT12,Win10,VS2015&VS2017启动UFT12,为了启动方便修改快捷方式。设置插件,WPF相关的都设置起来。新建项目点击录制按钮(F6),设置启动程序。确定,开始录制。程序启动,显示登录界面。操作:切换IP,点击按钮,登录。点击工具栏按钮,停止录制。点击运行按钮(F5)。

    2022年5月27日
    62
  • 1277. 统计全为 1 的正方形子矩阵(动态规划)

    1277. 统计全为 1 的正方形子矩阵(动态规划)给你一个 m * n 的矩阵,矩阵中的元素不是 0 就是 1,请你统计并返回其中完全由 1 组成的 正方形 子矩阵的个数。示例 1:输入:matrix =[ [0,1,1,1], [1,1,1,1], [0,1,1,1]]输出:15解释: 边长为 1 的正方形有 10 个。边长为 2 的正方形有 4 个。边长为 3 的正方形有 1 个。正方形的总数 = 10 + 4 + 1 = 15.示例 2:输入:matrix = [ [1,0,1], [1,1,0],

    2022年8月9日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号