week02学习总结

week02学习总结

day06循环和列表

1.for循环

语法:

for 变量 in 序列:
循环体

执行过程:让变量依次去序列中取值,一个一个的取,取完为止,每取一个值就依次执行循环体。
for循环循环次数由序列中元素的个数决定。

2.while循环

语法:
while 条件语句:
循环体
执行过程:
不断判断条件是否为True,为True就执行循环体,直到条件语句的结果为False,整个循环结束

3.列表

1.系统类型,是容器型数据类型(同时保存多个数据);将[]作为容器的标志,里面多个元素(容器中每个独立的数据)用逗号隔开:[数据1,数据2,数据3,数据4]
2.列表是可变的(元素的个数和元素的值可变 - 支持删改操作)列表是有序(支持索引操作)

4.列表

a.查单个

列表[索引]

索引 - 又叫下标;索引指的是元素在有序序列中的位置信息
列表一旦确定了,那么列表中每个元素的索引就确定了
索引的确定方式:从前往后索引值从0开始不断加一;从后往前从-1开始往前不断减一

b.切片

完整语法:
列表[开始下标:结束下标:步长]

开始下标 - 确定从哪个位置开始获取
结束下标 - 确定结束的位置
步长 - 确定获取方向和取的时候怎么取
要点
a.怎么确定切片的结果
b.怎么写切片表达式获取到需要的数据

省略写法:

