Python标识符命名规范及保留字
一、Python标识符命名规范
- 标识符是由字符(A~Z 和 a~z)、下划线和数字组成,但第一个字符不能是数字。
- 标识符不能和 Python 中的保留字相同。有关保留字,后续章节会详细介绍。
- Python中的标识符中,不能包含空格、@、% 以及 $ 等特殊字符。
例如,下面所列举的标识符是合法的:UserID
以下命名的标识符不合法:
name
mode12
user_age4word #不能以数字开头
try #try是保留字,不能作为标识符
$money #不能包含特殊字符 - 在 Python 中,标识符中的字母是严格区分大小写的,也就是说,两个同样的单词,如果大小格式不一样,多代表的意义也是完全不同的。比如说,下面这 3 个变量之间,就是完全独立、毫无关系的,它们彼此之间是相互独立的个体。
number = 0
Number = 0
NUMBER = 0 - Python 语言中,以下划线开头的标识符有特殊含义,例如:
- 以单下划线开头的标识符(如 _width),表示不能直接访问的类属性,其无法通过 from...import* 的方式导入;
- 以双下划线开头的标识符(如__add)表示类的私有成员;
- 以双下划线作为开头和结尾的标识符(如 __init__),是专用标识符。
概念:保留字是python语言预先保留的标识符,在程序中有特定用途,不能用来作为变量名,函数名使用;保留字大小写敏感,除开 False,True,None
二、保留字
python获[文]取关键字列表
Python 3.7.9 (bundled)
>>> import keyword
>>> print(keyword.kwlist)
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']
>>>
保留字详解
1、True和False
布尔类型变量取值,True为真,False为假
is_1 = True
is_2 = False
2、if, elif 和else
判断语句,条件分支语句
if score < 60:
print(“不及格”)
elif score < 80:
print("不够优秀")
else:
print("挺棒")
3、in
判断是否在其中,比如是否在列表中
2 in [1,2,3,4]
4、del
delete 删除一个变量,或者删除列表中某个元素
a = "hello, world!"
b = hello
del b
print(a) # hello, world!
list = [1, 2, 3, 4, 5, 6]
del list[1]
print(list) # [1, 3, 4, 5, 6]
5、for \ while 和break \ continue
构造循环语句
continu[章]e继续,即跳过[来]循环,立即执行[自]下一次循环
break 退出循环语句
for i in [1,2,3,4,5,6]:
if i == 2:
continue
if i == 4:
break
print(i) # 1 3 这里跳过了i==2,并且在i==4的时候结束了循环
6、and or 和not
与或非
and与 有一个Fals[网]e,结果为Fa[淘]lse
or 或 只有一个Fal[巴]se,结果为T[文]rue
not非
7、def return 和yield
def 定义函数,return用于从函数中返回,可以带有一个值
yield生成[章]器,当函数中用[来]了yield,[自]解释器会把函数[网]解释为生成器
# def return 应用
def feb(max):
a, b = 1, 1
while a < max:
yield a
a, b = b, a + b
for i in feb(20):
print(i) # 生成器写一个斐波那契数列
# yield 应用
def foo():
print("hello world!")
return
def square(num):
return num*num
foo() # hello world!
print(square(5)) # 25
8、class 定义类
面向对象的程序设计
class Cat:
def __init__(self, name):
self.__name = name
def miaow(self):
print(self.__name + " is miaow....")
cat = Cat("tom")
cat.miaow()
9、from , import 和as
from … import … as …
从 。。。导入。。[淘]。指定别名为。[巴]。。
10、assert
计算一个布尔值,断言成立,程序继续执行,断言失败,停止执行,打印出AssertError 以及指定的字符串
多用于调试, 注意不能用来替[文]代if判断语句[章]
x = 24
assert x % 2 == 1, "ok"
Traceback (most recent call last):
File "C:********/study.py", line 2, in <module>
assert x % 2 == 1, "ok"
AssertionError: ok
11、is
判断变量是否引用同一对象
判断对象id是[来]否相同
12、pass
空语句,用于占位符,保持程序完整
x = 10
if x > 8:
print("ok")
else:
pass
13、None
None表示变量是控制
14、try , except 和finally
try用于捕获异常,出现异常的时候 执行except后面的语句,没有异常就执行else后面的语句
无论是否出现异[自]常都是执行fi[网]nally后面[淘]的语句
x = 2
try:
print("Let's try 0 / 0")
x = x / 0
except:
print("one exception")
else:
print("no exception")
finally:
print("this sentence must be read")
15、with和as
当with语句进入时,会执行对象的__enter__()方法,该方法返回的值会赋值给as指定的目标;当with语句退出时,会执行对象的__exit__()方法,无论是否发生异常,都会进行清理工作。
16、global
定义并通知python后面的变量是全局变量,不要定义一个新的局部变量
x = 6
def local_x():
x = 7
print("x in func = " + str(x))
local_x() # x in func = 7
print("global x = " + str(x)) # global x = 6
print("")
def global_x():
global x # 定义x是全局变量
x = 7
print("x in func = " + str(x))
global_x() # x in func = 7
print("global x = " + str(x)) # global x = 7
17、lambda
定义表达式,匿名函数
a = lambda x,y: x+y
print(a(1,2)) # 3
1
2
18、async 和 await
参考廖雪峰老师的解释:
可以把一个generator标记为coroutine类型,然后在coroutine内部用yield from调用另一个coroutine实现异步操作。
为了简化并更好[巴]地标识异步IO[文],从Pytho[章]n 3.5开始引入[来]了新的语法as[自]ync和awa[网]it,可以让c[淘]oroutin[巴]e的代码更简洁[文]易读。
请注意,asy[章]nc和awai[来]t是针对cor[自]outine的[网]新语法,要使用[淘]新的语法,只需[巴]要做两步简单的[文]替换:
把@asyncio.coroutine替换为async;
把yield from替换为await。
————————————————
原文链接:https://blog.csdn.net/qq_43029072/article/details/103165800
本文链接:https://www.wtao8.com/post/59.html 转载需授权!