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
Was this helpful?