今天学习了python课程,笔记如下:
1、标识符
对变量、类、方法等编写的名字,叫做标识符。
关键字的大小写也敏感,其中只有False True None为大写,其他均为小写。
变量的命名规范:见名知意,下划线命名法,英文字母全小写。
2、运算符
// 取整数,11//2 =5,整除
**指数
+= ,c+=a,也就是c=c+a
**=,c**=a,也就是c=c**a
3、字符串的三种定义方式
4、字符串的拼接
5、字符串格式化
占位式拼接:%s,%表示我要占位,s表示将变量变成字符串放入占位的地方。
多个变量占位,变量要用括号括起来,并按照占位的顺序填入。
%s 将内容转换成字符串,放入占位位置
%d 整数
%f 浮点型
6、格式化精度
m.n:m控制宽度,要求是数字。设置宽度小于数字自身,不生效;n控制小数点的精度,会进行小数的四舍五入。
%7.2f设置11.345,结果:空格空格11.35,两个空格补足宽度,小数部门限制2精度,进行四舍五入。
7、字符串格式化.2
f"内容{变量}",放变量的地方不关心数据类型,什么类型都可以放,不做精度控制,适合对精度没有要求的。
8、对表达式进行格式化
9、数据输入 input()语句
输入的内容都是字符串,需要其他类型的话,可以进行类型转换。
input ("提示信息")
判断类型和循环
1、布尔类型和比较运算符
布尔类型可自行定义,也可通过计算得来。使用比较运算符得到布尔类型的结果。
2 、if
if条件:
语句
else:
语句
3、while
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
……
条件需提供布尔类型结果,True继续,False停止。
4 、for循环(遍历循环)
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
5、range语句
range(num)获取一个从0开始,到num结束的数字序列,不含num本身。如range(5)取得的数据是[0,1,2,3,4]
range(num1,num2)获取一个从num1开始,到num2结束的数字序列,不含num2本身。
range(num1,num2,step)获取一个从num1开始,到num2结束的数字序列,不含num2本身。数字之间的步长,以step为主,默认为1。如range(5,10,2)取得的数据是[5,7,9],搁两位再取。
for x in range(10):
print (x)
结果:0 1 2 3 4 5 6 7 8 9
6、 break continue
continue 中断本次循环,直接进入下一次循环。可以用于for循环和while循环。
break 直接结束循环
函数
1 、len()统计长度的函数
2 、函数的基础语法
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
函数的调用:
函数名(参数)
注:参数和返回值,如不需要,可以省略。函数必须先定义,后使用。
如def add(x,y):
result=x+y
print (f"{x}+ {y}的结果是{result}")
调用add(5,6)
函数定义中的x y是形式参数,形参,表示函数声明将要使用两个参数。
函数调用中的5 6是实际参数,实参,表示函数执行时真正使用的参数值。
可以不使用参数,也可以使用任意个参数。
3、函数返回值return
如果函数不需要返回值,可写return None或者不写return,默认返回的也是None。
4、函数说明文档
通过多行注释的形式,对函数进行说明解释
5、global关键字可以在函数内部声明变量为全局变量。
…
global num
num=200
…
此处的num变为全局变量
6、通过\t制表符可以对齐输出
数据容器
1、Python中的数据容器可以容纳多份数据的数据类型,容纳的每一份数据成为一个元素,可以是任意类型的数据,比如字符串,数字,布尔等。
分为五类:列表list 元组tuple 字符串str 集合set 字典dict
2、列表
定义:①字面量 [元素1,元素2,元素3…]
②定义变量:变量名称=[元素1,元素2…]
③定义空列表:变量名称=[]
变量名称=list()
列表内的每一个数据称为元素,以[]标识。列表内一次存储多个元素,可以是不同的数据类型,支持嵌套。
列表的下标索引从0开始: 列表[下标索引]
索引也可以是反向的,从-1往后,依次递减。
嵌套列表: my_list=[[1,2,3],[4,5,6]]
print (my_list([1][2])) #5
3、列表的方法
将函数定义为class的成员,那么函数就被称为方法。方法使用的时候先声明,再点里面的方法。 student=Student ()
num=student.add() (add是定义在其中的函数)
①列表的查询功能方法:查找指定元素在列表的下标索引是几,找不到报错ValueError。语法:列表.index(元素)
②列表的修改功能方法:修改特定位置(索引)的元素值。语法:列表[下标]=值
③插入:列表.insert(下标,元素),在指定的下标位置,插入指定的元素。
④追加:列表.append(元素),将指定元素,追加到列表的尾部。
追加2:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部。
⑤删除:语法1:del列表[下标]
语法2:列表.pop(下标)
语法3:列表.remove(元素),删除某元素在列表中的第一个匹配项。如my_list=[1,2,3,2,5]
my_list.remove(2) print (my_list),结果为[1,3,2,5]
⑥清空列表:列表.clear()
⑦统计某元素在列表中的数量:列表.count(元素)。 my_list=[1,2,3,2,5] print (my_list.count(2) ),结果为2
⑧统计列表内有多少元素:len(列表)
4、元组
元组一旦定义完成,就不可修改。
元组定义使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
#定义元祖字面量
(元素,元素…)
#定义元组变量
变量名称=(元素,元素…)
#定义空元组
变量名称=()
变量名称=tuple()
注:只定义一个元组,后面必须带逗号。支持嵌套和下标索引。适用index() count() len(元组)
5、字符串的定义和操作
字符串可以通过下标进行访问,从前往后,下标从0开始,从后往前,下标从-1开始。和元组一样,字符串也无法修改。方法有index
①字符串的替换:字符串.replace(字符串1,字符串2),将字符串1全部替换为字符串2。得到新字符串。
②字符串的分割:字符串.split(分隔符字符串) 按照分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。字符串本身不变,而是得到了一个列表对象。
③字符串的规整操作:
去前后空格 字符串.strip()
去前后指定字符串 字符串.strip(字符串),如my_str="12ass" print (my_str.strip("12"))结果为ass。传入的12,是按照1、2进行去除的。
count和len都可用。
6、序列
序列是指内容连续、有序,可使用下标索引的一类数据容器。列表,元组,字符串都可视为序列。
序列支持切片,即从一个序列中,取出一个子序列。语法:序列[起始下标:结束下标:步长]表示从序列中,从指定位置依次取出元素,到指定位置结束,得到一个新序列。起始下标留空表示从头开始,结束下标留空表示取到结尾。步长1表示一个一个取,步长2表示跳一个元素取,步长为1时可默认不写,步长-1从后往前取,相当于反转序列。
7、集合
不支持重复元素,内容无序。
语法:
#定义集合字面量
{元素,元素…,元素}
#定义集合变量
变量名称={元素,元素…,元素}
#定义空集合
变量名称=set()
注:集合是无序的,不支持下标索引访问。
①添加新元素:集合.add(元素),将指定元素添加到集合内。
②移除元素:集合.remove(元素),把指定元素从集合内移除。
③随机取元素:集合.pop(),从集合中随机取,会得到一个元素的结果,同时集合本身被修改,元素被移除。
④清空集合:集合.clear()
⑤取两个集合的差集:集合1.difference(集合2)取出集合1和集合2的差集,集合1有而集合2没有。得到一个新集合,集合1和2不变。
⑥消除两个集合的差集:集合1.difference_update(集合2),对比集合1和集合2,在集合1内,删除和集合2相同的元素。集合1被修改,2不变。
⑦两个集合合并:集合1.union(集合2),将集合1和集合2组合成新集合,集合1 2不变。
集合不能while循环,可以for循环。
8、字典
使用字典,实现用key取出value的操作。存储元素是键值对。
#定义字典字面量
{key:value, key:value,…key:value}
#定义字典变量
my_dict={key:value, key:value,…key:value}
#定义空字典
my_dict={}
my_dict=dict()
字典可嵌套,取的时候[][]。
注:key和value可以是任意类型,字典内的key不允许有重复,重复添加等同于覆盖原有数据。字典不可用下标索引,通过key检索value。
①新增元素:字典[key]=value,字典被修改,新增了元素。
更新元素:字典[key]=value,字典被修改,元素被更新。
key不存在就是新增,存在则是更新。
②删除元素:字典.pop(key),获得指定key的value,字典被修改,指定key的值被修改。
③清空字典:字典.clear(),字典被修改,元素清空。
④获取全部的key:字典.keys(),得到字典中的全部key
遍历:1 通过获取到全部的key来完成遍历 for key in keys
2、直接对字典进行for循环,每一次循环都得到key :for key in 字典名
P78总结对比
ASCII码中A从65,a从97,0从48
函数进阶
1、函数多返回值
def test_return():
return 1,2
…
x,y=test_return print (x) print (y)
按照返回值的顺序,写对应顺序的多个变量接收即可。变量之间用逗号隔开,支持不同类型的数据return。
2、函数多种参数类型p82
①位置参数:调用函数时根据函数定义的参数位置来传递参数。传递的参数和定义的参数的顺序及个数必须一致。
②关键字参数:函数调用时通过“键=值”形式传递参数。可以不按照固定顺序,也可和位置参数混用,位置参数必须在前,且匹配参数顺序。
函数调用时,如果有位置参数,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。
今天学习了python课程,笔记如下:
1、标识符
对变量、类、方法等编写的名字,叫做标识符。
关键字的大小写也敏感,其中只有False True None为大写,其他均为小写。
变量的命名规范:见名知意,下划线命名法,英文字母全小写。
2、运算符
// 取整数,11//2 =5,整除
**指数
+= ,c+=a,也就是c=c+a
**=,c**=a,也就是c=c**a
3、字符串的三种定义方式
4、字符串的拼接
5、字符串格式化
占位式拼接:%s,%表示我要占位,s表示将变量变成字符串放入占位的地方。
多个变量占位,变量要用括号括起来,并按照占位的顺序填入。
%s 将内容转换成字符串,放入占位位置
%d 整数
%f 浮点型
6、格式化精度
m.n:m控制宽度,要求是数字。设置宽度小于数字自身,不生效;n控制小数点的精度,会进行小数的四舍五入。
%7.2f设置11.345,结果:空格空格11.35,两个空格补足宽度,小数部门限制2精度,进行四舍五入。
7、字符串格式化.2
f"内容{变量}",放变量的地方不关心数据类型,什么类型都可以放,不做精度控制,适合对精度没有要求的。
8、对表达式进行格式化
9、数据输入 input()语句
输入的内容都是字符串,需要其他类型的话,可以进行类型转换。
input ("提示信息")
判断类型和循环
1、布尔类型和比较运算符
布尔类型可自行定义,也可通过计算得来。使用比较运算符得到布尔类型的结果。
2 、if
if条件:
语句
else:
语句
3、while
while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
……
条件需提供布尔类型结果,True继续,False停止。
4 、for循环(遍历循环)
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
5、range语句
range(num)获取一个从0开始,到num结束的数字序列,不含num本身。如range(5)取得的数据是[0,1,2,3,4]
range(num1,num2)获取一个从num1开始,到num2结束的数字序列,不含num2本身。
range(num1,num2,step)获取一个从num1开始,到num2结束的数字序列,不含num2本身。数字之间的步长,以step为主,默认为1。如range(5,10,2)取得的数据是[5,7,9],搁两位再取。
for x in range(10):
print (x)
结果:0 1 2 3 4 5 6 7 8 9
6、 break continue
continue 中断本次循环,直接进入下一次循环。可以用于for循环和while循环。
break 直接结束循环
函数
1 、len()统计长度的函数
2 、函数的基础语法
函数的定义:
def 函数名(传入参数):
函数体
return 返回值
函数的调用:
函数名(参数)
注:参数和返回值,如不需要,可以省略。函数必须先定义,后使用。
如def add(x,y):
result=x+y
print (f"{x}+ {y}的结果是{result}")
调用add(5,6)
函数定义中的x y是形式参数,形参,表示函数声明将要使用两个参数。
函数调用中的5 6是实际参数,实参,表示函数执行时真正使用的参数值。
可以不使用参数,也可以使用任意个参数。
3、函数返回值return
如果函数不需要返回值,可写return None或者不写return,默认返回的也是None。
4、函数说明文档
通过多行注释的形式,对函数进行说明解释
5、global关键字可以在函数内部声明变量为全局变量。
…
global num
num=200
…
此处的num变为全局变量
6、通过\t制表符可以对齐输出
数据容器
1、Python中的数据容器可以容纳多份数据的数据类型,容纳的每一份数据成为一个元素,可以是任意类型的数据,比如字符串,数字,布尔等。
分为五类:列表list 元组tuple 字符串str 集合set 字典dict
2、列表
定义:①字面量 [元素1,元素2,元素3…]
②定义变量:变量名称=[元素1,元素2…]
③定义空列表:变量名称=[]
变量名称=list()
列表内的每一个数据称为元素,以[]标识。列表内一次存储多个元素,可以是不同的数据类型,支持嵌套。
列表的下标索引从0开始: 列表[下标索引]
索引也可以是反向的,从-1往后,依次递减。
嵌套列表: my_list=[[1,2,3],[4,5,6]]
print (my_list([1][2])) #5
3、列表的方法
将函数定义为class的成员,那么函数就被称为方法。方法使用的时候先声明,再点里面的方法。 student=Student ()
num=student.add() (add是定义在其中的函数)
①列表的查询功能方法:查找指定元素在列表的下标索引是几,找不到报错ValueError。语法:列表.index(元素)
②列表的修改功能方法:修改特定位置(索引)的元素值。语法:列表[下标]=值
③插入:列表.insert(下标,元素),在指定的下标位置,插入指定的元素。
④追加:列表.append(元素),将指定元素,追加到列表的尾部。
追加2:列表.extend(其他数据容器),将其他数据容器的内容取出,依次追加到列表尾部。
⑤删除:语法1:del列表[下标]
语法2:列表.pop(下标)
语法3:列表.remove(元素),删除某元素在列表中的第一个匹配项。如my_list=[1,2,3,2,5]
my_list.remove(2) print (my_list),结果为[1,3,2,5]
⑥清空列表:列表.clear()
⑦统计某元素在列表中的数量:列表.count(元素)。 my_list=[1,2,3,2,5] print (my_list.count(2) ),结果为2
⑧统计列表内有多少元素:len(列表)
4、元组
元组一旦定义完成,就不可修改。
元组定义使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。
#定义元祖字面量
(元素,元素…)
#定义元组变量
变量名称=(元素,元素…)
#定义空元组
变量名称=()
变量名称=tuple()
注:只定义一个元组,后面必须带逗号。支持嵌套和下标索引。适用index() count() len(元组)
5、字符串的定义和操作
字符串可以通过下标进行访问,从前往后,下标从0开始,从后往前,下标从-1开始。和元组一样,字符串也无法修改。方法有index
①字符串的替换:字符串.replace(字符串1,字符串2),将字符串1全部替换为字符串2。得到新字符串。
②字符串的分割:字符串.split(分隔符字符串) 按照分隔符字符串,将字符串划分为多个字符串,并存入列表对象中。字符串本身不变,而是得到了一个列表对象。
③字符串的规整操作:
去前后空格 字符串.strip()
去前后指定字符串 字符串.strip(字符串),如my_str="12ass" print (my_str.strip("12"))结果为ass。传入的12,是按照1、2进行去除的。
count和len都可用。
6、序列
序列是指内容连续、有序,可使用下标索引的一类数据容器。列表,元组,字符串都可视为序列。
序列支持切片,即从一个序列中,取出一个子序列。语法:序列[起始下标:结束下标:步长]表示从序列中,从指定位置依次取出元素,到指定位置结束,得到一个新序列。起始下标留空表示从头开始,结束下标留空表示取到结尾。步长1表示一个一个取,步长2表示跳一个元素取,步长为1时可默认不写,步长-1从后往前取,相当于反转序列。
7、集合
不支持重复元素,内容无序。
语法:
#定义集合字面量
{元素,元素…,元素}
#定义集合变量
变量名称={元素,元素…,元素}
#定义空集合
变量名称=set()
注:集合是无序的,不支持下标索引访问。
①添加新元素:集合.add(元素),将指定元素添加到集合内。
②移除元素:集合.remove(元素),把指定元素从集合内移除。
③随机取元素:集合.pop(),从集合中随机取,会得到一个元素的结果,同时集合本身被修改,元素被移除。
④清空集合:集合.clear()
⑤取两个集合的差集:集合1.difference(集合2)取出集合1和集合2的差集,集合1有而集合2没有。得到一个新集合,集合1和2不变。
⑥消除两个集合的差集:集合1.difference_update(集合2),对比集合1和集合2,在集合1内,删除和集合2相同的元素。集合1被修改,2不变。
⑦两个集合合并:集合1.union(集合2),将集合1和集合2组合成新集合,集合1 2不变。
集合不能while循环,可以for循环。
8、字典
使用字典,实现用key取出value的操作。存储元素是键值对。
#定义字典字面量
{key:value, key:value,…key:value}
#定义字典变量
my_dict={key:value, key:value,…key:value}
#定义空字典
my_dict={}
my_dict=dict()
字典可嵌套,取的时候[][]。
注:key和value可以是任意类型,字典内的key不允许有重复,重复添加等同于覆盖原有数据。字典不可用下标索引,通过key检索value。
①新增元素:字典[key]=value,字典被修改,新增了元素。
更新元素:字典[key]=value,字典被修改,元素被更新。
key不存在就是新增,存在则是更新。
②删除元素:字典.pop(key),获得指定key的value,字典被修改,指定key的值被修改。
③清空字典:字典.clear(),字典被修改,元素清空。
④获取全部的key:字典.keys(),得到字典中的全部key
遍历:1 通过获取到全部的key来完成遍历 for key in keys
2、直接对字典进行for循环,每一次循环都得到key :for key in 字典名
P78总结对比
ASCII码中A从65,a从97,0从48
函数进阶
1、函数多返回值
def test_return():
return 1,2
…
x,y=test_return print (x) print (y)
按照返回值的顺序,写对应顺序的多个变量接收即可。变量之间用逗号隔开,支持不同类型的数据return。
2、函数多种参数类型p82
①位置参数:调用函数时根据函数定义的参数位置来传递参数。传递的参数和定义的参数的顺序及个数必须一致。
②关键字参数:函数调用时通过“键=值”形式传递参数。可以不按照固定顺序,也可和位置参数混用,位置参数必须在前,且匹配参数顺序。
函数调用时,如果有位置参数,位置参数必须在关键字参数的前面,但关键字参数之间不存在先后顺序。