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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsp内置对象总结

    jsp内置对象总结java 提供了预设的内置对象并内置在 jsp 的网页环境中 而且提供了编写 jsp 所需的基本功能 目前 jsp 中有 9 个隐含对象 分别为 request response out session application pageContext config page 和 exception 使用这些对象可以方便请求 响应或会话等信息 jsp 内置对象 request 取得客户端数据与系统的信息 respon

    2025年9月6日
    4
  • 数据库索引的作用和长处缺点

    数据库索引的作用和长处缺点

    2021年12月6日
    51
  • MapReduce编程初级实践_mapreduce的执行流程

    MapReduce编程初级实践_mapreduce的执行流程编程实现文件合并和去重操作对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。输入文件A的样例如下:20150101x20150102y20150103x20150104y…

    2025年6月15日
    4
  • VS2008安装失败_vs2015安装时发生严重错误

    VS2008安装失败_vs2015安装时发生严重错误因为前两天XML的作业时用VS2008做的,公司的电脑上没装,打算装一个,以前安装过N次VS2008,昨天在公司的电脑上安装提示如下错误:    当时以为是安装的同时打开了很多其他的应用程序导致的这个问题。今天在关闭其他程序的情况下重新安装,还是出错。    在百度上搜说是与office2007冲突,解决办法是卸载office2007再安装,但是我以前都是在安装

    2025年9月24日
    8
  • ESCMScript(1)let和const[通俗易懂]

    ESCMScript(1)let和const[通俗易懂]1.let命令基本语法ES6新增了let命令,用来声明变量。它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效。{leta=1varb=2console

    2022年7月30日
    13
  • 安卓市场2016_鼓励大胆猜想

    安卓市场2016_鼓励大胆猜想时至今日,但凡中国的手机设计公司,要没有android手机项目,那都不好意思说自己是搞手机的。智能机替代功能机,是大势所趋,在新的一年里,结合去年一年所看所思,大胆做出一点今年的市场猜想,欢迎大家批评指教1.硬件性能瓶颈将不复存在       去年的低端android手机,基本上就是在“用户能接受多低的价格”与“用户能忍受多糟糕的体验”之间的危险博弈。那些个运营商所鼓吹的千元智能机,

    2022年9月23日
    6

发表回复

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

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