1. 基本语法

注释

单行注释

Python中单行注释以 # 开头,例如:

#这是单行注释

多行注释

多行注释用三个单引号'''或者三个双引号"""将注释括起来,例如:

'''
这是多行注释
'''
"""
#这是多行注释
"""

标识符

  • 第一个字符必须是字母或下划线,尽量使用小写字母开头。

  • 标识符大小写敏感

  • 标识符可包括大小写字母与下划线、数字

  • 系统保留的标识符(可在keyword模块中kwlist查看)不能使用

    import keyword
    keyword.kwlist

    ['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未使用C等语言的大括号标识代码段,而是通过缩进表示代码的层级关系。一般情况使用四个空格表示缩进。(手写代码记得带格尺)

在python中如果代码过长,可以拆分为多行。在行尾使用\就可以。但如果在括号中,则直接换行就可以。行尾的续行符号后不能接任何除回车换行符以外的其他字符。

转义字符即有其他含义的字符,在使用时加\表示含义与原本含义相反,故称转义字符,而\本身需要\\来表示。基本的转义字符有\\ \t \r \n \' \"

常量与变量

常量

一旦赋值就不能改变值的标识符。在Python中没有常量这个概念

变量

赋值后可以改变值的标识符

字面常量

一个单独的量

数字

整数

Python3中,不区分long与int类型,任意长度的正负整数都可以被存储进来。 如果要用特殊进制表示,需要加前缀

进制

前缀

2进制

0b

8进制

0o

16进制

0x

浮点数

Python3中,不区分单精度与双精度。任意小数都是双精度浮点数,默认精度在输出时候是6位小数。

复数

Python中可以表示复数,表示方法有:

i = 1+2j

布尔型

布尔型变量只有两个结果,True与False。在Python中,布尔型是int类型的子类。

序列对象

字符串

使用单、双、三引号引出的字符的序列。详见2. 内置数据结构/3. 字符串

列表

使用[]引出的元素的可变线性序列。详见2. 内置数据结构/1. 列表

元组

使用()引出的元素的不可变线性序列。详见2. 内置数据结构/2. 元组

键值对

集合

集合(set)是一个无序的不重复元素序列。详见2. 内置数据结构/集合(set)

字典

字典是另一种可变容器模型,且可存储任意类型对象。详见2. 内置数据结构/字典

输出语句

在Python中的输出我们使用print,Python3以后print是一个函数,我们通过print(标识符/字面常量)去输出。

运算符

比较运算符

==
!=
>
<
>=
<=

返回一个布尔值,比较运算符支持链式比较,例如4>3>2。 大小比较只能相同类型进行。

逻辑运算符

and
or 
not

and与or都是短路运算符。 and如果第一个表达式是False,则返回False。 or如果第一个表达式是True,则返回True。

位运算符

&
|
~
^
<<
>>

赋值运算符

a = min(3,5)
+=
-=
*=
/= 
%=
//=

支持链式赋值,x=y=z=10

成员运算符

in
not in

身份运算符

is
is not

运算符的优先级

记不住用括号 算数运算符 > 位运算符 > 身份运算符 > 成员运算符 > 逻辑运算符

表达式

算术表达式

10 + 3

逻辑表达式

5 == 10

赋值表达式

i = 10
b = 'a'
v = b

Python中赋值即定义,一个变量如果已经定义,赋值相当于重新定义。

流程控制语句

顺序

程序从上到下顺序的运行就是顺序结构。

循环

根据不同的情况判断,条件满足则反复执行语句。

for 循环

for element in iterable:
    代码块

可迭代对象中有元素可以迭代时,执行代码块

while 循环

while condition:
    代码块

当满足condition时,进入循环体。每次结束循环都重新判断,直到不满足循环体。

continue

终端当次循环,继续下次循环

break

中止当前循环

else子句

无论是否进入循环,只要没有被break中止,在循环结束后都执行该子句

分支

根据不同的情况判断,条件满足则执行某条件下的语句

单分支

if condition:
    代码块

condition是一个布尔类型,否则会进行隐式类型转换。

多分支

if condition:
    代码块
elif condition2:
    代码块
……
else:
    代码块

只要有一个被执行,其他语句都不会被执行。 前一个条件测试过则后面会相当于已经隐含这个条件。

分支嵌套

if之中有if就是分支嵌套。同时循环语句、分支语句都可以嵌套。

Last updated