白帽养成:PYTHON(网络)编程

    技术2022-07-11  130

    一 python基础语法1 变量和数据类型2 数据类型转换和运算符3 if语句4 while循环5 for循环6 字符串(可查不可变)7 列表 (可查可变)8 元组 (可查不可变)9 字典 (可查[查询方法有所不同]可变)10 集合 (不可查可变)11 字符串.元组.列表.集合.字典总结(关键点)12 容器类型转换13 推导式(简化代码)14 函数

    一 python基础语法

    1 变量和数据类型

    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字符(制表符)

    查阅链接:转义字符 ---------------------------------------------

    2 数据类型转换和运算符

    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-真

    ---------------------------------------------

    3 if语句

    ① 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语句判断结果反馈向后给变量

    ---------------------------------------------

    4 while循环

    ① 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 完成前2break # 中止整个循环

    --------------------------------------------------------------------------------------------------------------------------

    ④ 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跳出后便会执行一次该语句进行换行 ---------------------------------------------

    5 for循环

    ① 基础 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)

    ---------------------------------------------

    6 字符串(可查不可变)

    ① 基本用法

    (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()

    ---------------------------------------------

    7 列表 (可查可变)

    ① 下标(列表同样具有切片功能)

    格式: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

    8 元组 (可查不可变)

    ①定义:元组为使用小括号并且逗号隔开(逗号很重要)

    例如: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]可以修改

    9 字典 (可查[查询方法有所不同]可变)

    ① 含义:符号为大括号;键值对;键值对逗号隔开 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

    10 集合 (不可查可变)

    ①基础

    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()

    11 字符串.元组.列表.集合.字典总结(关键点)

    ① 查找方法

    (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()

    12 容器类型转换

    a = (1, 2, 3) b = [3, 4, 6] c = {5, 6, 9} 注意:列表集合元组可以转换 格式:ste() tuple() list()

    13 推导式(简化代码)

    (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个进行全完再出来(类似于嵌套原理)…

    14 函数

    ①基础

    (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
    Processed: 0.022, SQL: 10