1 注释
# 单行注释 '''(""") 第一行 第二行 '''(""")2 定义变量
变量名 = 值 #变量名规则 ''' ①由数字字母下划线组成 ②数字不能开头 ③不能使用内置函数 ④区分大小写 '''3 数据类型
int -整形 float -浮点型 bool -布尔型 str -字符串 --特点 “ ” tuble -元组 --特点 ( ) list -列表 --特点 [ ] set -集合 --特点{ } dirc -字典
4 格式化输出
①格式化符号
%s --字符串(其输出浮点型整形都可以) %f --浮点数 %d --有符号的十进制整数
查阅链接:格式化符号 -------------------------------------------------------------------------------------------------------------------------- ②格式输出模式
%.xf -表示保留x位(默认保留小数点后6位)
d -表示整数显示位(例:2位)不足向前补0超出原样反馈
#我的名字是8岁 a = 8 print("我的名字是%d岁" % a) #我今年3周岁,5虚岁 #注意后边(3, 5) 括号里“ 3,”后有一个空格再加上“ 5 ” print('我今年%d周岁,%d虚岁' % (3, 5))5 转义字符
\n -表换行(反斜杠) \t -表内容向后缩进4字符(制表符)
查阅链接:转义字符 ---------------------------------------------
1 input 和 print
(1) input
输入函数
其结果均为str -字符串
(2)print
本质:print("XXXX" ,end="\n")
-------------------------------------------------------------------------------------------------------------------------- 2 数据类型转换函数
int(x) -将x的数据类型转化为整数
float(x) -将x的数据类型转化为浮点数
str(x) -将x的数据类型转化为字符串
eval(str(x)) -将x的数据类型还原 -例x属于整数,str(x)属于字符串,eval(str(x))属于整数
tuple(x) -将x的数据类型转化为元组
list(x) -将x的数据类型转化为列表
查阅链接:数据类型转换函数 -------------------------------------------------------------------------------------------------------------------------- 3 运算符 ① 算数运算符
名称含义+加-减*乘/除//整除%取余**指数(例:2**3=8)② 赋值运算符
(1)基本
名称含义单个赋值a = 1多个赋值a, b, c = 1, 2, 3(2)复合赋值运算符
名称含义a+=2a=a+2a*=2a=a*2③ 比较运算符
比较运算符用法<小于<=小于等于>大于>=大于等于==等于!=不等于④ 逻辑运算符
(1)
逻辑运算符用法and并且(和)-先布尔再具体or或not非(反)注:print((a > b) or (b > C))
(2)
注意:print(x and y)
逻辑运算符(数字)用法andx和y中有一个为0返回为0;否则返回最后一个非0数字orx和y都为0返回0;否则则返回第一个非0数字(3)and 和 or深度理解
1(and):真 and 真 - 真 | 真 and 假 - 假 2 (or ): 真 or 真 -真| 真 or 假 - 真
0-假 1-真
---------------------------------------------
① if普通
if : xxx elif: xxx elif: xxx # 中间可以为多个elif else: xx #else表示上述不符合执行什么② if嵌套
if: xxxx xxxx if: xxx xxx③ 三目运算符
格式:c = a if a>b else b #定义一个C,如果a>b则c=a;如果a!=b则c=b 主要原理:# 一目定义变量;二目 if语句判断结果反馈向前给变量;三目 else语句判断结果反馈向后给变量
---------------------------------------------
① while普通
基础:# while表示语句下面的内容重复的去执行
学习代码:
i = 1 while i <= 4: print("yjl I LOVE YOU ") i += 1输出结果:
yjl I LOVE YOU yjl I LOVE YOU yjl I LOVE YOU yjl I LOVE YOU注: ①计算机通常从0开始计数 ②避免死循环(过度消耗CPU)
学习案例:
# 0+2+4+6+8+10....+100 (过程) i = 1 # 设置一个变量 re = 0 # 设置一个变量承接结果 while i <= 100: i += 1 if i % 2 == 0: # 取余数筛选偶数 re += i print(re)-------------------------------------------------------------------------------------------------------------------------- ② while嵌套
格式:
while 条件: #父循环 xxxx while 条件:#子循环 xxxx注: ①当从父循环到子循环,子循环条件执行完,会再次判断是否满足,满足继续执行子循环。 ②子循环彻底循环完成后才会执行子循环。
-------------------------------------------------------------------------------------------------------------------------- ③ break(常和if配合)
含义:如果符合条件,中止整个循环。 例如:一共有5道题目,由于能力有限只能完成前2道,break结束。
# 下面的代码为举例不符合语法 while 5道题目: if 完成前2题 break # 中止整个循环--------------------------------------------------------------------------------------------------------------------------
④ continue(常和if配合)
含义:如果符合条件,退出当前循环(不往下执行),执行下一次循环。 例如:一共有5道题目,完成前2道,第三道不会,continue跳过三进行四五题。
--------------------------------------------------------------------------------------------------------------------------
⑤ while…else(需要为正常结束)
易错:break结束的else不执行(continue为正常结束) 语法:
while xxx: xxx else: 循环后正常执行的代码--------------------------------------------------------------------------------------------------------------------------
⑥ 九九乘法表领悟与学习
完整代码:
j = 1 while j < 10: i = 1 while i <= j: print("%s * %s = %s" % (i, j, i*j), end="") i += 1 print() j += 1解析: (1)注重规律观察 注: ① 九九乘法表 a*b 中的b与行数相等均为不变 ②竖着看第一组乘法第一列均为1,第二组乘法第1列均为2…
(2)代码分析 ①while j < 10: # 前面已经设置j=1,把j当作行数 ②i = 1 # 其在while j < 10 循环语句下,在此位置将其赋值为1,目的是为了下面的while每次跳出循环再次让 i的值变为1,重新来进入循环 ③
while i <= j: print("%s * %s = %s" % (i, j, i*j), end="") i += 1# 这个while的目的是来打印出九九乘法表,其中print利用了复合赋值语句还有print的本质特点。 while i <= j:目的是前面的 i 每次都在跳出该循环后变为1再进入(这样该while循环的次数就会不断累加,j为1循环一次 j为2循环2次......), j也在不断逐渐累加,其中a*b 把b定义为j的原因就是通过观察出来(如上面注:②所说)
④print()#该print为第1个while下面的如果不加效果如下图其也是利用了print的本质(自动换行),在第2个while跳出后便会执行一次该语句进行换行 ---------------------------------------------
① 基础 for 临时变量 in 序列 #前一个变量为for内容输入到里面,后一个变量为已经设置好的
例如:
a = ("dada", "adad", "dada") for b in a: print(b)输出:
dada adad dada-------------------------------------------------------------------------------------------------------------------------- ② break 和 continue均可以在for语句中使用
总结:for语句把内容由一行分为多行 -------------------------------------------------------------------------------------------------------------------------- ③ for…else(需要为正常结束)
易错:break结束的else不执行(continue为正常结束)
for a in b: xxx else: 正常完成执行的代码④ range(范围) 格式:range(开始,结束,步长) 含义:输出从开始到结束跨越一定步长的数字需要配合for使用 例子:
for b in range(1, 3, 1): print(b) #输出为 1 2 3⑤ enumerate(列举)
格式:enumerate(数据序列) 含义:输出所有数据及其对应的下标,start=0默认下标0开始 例子:
a = [1, 2] for i in enumerate(a, start=0): print(i) #输出 (0, 1) (1, 2)---------------------------------------------
① 基本用法
(1)三字符特殊用法
a = """adad ddd""" print(a)输出:
adad ddd(2)字符串格式化输出 h = 12 print("数据为%s" % h) print(f'数据为{h}') -------------------------------------------------------------------------------------------------------------------------- ② 下标
格式:c[] 含义:字符串会保存在系统内存中,而内存会为字符串分配位置,所以可以用“下标”查询位置内容 c = 'gdgd' print(c[0]) 输出: g --------------------------------------------------------------------------------------------------------------------------
③ 切片
格式:a[开始:结束:步长] 含义:下标查询位置内容一部分 注: ①a[1:3:1] 前闭后开 ②a[:3:1] or a[1::1] 没有的部分闭区间,有数字的部分开区间 ③步长可为负数。但要注意(负号代表方向)方向性。例如:a[6:1:-1]正确a[1:6:-1]错误 ④a[-1:-5:1] 负号为从后往前数(具有方向性) --------------------------------------------------------------------------------------------------------------------------
④ 字符串常用查找方法
(1)find函数
含义:确定需要字符串的位置 用法:字符串.find(需要字符串内容,开始位置,结束位置) 特点:如果找到反馈找到的位置数字,如果没有找到反馈-1 例子:
such = "gang han ai lan ji y" print(such.find("l", 0, 20))输出: 12
--------------------------------------------------------------------------------------------------------------------------
(2)index(索引;为…编索引)函数 含义:确定需要字符串的位置 用法:字符串.index(需要字符串内容,开始位置,结束位置) 特点:如果找到反馈找到的位置数字,如果没有找到就会报错 --------------------------------------------------------------------------------------------------------------------------
(3)count函数 含义:查询需要的字符串出现了几次 用法:字符串.count(需要字符串内容,开始位置,结束位置) 特点:如果找到反馈目标字符串在整个字符串中出现的次数,没有找到反馈0。 --------------------------------------------------------------------------------------------------------------------------
(4)rfind 含义:同find用法都相同,只是找的时候从右向左寻找 --------------------------------------------------------------------------------------------------------------------------
(5)rindex 含义:同index用法都相同,只是找的时候从右向左寻找
--------------------------------------------------------------------------------------------------------------------------
⑤ 字符串常用修改方法 注:定义的字符串内容是不能被修改的。
(1)replace函数 含义:新设一个变量来承接原字符串里的数据,里面的数据由replace来替换。 格式:a = 字符串序列.replace(旧子串,新子串,替换次数) 特点:由于字符串本身不能被改变,所以新设字符串来将原字符串修改后的内容写入。 例子:
shuju = "wo ai ga ge li ne hhhh ga ge ni hhhh" shuju1 = shuju.replace("ga", "大哥", 1) print(shuju1)输出: wo ai 大哥 ge li ne hhhh ga ge ni hhhh --------------------------------------------------------------------------------------------------------------------------
(2) split(分裂;分开)函数 含义:按指定内容分割字符串(分割字符将被删除)返回一个列表内容。 格式:a = 字符串序列.split(分割字符,使用次数) 特点:返回数据的个数比使用次数多1。 例子:
shu = "wo ai ni gege ne ni ma ni ba" shu2 = shu.split("ni", 3) print(shu2)输出: ['wo ai ', ' gege ne ', ' ma ', ' ba'] --------------------------------------------------------------------------------------------------------------------------
(3) join(连接;连接点)函数 含义:用指定字符串去将多个字符串合并成为一个新的字符串。 格式:a = 指定字符串.join(旧的盛放多个字符串的列表等) 例子:
a = ["jgh", "adad", "dada"] b = "---".join(a) print(b)输出: jgh---adad---dada ⑥ 字符串常用大小写转换
(1)capitalize(capital+ize把…首字母大写)函数 含义:只将字符串第一个字符大写 格式:字符串.capitalize() --------------------------------------------------------------------------------------------------------------------------
(2)title函数 含义:将字符串每个单词首字母大写 格式:字符串.title() --------------------------------------------------------------------------------------------------------------------------
(3)upper 含义:将字符串所有英文字符大写 格式:字符串.upper() --------------------------------------------------------------------------------------------------------------------------
(4)lower 含义:将字符串所有英文字符小写 格式:字符串.lower()
⑦ 字符串常用删除空白符号
(1)lstrip(left strip - 左边除去) 含义:删除左边的空白 格式:a.lstrip() --------------------------------------------------------------------------------------------------------------------------
(2)rstrip(right strip - 右边除去) 含义:删除左边的空白 格式:a.rstrip() --------------------------------------------------------------------------------------------------------------------------
(3)strip(strip - 除去) 含义:删除两边的空白 格式:a.strip() --------------------------------------------------------------------------------------------------------------------------
⑧ 字符串常用对齐方法
(1)ljust(left just -仅仅左) 含义:使字符串左对齐 格式:a.ljust(长度,填充字符) 例子:
a = "fsfsfsf" print(a) b = a.ljust(20, ".") print(b)输出:
fsfsfsf fsfsfsf.............--------------------------------------------------------------------------------------------------------------------------
(2)rjust(right just -仅仅右) 含义:使字符串右对齐 格式:a.rjust(长度,填充字符)
--------------------------------------------------------------------------------------------------------------------------
(3)center(居中) 含义:使字符串居中 格式:a.center(长度,填充字符)
⑨ 字符串常用开头结尾判断方法
(1)startswith(开头迅速) 含义:(从左向右)查看字符串是否由指定字符开头,返回值为布尔型 格式:a.startswith("字串”,开头,结尾) --------------------------------------------------------------------------------------------------------------------------
(2)endswith(结尾迅速) 含义:(从右向左)查看字符串是否由指定字符开头,返回值为布尔型 格式:a.endswith("字串”,开头,结尾)
⑩ 字符串常用全部内容判断
(1)isalpha(alpha-希腊字母表的第1个字母) 含义:均为字母返回True 否则返回False(注意空格) 格式:a.isalpha() --------------------------------------------------------------------------------------------------------------------------
(2)isdigit(digit-数字) 含义:均为数字返回True 否则返回False(注意空格) 格式:a.isdigit() --------------------------------------------------------------------------------------------------------------------------
(3)isspace(space-空白) 含义:均为空白返回True 否则返回False(注意空格) 格式:a.isspace() --------------------------------------------------------------------------------------------------------------------------
(4)isalnum(all number - 所有内容) 含义:为数字或字母返回True 否则返回False(注意空格) 格式:a.isalnum()
---------------------------------------------
① 下标(列表同样具有切片功能)
格式:c[] 含义:字符串会保存在系统内存中,而内存会为字符串分配位置,所以可以用“下标”查询位置内容 ② 列表常用查找方法
(1)index 格式:a.index(“列表内容”,开始, 结束) --------------------------------------------------------------------------------------------------------------------------
(2)count 格式:a.count(“列表内容”,开始,结束) --------------------------------------------------------------------------------------------------------------------------
(3)len 含义:访问列表长度 格式:len(列表) 注:上述内容字符串,元组,集合,字典都可以应用
③ 判断内容是否存在
in not in 含义:判断内容是否在列表元组等等里面(返回布尔型数据) 格式:“dan” in 列表(其它) 注:字符串,元组,集合,字典都可以应用
④ 列表常用增加方法
(1)append(增补-只是增加上) 含义:往列表内数据末尾追加一个数据 格式:列表.append(“所加内容”) 特殊:如果追加一个序列,则序列会追加到数据后。例:a = ["ack", ["jack", "bo"], "lu"]其中[“jack”, “bo”]就是作为列表序列整体被添加进去。 --------------------------------------------------------------------------------------------------------------------------
(2)extend(扩展-按格式扩展) 含义:往列表内数据末尾追加一个数据 格式:列表.extend(“所加内容”) 特殊:如果追加一个序列,则序列会展开追加到数据后。例:a = ["ack", "jack", "bo", "lu"]其中 “jack”, "bo"就是作为[“jack”, “bo”]序列被展开添加进去。 --------------------------------------------------------------------------------------------------------------------------
(3)insert(插入-在某位置写入) 含义:在列表中指定的位置写入 格式:列表.insert(下标位置, “内容”) 特殊:同append一样都是将数据整体加入其中
⑤ 列表常用删除方法
(1)del(字符串也可用) 含义:删除列表或者删除列表指定内容 格式:del 列表 #表示全删(字符串可用) del 列表[1]#表示删除列表下标为1的数据(字符串不可用) --------------------------------------------------------------------------------------------------------------------------
(2)pop(突然去) 含义:当指定时(下标)删除指定内容,并且反馈删除的内容;当不指定时删除最后一个数据,并且反馈删除的内容 格式:列表.pop() 或者 列表.pop(1) 特殊:会返回值 ,如print(a.pop(1)# 假设a = ["da", "dad"]反馈为dad --------------------------------------------------------------------------------------------------------------------------
(3)remove(移动) 含义:删除指定内容(非下标使用) 格式:列表.remove(“内容") 特殊:内容不在列表里会报错 --------------------------------------------------------------------------------------------------------------------------
(4)clear(清空) 含义:不把列表删除但把列表清空变为[] 格式:列表.clear()
⑥ 列表常用修改内容方法
(1)直接法 格式:列表[0] = “要改为的内容” --------------------------------------------------------------------------------------------------------------------------
(2)reverse(颠倒 ;注意reserve-保留) 含义:将指定列表内容逆序 格式:列表.reserve() --------------------------------------------------------------------------------------------------------------------------
(3)sort(种类;排序) 含义:把内容进行升序或者降序 格式:默认为升序-列表.sort();降序-列表.sort(key = None, reverse = True)
⑦ 列表常用复制内容方法
copy 含义:赋值内容到变量里 格式:变量 = 列表.copy()
⑧ 列表嵌套
a = [["dad", "a"], ["dgd", "jkl"]]大列表 数据查询:a[1][1] 查询结果:jkl
①定义:元组为使用小括号并且逗号隔开(逗号很重要)
例如:a = (1) #输出为int a =("qqqda") #输出为str a = ("dada",) #输出为tuple
② 下标(元组同样具有切片功能)
格式:c[] 含义:字符串会保存在系统内存中,而内存会为字符串分配位置,所以可以用“下标”查询位置内容 ③ 元组常用查找方法
(1)index 格式:a.index(“列表内容”,开始, 结束) --------------------------------------------------------------------------------------------------------------------------
(2)count 格式:a.count(“列表内容”,开始,结束) --------------------------------------------------------------------------------------------------------------------------
(3)len 含义:访问列表长度 格式:len(列表) 注:上述内容字符串,元组,集合,字典都可以应用
④ 元组注意
(1)元组不可以修改 (2)元组里面如果有列表可以修改列表a = ("da", "dad" , [1, 2])#其中[1, 2]可以修改
① 含义:符号为大括号;键值对;键值对逗号隔开 me = {"name":"tom"," value":5}
②字典常见增添方法
格式:字典序列[key] = 值 含义:key存在修改key值;不存在添加key值
③ 字典常见删除方法
(1)del 含义:删除指定内容或者删除字典 --------------------------------------------------------------------------------------------------------------------------
(2)clear 含义:将字典内容清空
④字典常见查找方法
(1)get 格式:字典序列.get(key,默认值) 含义:如果key存在返回value;若key不存在返回默认值,如果默认值没有填写返回None --------------------------------------------------------------------------------------------------------------------------
(2)keys 格式:字典序列.keys() 含义:返回字典中所有的keys。反馈输入如 dict_keys(["dada", "dad"]) 特殊:返回的数据是元组 --------------------------------------------------------------------------------------------------------------------------
(3)values 格式:字典序列.values() 含义:返回字典中所有的values。反馈输入如 dict_values(["dada", "dad"]) 特殊:返回的数据是元组 --------------------------------------------------------------------------------------------------------------------------
(4)items(项目) 格式:字典序列.items() 含义:返回字典中所有的keys和values。反馈输入如 dict_items(["dada:"ffaf"], ["dad":"dada"]) 特殊:返回的数据是元组
⑤ 字典的遍历
(1)基础 特殊:print(a.keys())#显示的为dict_keys(["dada", "dad"]) 特殊:
a = {"dad": "ddd", "da": "koi"} for b in a.items(): print(a) #输出为 ('dad', 'ddd') ('da', 'koi') 都输出的情况下为元组(2)拆包 特殊:
a = {"dad": "ddd", "da": "koi"} for key,value in a.items(): print(f"{key}={value}") #输出为 dad=ddd da=koi①基础
1.集合特点:无序性(不可以使用下标);不可重复性 2.空集合创建方法:set()#不可以直接{}(这个为空字典)
② 集合常用增添
(1)add 含义:增加1个内容(多个不行) 格式:集合.add("内容“) --------------------------------------------------------------------------------------------------------------------------
(2)update(给…增加最新信息) 含义:增加多个内容(一个不行) 格式:集合.update(”内容“) 具体添加方法:
a = {1, 2} a.update([1, 2, 3]) print(a)③ 集合常用删除
(1)remove 含义:删除指定数据 格式:集合.remove(“数据”) 特殊:删除的数据集合中没有会报错 (2)discard(丢弃) 含义:删除指定数据 格式:集合.discard(“数据”) 特殊:删除的数据集合不存在不会报错 (3)pop(突然去) 含义:随机删除一个 格式:集合.pop()
① 查找方法
(1) 简单
下标(切片)可查:字符串.元组.列表 下标(切片)不可查:集合(随机性).字典(键值对) ———————↓————————↓ —————不可能判断——类似下标查找a.[key]
(2)通用函数
字符串.元组.列表:index-count 集合:无 字典:get-keys-values-items (3)不常用函数(不通用)
字符串:find-rfind-rindex 其他:无 ② 增加方法
(1)简单
可修改(增减):列表.字典.集合 不可修改(增减):字符串.元组
列表:a[0] = 8 字典:a[key] = 8 集合:无简单需要函数
(2)函数(各不相同)
列表:append-extend-insert 字典:无函数 集合:add-update
③ 删除方法
(1)简单
列表:a[0] = 8 字典:a[key] = 8 集合:无简单需要函数
可修改(增减):列表.字典.集合 不可修改(增减):字符串.元组 (2)通用函数
列表.字典.集合:clear-pop- remove(字典不行)
(3)不常用函数(不通用)
列表:无 字典:无 集合:discard (4)通用方法
1.删除 列表.字典.集合.字符串.元组:del 2.复制 列表.字典.集合:copy
④ 某些特殊用法
字符串 (1)字符串常用挪移方法:replace-split-join (2)字符串常用大小写转换:capitalize-title-upper-lower (3)字符串常用删除空白符号:strip-lstrip-rstrip (4)字符串常用对齐方法:ljust-rjust-center (5)字符串常用开头结尾判断方法:startswith-endswith (6)字符串常用全部内容判断:isalnum-isalpha-isdigit-isspace 列表 (1)列表常用修改内容顺序方法:reverse-sort
⑤ 公共的方法
字符串.列表.元组:加法 乘法 print(a+b) print(a*5)
列表.字典.集合.字符串.元组:使用in 或者 not in*判断数据 *是否在里面
列表.字典.集合.字符串.元组:len()(长度)
列表.字典.集合.字符串.元组:min()
列表.字典.集合.字符串.元组:max()
a = (1, 2, 3) b = [3, 4, 6] c = {5, 6, 9} 注意:列表集合元组可以转换 格式:ste() tuple() list()
(1)
list1 = [a for a in range(10)] 注意:a for a in range(10) for前的承接变量要和 for后的一样 print(list1) 输出:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
总结:a 承接着for a in range(10)一次次循环下来的值,直接就存储起来
(2) list1 = [a for a in range(10) if a % 2 != 0] print(list1) 输出:[1, 3, 5, 7, 9]
总结:a承接for a in range(10) if a % 2 !=0一次次循环然后判断
(3) list1 = [[a, b] for a in range(3) for b in range(2)] print(list1) 输出:[[0, 0], [0, 1], [1, 0], [1, 1], [2, 0], [2, 1]]
总结:[a, b]承接后面的过程结果 先进行第1个for循环再把里面的第2个循环执行全完再跳出执行第1个for再进入第2个进行全完再出来(类似于嵌套原理)…
①基础
(1)定义
定义: def yy(): xx xx(2)调用
函数名()(3)例子
def dates(): print("你好") print("大大") print(6666) dates() 输出: ''' 6666 nh dada '''(4)参数
def daj(a,b): c = a + b print(c) daj(2,3) 输出: 5(5) 返回值 含义:return以下的语句不会被执行;return返回值需要print打印如:print(return 666)
def ppp(): return "bgm" a = ppp() print(a) 输出: bgm