a.省略步长:
列表[开始下标:结束下标]
省略步长就相当于步长为1
b.省略开始下标:
print(names(:-3:-1) - 如果步长为正从第一个元素开始,如果步长为负从最后一个元素开始
c.省略结束下标:列表[开始下标::步长] - 如果步长为正一直取到最后一个元素,如果步长为负一直取到第一个元素

c.遍历

方法1:直接获取元素
for 变量 in 列表:
循环体
方法2:先获取每个元素的下标,然后再根据下标获取元素
for 变量 in range(len(列表)):
循环体(变量是元素对应的下标)

day07-列表进阶

1.列表的增删改

a.增

1.append

语法:

列表.append(元素)

在列表的最后添加元素

2.insert

语法:

列表.insert(下标, 元素)

在指定下标对应的元素前插入指定元素

b.删

1.del

语法:del 列表[下标]

删除列表中指定下标的元素

2.remove

语法:

列表.remove(元素)

删除列表中指定的第一个元素

3.pop

语法:

列表.pop() - 取出列表中最后一个元素
列表.pop(下标) - 取出列表中指定下标对应的元素

c.改

语法:列表 [下标] = 新元素

修改列表中指定下标对应的元素为新元素

2.列表相关操作

a.列表的加法和乘法运算

1.加法运算: 列表1+列表2 - 将俩个列表合并创建一个新的列表

2.乘法运算:列表*N - 重复列表中的元素N次产生一个新的列表

b.列表的比较运算

1.比较是否相等(==、!=)

2.比较大小(>、<、>=、<=)

两个列表比较大小比较的是第一对不相等的元素的大小(相同位置上的元素叫一队)

3.in和not in

元素 in 列表 - 判断指定列表中是否存在指定元素
元素 not in 列表 - 判断指定列表中是否不存在指定元素

3.列表相关函数

系统提供的和序列相关的常用函数:sum、max、min、sorted、len、list

a.求和函数 - sum

sum(数字序列) - 求数字序列中所有元素的和

b.max、min

max(序列) - 求序列中最大的元素
min(序列) - 求序列中最小的元素

c.sorted

1.sorted(序列) - 将序列中的元素从小到大排序,产生一个新的列表(不会修改原序列元素的顺序)

2.sorted(序列, reverse=True) - 将序列中的元素从小到大排序,产生一个新的列表(不会修改原序列元素的顺序)

d.len

len(序列) - 获取序列的长度(序列中元素的个数)

e.list

list(序列) - 将指定的数据转换成列表(只有序列才能转换成列表)

4.列表相关方法

a.clear

列表.clear() - 清空列表

b.copy

列表.copy() - 复制原列表产生一个一模一样的列表

c.count

列表.count(元素) - 统计列表中指定元素的个数

d.extend

列表.extend(序列) - 将序列中所有的元素都添加到列表中

e.index

列表.index(元素) - 显示列表中第一个元素的下标

f.reverse

将列表逆序

g.sort

1.列表.sort() - 将列表中的元素从小到大排序(直接修改原列表元素的顺序)

2.列表.sort(reverse=True) - 将列表中的元素从大到小排序(直接修改原列表元素的顺序)

5.列表推导式

a.结构1

[表达式 for 变量 in 序列]
让变量去序列中取值,一个一个的取,取完为止,每取一个值就计算一次表达式的结果,并且将计算结果作为列表的一个元素

b.结构2

[表达式 for 变量 in 序列 if 条件语句]

让变量取序列中取值,一个一个的取,取完为止;每取一个值就判断一次条件是否成立,如果成立就计算一次表达式的结果,并且将结果作为列表的元素

day08-字典元组集合

1.字典

1.字典的作用:

字典和列表的选择问题:
1.同时保存多个意义不同的数据用字典(字典保存数据的时候可以通过不同的键来对数据进行区分和说明)
2.同时保存多个意义相同的数据用列表

2.什么是字典

a.字典是容器型数据类型(能同时保存多个数据);
将{}作为容器的标志,里面的多个键值对用逗号隔开:{键1:值1, 键2:值2, 键3:值3, …}
b.字典是可变的;字典是无序的(不支持下标操作)
c.字典的元素是键值对
键:键必须是不可变类型的数据(常见不可变类型的数据:字符串、元组、数字、布尔等);键是唯一的
值:任何类型的数据都可以作为字典的值

2.字典的增删改查

1.查

a.查单个

字典[键]

若不存在则会报错

字典.get(获取字典中指定键对应的值)

字典.get(键, 默认值) - 获取字典中指定键对应的值,如果键不存在不会报错返回默认值

b.遍历

for 变量 in 字典
循环体(变量依次取到的是键)

2.增

字典[键]=值 - 如果键不存在就添加键值对,如果键存在就修改指定键对应的值

键不在的时候添加键值对,键在的时候修改键值对

字典.setdefault(键,值) - 添加键值对(键不存在就添加,存在的时候不会修改)

3.删

del 字典[键] - 删除指定键的键值对
字典.pop(键) - 取出指定键的键值对

3.字典相关操作

a.相关操作

1.字典不支持+、*和比较大小

2.in和 not in

键 in 字典 - 判断字典中是否存在指定的键

b.相关操作

len(字典) - 统计字典中键值对的个数

dict(数据) - 将指定数据转换成字典 - 要求:a.数据本身是一个大的序列 b.数列中的每个元素必须是有且只有两个元素的小序列

注意:将字典转换成列表的时候,是直接将字典的键作为列表的元素

c.相关方法

a.clear
b.copy
c.item,keys,values
字典.items() - 将字典中每一个键值对转换成元组作为新序列中的元素
字典.keys() - 获取字典所有的键,返回一个序列
字典.values() - 获取字典所有的值,返回一个序列
字典.update() - 将第二个序列中的键值对加入到第一个字典中

4.元组和集合

元组

容器型数据类型;将()作为容器的标志,里面多个元素用逗号隔开:(数据1, 数据2, 数据3,…)
不可变的;有序的(元组就是不可变的列表)
任何类型的数据都可以作为元组的元素

集合

容器型数据类型;将{}作为容器的标志,里面多个元素用逗号隔开:{数据1, 数据2, 数据3,…}
可变的;无序的
集合对元素的要求和字典对键的要求一样

day09-字符串

1.数学集合运算

a.求交集(&)

求两个集合公共的部分

b.求并集(|)

将两个集合合并成一个集合

c.求差集(-)

去掉一个集合中被包含在另外一个集合中的部分剩下的部分

d.求对称差集(^)

合并俩个集合后去掉公共的部分

e.子集(>=,<=)和真子集(>,<)

A>B-判断B是否是A的真子集
A<B-判断A是否是B的真子集
A>=B-判断B是否是A的子集
A<=B-判断A是否是B的子集

2.字符串和字符

a.什么是字符串(str)

1.容器型数据类型(一种同时保存多个文字符号的容器):
将引号(既可以是一个引号开头和结尾,也可以是三个引号开头和结尾)作为容器的标志,里面的每个符号就是字符串的元素
2.字符串是不可变的;字符串是有序的
3.字符串中的元素可以是任何文字符号,字符串的元素又叫字符

b.转义字符

字符串中的每个独立的符号就是字符串的元素,又叫字符;字符串中的字符分为两种:普通字符、转义字符
普通字符:在字符串中表示符号本身的字符就是普通字符
转义字符:在特定符号前加\表示特殊意义或者特殊功能的字符就是转义字符
常用的转义字符:
\n - 换行
\t - 水平制表符(相当于按了一下tab)
’ - 普通的单引号
" - 普通的双引号
\ - 一个反斜杠

c.r字符串

在字符串的最前面加r或者R,可以让字符串中所有的转义字符的功能消失(r可以让字符串中所有的字符都编程普通字符)

3.字符编码

a.字符编码

计算机只具备保存数字的能力,为了能够让计算机存储文字符号,给每一个符号对应了一个固定的数字,每次在需要存储文字符号的时候就存储这个符号对应的数字。
每个字符对应的那个固定的数字,就是这个字符的编码值。

b.编码表

常见的编码表有两种:ASCII码表、Unicode编码表(python)
a.ASCII码表:只有128个字符(全是美国常用的符号)
数字字符在大写字母的前面
大写字母在小写字母前面
字母和数字字符都是连续递增
大写字母和小写字母之间有间隙
(0-48;A-65;a-97)

b.Unicode编码表
Unicode编码表中前128个字符就是ASCII码表中的字符
Unicode编码表中包含了世界上所有的国家所有的名族的所有的语言的符号(万国码)
中文编码范围:4e00~9fa5

chr(编码值) - 获取编码值对应字符

ord(字符) - 获取指定字符对应的编码值

c.编码字符

在字符串中表示字符有两种方法:直接提供字符、提供编码字符
编码字符:\u4位的16进制编码值

4.字符串基本操作

a.查操作

获取字符:和列表获取元素的语法一样

1.查单个:字符串[下标]

2.字符串切片

3.遍历

b.字符串相关操作

1.字符串1+字符串2 - 将两个字符串合并成一个新的字符串

2.字符串*N - 字符串重复N次产生一个新的字符

3.in 和 not in

字符串1 in 字符串2 - 判断字符串1是否是字符串2的子串(判断字符串2中是否包含字符串1)

4.比较运算

两个字符串比较大小比较的是第一对不相等的字符的大小

比较运算的应用 - 判断字符的性质
判断x是否是数字字符:‘0’<=x<=‘9’
判断x是否是小写字母:‘a’<=x<=‘z’
判断x是否是大写字母:‘A’<=x<=‘Z’
判断x是否是字母:‘a’<=x<=‘z’or’A’<=x<=‘Z’
判断x是否是中文:‘\u4e00’<=x<=‘\u9fa5’

c.字符串相关函数

len(字符串) - 统计字符串中字符的个数
str(数据) - 将指定的数据转换为字符串(所有的数据都可以转换为字符串,转换的是在打印值的外面加引号)

day10-字符串和函数基础

1.字符串相关方法

(字符串.xxx())

a.字符串.join(序列) - 将序列中的元素通过指定的字符串拼接成一个新的字符串

b.字符串1.split(字符串2) - 将字符串1中所有的字符串2作为切割点进行切割,返回一个列表

c.

字符串1.replace(字符串2, 字符串3) - 将字符串1中所有的字符串2都替换成字符串3,返回一个新的字符串
字符串1.replace(字符串2, 字符串3, N) - 将字符串1中前n个字符串2都替换成字符串3,返回一个新的字符串

d.
字符串1.find(字符串2) - 查找字符串1中字符串2第一次出现的位置,如果字符串2不存在返回-1
字符串1.index(字符串2) - 查找字符串1中字符串2第一次出现的位置,如果字符串2不存在报错

e.
字符串1.count(字符串2) - 统计字符串1中字符串2出现的次数
字符串1.count(字符串2, 开始下标, 结束下标) - 统计字符串1指定范围中字符串2出现的次数

f.
字符串.upper() - 将字符串中所有的小写字母转换成对应的大写字母
字符串.lower() - 将字符串中所有的大写字母转换成对应的小写字母

g.

str.maketrans(字符串1, 字符串2) - 创建字符串1中所有字符和字符串2中所有字符对应的对应关系表(字符串1和字符串2长度必须一样)
字符串.translate(对应关系表) - 将字符串中的字符按照对应关系表中的对应关系进行替换

h.

字符串.isdecimal() - 判断字符串是否纯数字字符串(数字指任何独立存在表示数字意义的字符)
字符串.isdigit() - 判断字符串是否纯数字字符串(数字只表示阿拉伯数字)
字符.isupper() - 判断字符是否是大写字母
字符.islower() - 判断字符是否是小写字母

2.格式字符串

1.字符串拼接

2.字符串格式占位符

包含格式占位符的字符串%(数据1,数据2,数据3,…)

常见的格式占位符:
%s - 可以给任何类型的数据占位
%d - 数字占位符,拼接的时候会将数字转换成整形
%f - 数字占位符,拼接的时候会保留6位小数
%.Nf - 数字占位符,拼接的时候会保留N位小数

3.f-string

在字符串最外面加f,然后在字符串中通过{表达式}来提供字符串内容

4.f-string可以在{}中添加参数:{提供数据的表达式:参数}

a.控制小数位数的参数:{表达式:.Nf}

b. 百分比:{表达式:.N%}

c.大数据逗号显示:{表达式:,}

d.控制填充长度:{表达式:字符>长度}、{表达式:字符<长度}、{表达式:字符^长度}

3.函数

a.什么是函数

函数就是实现某一特定功能的代码的封装。(函数就是把实现某一个功能的所有的代码打成一个包,以后在需要这段代码对应的功能的时候不需要再写这段代码了,而是直接调用封装这段代码的函数)

b.函数的分类

根据函数是由谁创建的可以将函数分为:系统函数、自定义函数
1.系统函数 - 由python(系统)创建的函数,例如:print函数、input函数、type函数、max、min等
2.自定义函数 - 由程序员自己创建的函数

c.定义函数(创建函数)

语法:
def 函数名(形参列表):
函数说明文档
函数体
说明:
def - 关键字;固定语法
函数名 - 由程序员自己命名;
要求:是标识符;不是关键字
规范:见名知义(让别人看到函数名就大概知道这个函数的功能);所有的字母都小写,多个单词之间用下划线隔开;
不使用系统函数名、类名、模块名
() - 固定写法
形参列表 - 以’变量名1, 变量名2, 变量名3,…'的形式存在(这儿变量名的数量可以是任意多个,也可以一个都没有)
形参可以将函数外部的数据传递到函数内部。
定义函数的时候需不需要形参,需要几个形参,就看实现函数的功能需不需要额外的数据,需要几个额外的数据。
: - 固定写法
函数说明文档 - 本质就是多行注释
函数体 - 结构上,和def保持一个缩进的一条或者多条语句(至少一条);
逻辑上,函数体就是实现函数功能的代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值