一、基础语法
1、标识符(变量名)
第一个字符必须是字母表中字母或下划线 _
标识符的其他的部分由字母、数字和下划线组成。
标识符对大小写敏感。
在 Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的。
2、python中的保留字
有一个专门的keyword库来储存保留库
import keyword
print(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']
3、注释
单行注释: 以#号开头
多行注释:用多个 # 号,还有 ‘’’ 和 “”":
# 第一个注释
# 第二个注释
'''
第三注释
第四注释
'''
"""
第五注释
第六注释
"""
4. 行与缩进
Python 特色是使用缩进来表示代码块,无需大括号 {}。同一个代码块的语句必须包含相同的缩进空格数。
python
运行
if True:
print("True")
else:
print("False")
5. 多行语句
- 通常一行写一条语句,若语句很长,可用反斜杠
\实现多行语句python
运行
total = item_one + \ item_two + \ item_three - 在
[],{}, 或()中的多行语句,不需要使用反斜杠python
运行
total = ['item_one', 'item_two', 'item_three', 'item_four', 'item_five']
6. 数字 (Number) 类型
包含四种类型:
int(整数):如 1,仅有一种整数类型 int,为长整型bool(布尔):如 Truefloat(浮点数):如 1.23、3E-2complex(复数):如 1 + 2j、1.1 + 2.2j
7. 字符串 (String)
- 单引号
'和双引号"使用完全相同 - 三引号 (
'''或""") 可指定多行字符串 - 转义符
\,使用r可让反斜杠不发生转义 - 可按字面意义级联字符串,如
"this " "is " “string”会自动转换为this is string - 用
+运算符连接,用*运算符重复 - 有两种索引方式,从左往右以 0 开始,从右往左以 -1 开始
- 字符串不能改变,一个字符就是长度为 1 的字符串
- 截取语法:
变量 [头下标:尾下标:步长]
python
运行
str = 'I love you '
print(str) # 输出字符串
print(str[0:-1]) # 输出第一个到倒数第二个的所有字符
print(str[0]) # 输出字符串第一个字符
print(str[2:5]) # 输出从第三个开始到第六个的字符(不包含,左闭右开)
print(str[2:]) # 输出从第三个开始后的所有字符
print(str[1:5:2]) # 输出从第二个开始到第五个且每隔一个的字符(步长为2)
print(str * 2) # 输出字符串两次
print(str + 'wcm') # 连接字符串
print('hellonPython') # 转义字符换行
print(r'hellonPython') # 原始字符串,不转义
8. 空行
函数之间或类的方法之间用空行分隔,类和函数入口之间也用一行空行分隔,便于代码维护或重构,是空行也是程序代码的一部分。
9. 多个语句构成代码组
缩进相同的一组语句构成代码块(代码组)。像 if、while、def 和 class 这样的复合语句,首行以关键字开始,以冒号 : 结束,该行之后的一行或多行代码构成代码组。
plaintext
if expression :
suite
elif expression :
suite
else :
suite
10. 同一行显示多条语句
语句之间使用分号 ; 分割:
python
运行
import sys; x = '我喜欢你'; sys.stdout.write(x + 'n')
11. 等待用户输入
执行程序按回车键后等待用户输入,输入内容为 string 类型:
python
运行
input("请输入信息")
12. print 输出
print 默认输出换行,若要实现不换行需在变量末尾加上 end="":
python
运行
x="我喜欢"
y="你"
# 换行输出
print( x )
print( y )
# 不换行输出
print( x, end = "" )
print( y, end = "" )
print()
13. import 与 from…import
用于导入相应模块:
- 导入整个模块:
import somemodule - 导入模块中某个函数:
from somemodule import somefunction - 导入模块中多个函数:
from somemodule import firstfunc, secondfunc, thirdfunc - 导入模块中全部函数:
from somemodule import * - 为导入的模块定义别名:
import somemodule as alise
二、基本数据类型
Python 中的变量不需要声明,使用前必须赋值,变量的 “类型” 是变量所指的内存中对象的类型。等号 = 用来赋值,左边是变量名,右边是存储在变量中的值。
1. 多个变量赋值
- 多个变量赋相同值:
a = b = c = 1 - 多个变量赋不同值:
a, b, c = 1, 2, "wcm"
2. 标准数据类型
- 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组)
- 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)
- 还有高级数据类型,如字节数组类型 (bytes)
3. Number(数字)
支持 int、float、bool、complex(复数)。可用 type() 函数查询变量所指对象类型,isinstance 也可判断。
python
运行
a,b,c,d = 1 , 3.0 ,True , 520j
print (a,type(a))
print (b,type(b))
print (c,type(c))
print (d,type(d))
运算法则:
python
运行
print(5 + 4 ) # 加法
print(4.3 - 2) # 减法
print(3 * 7) # 乘法
print( 2 / 4) # 除法,得到浮点数
print( 2 // 4) # 整除,向下取整,得到整数
print(17 % 3) # 取余
print(2 **5) # 乘方
4. String(字符串)
特性同上文 “基础语法” 中字符串部分。
5. bool(布尔类型)
- 只有两个值:True 和 False
- 可和其他数据类型比较,比较时 True 视为 1,False 视为 0
- 可和逻辑运算符 and、or、not 一起使用
- 可转换成其他数据类型,True 转 1,False 转 0
python
运行
a = True
b = False
print(2 < 3) # True
print(2 == 3) # False
print (a and b ) # False
print (a or b ) # True
print ( not a ) # False
print(int(a)) # 1
print(float(b)) # 0.0
print(str(a)) # "True"
6. List(列表)
- 写在方括号
[]之间、用逗号分隔的元素列表 - 元素类型可不同,支持嵌套
- 可被索引和截取,截取后返回新列表,语法:
变量[头下标:尾下标] - 加号
+是连接运算符,星号*是重复操作 - 元素可改变,有很多内置方法如 append ()、pop () 等
python
运行
list = [ 'abcd', 786 , 2.23, 'python3', 70.2 ]
tinylist = [123, 'python3']
print (list) # 输出完整列表
print (list[0]) # 输出列表第一个元素
print (list[1:3]) # 从第二个开始输出到第三个元素
print (list[2:]) # 输出从第三个元素开始的所有元素
print (tinylist * 2) # 输出两次列表
print (list + tinylist) # 连接列表
7. Tuple(元组)
- 与列表类似,元素不能修改,写在小括号
()里,元素间用逗号隔开 - 元素类型可不同
- 可被索引和截取,同列表
- 可看作特殊的元组
python
运行
tuple = ( 'abcd', 786 , 2.23, 'python3', 70.2 )
tinytuple = (123, 'python3')
print (tuple) # 输出完整元组
print (tuple[0]) # 输出元组的第一个元素
print (tuple[1:3]) # 输出从第二个元素开始到第三个元素
print (tuple[2:]) # 输出从第三个元素开始的所有元素
print (tinytuple * 2) # 输出两次元组
print (tuple + tinytuple) # 连接元组
8. Set(集合)(无序)
- 无序、可变数据类型,存储唯一元素
- 用大括号
{}表示,或set()函数创建,空集合必须用set() - 支持交集、并集、差集等操作
python
运行
sites = {'wcm', 'i', 'love', 'you'}
print(sites) # 输出集合,重复元素被自动去掉
if 'love' in sites :
print('love 在集合中')
else :
print('love 不在集合中')
a = set('wangmingkang')
b = set('wucongmei')
print(a - b) # a 和 b 的差集
print(a | b) # a 和 b 的并集
print(a & b) # a 和 b 的交集
print(a ^ b) # a 和 b 中不同时存在的元素
9. Dictionary(字典)
- 无序的键 (key) : 值 (value) 集合,用
{}标识 - 元素通过键存取,键必须使用不可变类型且唯一
python
运行
dict = {}
dict['one'] = "wcm"
dict[2] = "wmk"
tinydict = {'name': 'wcm','age':18, '颜值': ' best beautifil'}
print (dict['one']) # 输出键为 'one' 的值
print (dict[2]) # 输出键为 2 的值
print (tinydict) # 输出完整的字典
print (tinydict.keys()) # 输出所有键
print (tinydict.values()) # 输出所有值
10. bytes 类型
- 不可变的二进制序列,元素是 0 到 255 之间的整数
- 用于处理二进制数据,可用 b 前缀或 bytes () 函数创建
python
运行
x = b"hello"
y = bytes("hello", encoding="utf-8")
11. Python 数据类型转换
可使用内置函数进行数据类型转换,如 int(x,base)、float(x)、str(x)、tuple(s)、list(s) 等。
三、Python3 运算符
1. 算术运算符
包括 +(加)、-(减)、*(乘)、/(除)、%(取模)、**(幂)、//(取整除)等。
2. 比较(关系)运算符
有 ==(等于)、!=(不等于)、>(大于)、<(小于)、>=(大于等于)、<=(小于等于)。
3. 赋值运算符
包括 =、+=、-=、*=、/=、%=、**=、//= 以及 Python3.8 新增的 :=(海象运算符)。
4. 逻辑运算符
有 and(与)、or(或)、not(非)。
5. 成员运算符
in(在序列中找到值返回 True)、not in(在序列中没找到值返回 True)。
6. 身份运算符
is(判断两个标识符引用自一个对象)、is not(判断两个标识符引用自不同对象)。
7. 运算符优先级
从高到低有多种,如圆括号的表达式、乘方、正负号、乘除等,相同优先级运算符按一定规则分组。
四、条件判断
1、 if 语句
Python中if语句的一般形式如下所示:
a = int(input())
if a == 1314:
print(1314)
print("你是个好人")
elif a == 520:
print(520)
else:
print("单身狗")
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。
注意:
-
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
-
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
-
3、在 Python 中没有 switch…case 语句,但在 Python3.10 版本添加了 match…case,
2、 if 嵌套
在嵌套 if 语句中,可以把 if…elif…else 结构放在另外一个 if…elif…else 结构中。
if 表达式1:
语句
if 表达式2:
语句
elif 表达式3:
语句
else:
语句
elif 表达式4:
语句
else:
语句
3、 match…case
Python 3.10 增加了 match…case 的条件判断,不需要再使用一连串的 if-else 来判断了。
match 后的对象会依次与 case 后的内容进行匹配,如果匹配成功,则执行匹配到的表达式,否则直接跳过,_ 可以匹配一切。
语法格式如下:
match subject:
case <pattern_1>:
<action_1>
case <pattern_2>:
<action_2>
case <pattern_3>:
<action_3>
case _:
<action_wildcard>
case _: 类似于 C 和 Java 中的 default:,当其他 case 都无法匹配时,匹配这条,保证永远会匹配成功。
五、循环语句
1、 while 循环
Python 中 while 语句的一般形式:
while 判断条件(condition):
执行语句(statements)……
同样需要注意冒号和缩进。另外,在 Python 中没有 do…while 循环。
以下实例使用了 while 来计算 1 到 520 的总和:
i = 1
sum = 0
while i <= 520:
sum+=i
i+=1
print(sum) #135460
2、 while 循环使用 else 语句
如果 while 后面的条件语句为 false 时,则执行 else 的语句块。
语法格式如下:
while <expr>:
<statement(s)>
else:
<additional_statement(s)>
expr 条件语句为 true 则执行 statement(s) 语句块,如果为 false,则执行 additional_statement(s)。
循环输出数字,并判断大小:
count = 0
while count < 5:
print (count, " 小于 5")
count = count + 1
else:
print (count, " 大于或等于 5")
3、 for 语句
Python for 循环可以遍历任何可迭代对象,如一个列表或者一个字符串。
for循环的一般格式如下:
for <variable> in <sequence>:
<statements>
else:
<statements>
实例如
list = ["wcm", "i", "love", "you", "1314"]
for li in list:
print(li)
输出结果:
wcm
i
love
you
1314
5057

被折叠的 条评论
为什么被折叠?



