基本语法
特殊关键字
Python 有 35 个关键字:
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
自定义变量名不能与它们重复。
常用且不同于其他常用语言 C++ 和 Java 的关键字如下:
- True 和 False 用于表示值的真假,在 Java 中是 true 和 false
- 逻辑反操作符 Python 为 not,而 Java 是 !
- None 表示空值,Java 使用 null
- Python 两个条件同时满足为 and,而 Java 为 &&
- 两者满足其中一个表达或者关系,Python 使用 or,而 Java 是 ||
- Python 中使用 elif,而 Java 使用 else if
其他比较特殊的关键字,如:
- del 用于删除可迭代对象中的某个元素
- def 用于定义函数
- 带 yield 用于定义生成器(generator)函数
- global 和 nonlocal 一种应用是 Python 函数式编程的闭包场景
- pass 一种应用是定义接口,也是 Python 语言特有的一个关键字
这些关键字之后遇到了再补充详细笔记内容。
特殊运算符
Python 的运算符包括:
+ - * ** / // % @
<< >> & | ^ ~ :=
< > <= >= == !=
大部分运算符应该被熟知了,重点为 3 个比较特殊的运算符:
// 用于两个数值相除且向下取整,与 Python 的 math 模块中的 floor 类似:
In [1]: 5//2
Out [1]: 2
In [2]: 5//4.5
Out [2]: 1.0
** 用于幂运算:
In [1]: 2**3
Out [1]: 8
:= 是自 2019年 Python 3.8 版本才被支持的运算符,被形象的称呼为“海象运算符”。
我们先看一个不使用“海象运算符”的例子:
n = len(a)
if n > 10:
print(f"{n} 大于 10")
如果使用了“海象运算符”,那么会在写法上简化成:
if(n := len(a)) > 10:
print(f"{n} 大于 10")
Python 的比较运算符还支持链式比较 ,比如:
i = 3
print(1 < i < 3) # => False
print(1 < i <= 3) # => True
另外,运算符 @ 还有用于装饰器的功能,后面学习到会详细补充笔记。