一、基础语法介绍
1.Python 基本格式
- 缩进风格统一,以缩进代表程序块
- 区分大小写
- 行注释:#
- 段解释:‘’’
2.图形化程序设计
- turtle模块
turtle.show()
turtle.write()
turtle.goto()
3.变量的声明与赋值
- 变量名=表达式
a=3:即将 3 赋值给 a - 变量在使用前必须要被声明
- 链式赋值
用于同一个对象赋值给多个变量
4.常量
- Python 不支持常量,即没有语法规则来限制改变一个常量的值
5.基本内置数据类型介绍
- 整型
- 浮点型
- 布尔型 字符串型
6.基本运算
- // 整除
- % 取余
- ** 幂指数
7.类型转换和四舍五入
- int():强制转化为整型
- float():强制转化为浮点型
- round():返回四舍五入的值
- str():强制转换为字符型
8.增强型赋值运算符
- +=
- -=
- *=
9.布尔值
- True=1
- False=0
10.提取字符串[]
- 正向 搜索:最左侧第一个字符索引为 0,直到 len(str)-1
- 反向搜索:最右侧第一个字符索引为-1,直到-len(str)
11.replace()实现字符串替换
- a.replace(,) 实现字符串的替换
12.字符串切片操作
-
切片 slide 可以快速提取子字符串,标准格式为:
[起始索引:终止索引:步长 step] (谨记包头不包尾)
典型操作及说明(‘abcdefg’)
1.[:] 提取所有字符——[:]=‘abcdefg’
2.[start:]从索引开始直到结尾——[3:]=‘defg’
3.[:end]从头开始直到 end-1 ——[:2]=‘ab’
4.[start:end] 从 start 开始到 end-1——[2:4]=‘cd’
5.[start🔚step] 从 start 开始到 end-1,步长=step——[2:6:2]=‘ce’其他示例:
[-3:]倒数 3 个=‘efg’
[-4:-1]=‘def’
[::-1]步长也可为-1,即从右到左反向提取
13.split()分割和 join()合并操作
- split()分割:
若指定分隔符,则按照分隔符将字符分割成若干个字符串;
若未指定分隔符,则默认使用(换行符/空格/制表符)进行分割 - join()合并:
a=[‘str1’,‘str2’,‘str3’]
‘+’.join(a)>>>‘str1+str2+str3’
注意:使用字符串拼接符“+”会产生新的字符串对象,因此不推荐使用;
13.常用查找方法
- a.len():获得字符串长度
- a.startswith(‘’):以指定字符串开头,返回布尔值;
- a.endswith(‘’):以指定字符串结尾,返回布尔值
- a.count(‘’) :指定字符串出现次数,返回整型;
- a.isalnum(‘’):所有字符全是字母或者数字,返回布尔值;
14.去除首尾信息
- a.strip(‘’): 去除字符串首尾指定信息
- a.lstrip(‘’): 去除字符串首部指定信息
- a.rstrip(‘’): 去除字符串尾部指定信息
- a.strip(): 去除字符串首尾空格
15.大小写转换(a=i love you XX)
- a.capitalize():产生新的字符串,首字母大写——I love you xx
- a.title():产生新的字符串,每个单词首字母大写——I Love You Xx
- a.upper():产生新的字符串,所有字母大写——I LOVE YOU XX
- a.lower():产生新的字符串,所有字母转小写——i love you xx
- a.swapcase():产生新的字符串,所有字母大小写转换—— I LOVE YOU xx
16.格式排版(a=love)
- a.center(10,’@’) >>> ‘@@@love@@@’
- a.ljust(10,’@’) >>> ’ love@@@@@@’
- a.rjust(10,’@*’) >>> ‘@@@@@@love’
17.其他方法
- isalnum() 检测是否为字母或者数字
- isalpha() 检测是否只由字母组成(含汉字)
- isdigit() 检测是否只由数字组成
- isspace() 检测是否为空白符
- isupper() 检测是否为大写字母
- islower() 检测是否为小写字母
18.运算符的优先级
- 实际使用中使用小括号组织,优先乘除,后加减
- 位运算符和算术运算符>比较运算符>赋值运算符>逻辑运算符
二、列表
列表用于储存任意数目、任意类型的数据集合,列表中元素可以各不相同,为任意类型
1.列表常用操作
- list.append(x)
增加元素x,将其添加至 list 列表的尾部 - list.extend(list1)
增加元素,将 list1中的所有元素添加至 list 的尾部 - list.insert(index,x)
在指定 index 位置添加元素 x - list.remove(x)
在 list 中删除首次出现的指定元素 x - list.pop([index])
删除并返回列表 list 指定位置 index 处的元素,默认是最后一个元素 - list.clear()
删除所有元素,但并不删除列表本身 - list.index(x)
访问元素x 的索引位置,如不存在 x 元素则返回异常 - list.count(x)
返回 x 在 list 中出现的次数 - len(list)
返回列表中所包含的元素个数
2.list长度
大小可变,根据需要随时增加或者缩小
3.字符串&列表区别
是字符序列,而列表可为任何元素的序列;
4.创建列表的方法:
-
基本语法创建:a=[]
-
list()创建: a=list(range(10))
-
range()创建:range(start,end,step) step默认为 1
list(range(3,15,2))=[3,5,7,9,11,13] -
推导式:
[x*2 for x in range(5)]=[0,2,4,6,8]
5.列表元素的增加和删除:一般在尾部添加或删除
- append方法:a=[20,40]>>a.append(80)>>a=[20,40,80]
该种方法为创建了新的列表 - extend 方法: a=[20,40]>>a.extend([50,60)>>a=[20,40,50,60]
该种方法为将新元素添加至原列表 - insert方法: 将元素插入任意位置,后面的元素后移;
6.通过索引的方式访问元素
索引的区间在[0,len(list)-1]这个范围;
- index可获得指定元素首次出现的索引位置,语法为 index(value,[start,[end]])
7.成员资格判断:判断列表中是否存在指定的元素
- count方法:若列表中该元素计数为 0,则不存在;
- in 关键字:返回布尔值;
8.切片slice操作:
- 可快速提取子列表或修改,语法与字符串提取一致
9.列表排序:
-
修改原列表,不建新列表的排序:
a.sort() 默认为升序排列;
a.sort(reverse=True) 降序排列 -
建新列表的排序: a=sorted(a) 默认升序排列
10.多维列表:
- 一维列表:存储一维、线性的数据;
- 二维列表:存储二维、表格类的数据;
三、元组
元组属于不可变序列
1.元组的创建:
- 使用()创建元组,小括号可省略>>>a=(10,20,30)
- 使用 tuple()创建元组
2.元组的操作与列表一致:
- 1.索引访问
- 2.切片操作
- 3.连接操作
- 4.成员关系操作;
- 5.比较运算操作
- 6.计数: len()\sum()\max()\min()等
四、字典
字典是存放着“键值对”的无序可变序列
1.字典的创建:
a={'name':'Mary','age':'20','job':'student'}
b=dict(name='Mary',age='20',job='student')
2.字典元素的访问:
-
a={‘name’:‘Mary’,‘age’:‘20’,‘job’:‘student’}
a[‘name’]
a[‘age’]
a[‘sex’] -
a.get(‘name’)#若不存在则会抛出异常
-
列出所有的键值对:a.items()
-
列出所有的键:a.keys()
-
列出所有的值:a.values()
-
len():获得键值对的个数
3.字典元素的添加、修改、删除
- 添加元素:
a[‘address’]=‘beijing’ 如果键已经存在则覆盖旧值;
update()将新字典中所有键值对添加到旧字典上,如果 key 有重复,则直接覆盖;
例如:
a={'name':'Mary','age':'20','job':'student'}
b={'name':'Bob','age':'20','sex':'male'}
a.update(b)
a={'name':'Bob','age':'20','job':'student','sex':'male'}
-
删除元素:
del():del(a[‘name’])>>>a={‘age’:‘20’,‘job’:‘student’}
clear(): 删除所有键值对; -
字典的序列解包:默认对键进行操作
a={'name':'Mary','age':'20','job':'student'}
x,y,z=a
x='name',y='age',z='job'
- a.items() 对键值对进行操作
- a.values() 对值进行操作
五、集合
无序可变、元素不能重复
1.集合的创建:
- a.add() 添加元素
- a.set() 将列表、元组等可迭代对象转化成集合
- a.remove() 删除指定元素
- a.clear() 清空整个集合
2.集合相关操作:
- a|b 或者 a.union(b) 取并集
- a&b 或者 a.intersection(b)取交集
- a-b 或者 a.difference(b)取差集