1字面量print(hello world) print(222222222) print(True) print(False) print(----) print (None) print(3.14)2变量Python 的变量没有固定类型你给它赋什么值它就是什么类型后面赋值会覆盖前面True真和False假是 Python 里的布尔值属于单独类型bool注意首字母必须大写一行可以给多个变量同时赋值num1 print(num) numok print(num) numTrue print(num,num) a10 b20 c,b33,60 print(ab,ab)3标识符4数据类型type( )是 Python 的内置函数作用查看 数据 / 变量 是什么类型print(type(10)) print(type(10.1)) print(type(hhh)) num8 print(type(num))5字符串定义用引号包裹字符来定义字符串支持单引号、双引号、三引号三种写法功能完全一致只是适用场景不同。单双引号没有任何区别都只能定义一行字符串不能直接换行三引号专门用来定义带换行、空格的多行文本把两个字符串连在一起直接用str113能直接把113转换成字符串转义字符含义\表示字符串内的单引号\表示字符串内的双引号\n换行\t制表符空格缩进\\表示反斜杠本身s1hh s2333gggg s3 333 44 hhh print(s1) print(s2) print(s3) msgit is good print(msg) msg_2It\s good print(msg_2) print(谢谢大家\n我是橘子) msg_2 Its good # 双引号包裹内部单引号直接用无需转义 print(msg_2) print(橘子说:s1,s2) # 字符串拼接6字符串格式化%占位符格式化用%s占位置末尾%(变量1,变量2,...)填充兼容字符串、数字f-string 格式化字符串前加f直接用{变量名}嵌入变量写法更简单直s1大家好 s2我是橘子 s318 print(今日是晴天%s,%s,今年%s岁%(s1,s2,s3)) name橙子 print(f大家好我是{name},今年{s3}岁) print(大家好我是 name ,今年 str(s3) 岁)7输入与输出input()函数用于接收用户键盘输入括号内是输入提示语获取到的内容默认都是字符串类型。算术时需要进行int float转化可将输入结果赋值给变量实现数据存储。nameinput(请输入你的姓名) print(f你的姓名是{name})8算术运算符加法示例3 5→ 结果8-减法示例9 - 2→ 结果7*乘法示例4 * 6→ 结果24/除法运算结果永远是小数浮点数 示例8 / 2→ 结果4.0//整除相除后只保留整数部分舍弃小数 示例9 // 2→ 结果4%取余取模求除法运算后的余数 示例9 % 2→ 结果1**幂运算计算数值的次方 示例2 ** 3→ 结果82 的 3 次方# 加法 print(3 5) # 减法 - print(9 - 2) # 乘法 * print(4 * 6) # 除法 / print(8 / 2) # 整除 // print(9 // 2) # 取余 % print(9 % 2) # 幂运算 ** print(2 ** 3)9赋值运算符基础赋值将右侧数据 / 运算结果赋值给左侧变量。复合赋值算术运算符 的简写逻辑为先运算、再重新赋值包含、-、*、/、//、%、**# 1. 基础赋值 a 10 print(初始值 a , a) # 2. 加法赋值 等价于 a a 5 a 5 print(a 5 →, a) # 3. 减法赋值 - 等价于 a a - 3 a - 3 print(a - 3 →, a) # 4. 乘法赋值 * 等价于 a a * 2 a * 2 print(a * 2 →, a) # 5. 除法赋值 / 等价于 a a / 4 a / 4 print(a / 4 →, a) # 6. 整除赋值 // 等价于 a a // 2 a // 2 print(a // 2 →, a) # 7. 取余赋值 % 等价于 a a % 3 a % 3 print(a % 3 →, a) # 8. 幂运算赋值 ** 等价于 a a ** 4 a ** 4 print(a ** 4 →, a)10比较运算符等于判断两侧数值是否相等!不等于判断两侧数值是否不相等大于、小于常规大小比较大于等于、小于等于包含等于的大小判断x 15 y 8 # 1. 判断是否相等 print(x y, x y) # 2. 判断是否不等 ! print(x ! y, x ! y) # 3. 大于 print(x y, x y) # 4. 小于 print(x y, x y) # 5. 大于等于 print(x y, x y) # 6. 小于等于 print(x y, x y) # 补充数值相等的测试 m 20 n 20 print(m n, m n)11逻辑运算符逻辑运算符用来组合多个判断条件运算结果只有True真和False假共 3 个and逻辑与两边条件全都成立结果才为True任一不成立则为False。or逻辑或两边条件只要有一个成立结果就为True全部不成立才为False。not逻辑非对条件结果取反真变假、假变真。a 10 b 5 # 1. 逻辑与 and print(a b and a 20, a b and a 20) # 两个条件都成立 print(a b and a 5, a b and a 5) # 一个条件不成立 # 2. 逻辑或 or print(a 3 or b 2, a 3 or b 2) # 一个条件成立 print(a 1 or b 9, a 1 or b 9) # 两个条件都不成立 # 3. 逻辑非 not取反 print(not (a b), not (a b)) # 原条件为真取反变假 print(not (a b), not (a b)) # 原条件为假取反变真 # 组合运算示例 print(a 8 and b 3 or a 10, a 8 and b 3 or a 10)12if基础语法单if满足条件就执行不满足直接跳过if...else二选一条件成立执行if块否则执行else块if...elif...else多分支判断从上至下匹配条件匹配到就执行全部不满足则走else。age 18 # 条件年龄大于等于18 if age 18: print(已成年) age 15 if age 18: print(已成年) else: print(未成年) score 75 if score 90: print(成绩优秀) elif score 80: print(成绩良好) elif score 60: print(成绩及格) else: print(成绩不及格)13match caseday input(输入星期几) match day: case 1: print(星期1) case 2: print(星期2) case _: print(qita)match day:看着day这个变量里的内容准备分拣。case 1:如果内容是 1就执行下面的print(星期1)。case 2:如果内容是 2就执行下面的print(星期2)。重点case _:这个下划线_相当于考试里的“以上选项都不对”也就是兜底选项。如果用户输入的既不是 1 也不是 2比如输入了 8 或者 苹果就会统统掉进这个兜底选项里打印出 qita。14while elsei0 while i4: print(juzi) i 1 else: print(结束)i 0满足i 4打印第1次 juzii变成 1。i 1满足i 4打印第2次 juzii变成 2。i 2满足i 4打印第3次 juzii变成 3。i 3满足i 4打印第4次 juzii变成 4。此时i 4i 4不再成立循环正常结束。else的作用当while循环正常走完条件不满足而结束的时候就会自动去执行else里面的代码所以最后屏幕上会打印出 结束。15for循环for 临时变量 in 可迭代对象: # 这里是循环体 # 每次循环都会执行这里的代码“可迭代对象”就是指那些可以把里面的元素一个一个拿出来的东西比如一组排好队的数据列表、一段文字字符串或者range()生成的数字序列。# 1. 准备一个列表相当于一个装满水果的篮子 fruits [苹果, 香蕉, 橘子] # 2. 开始 for 循环 for f in fruits: print(我吃了一个:, f) else: print(水果吃完了)fruits [苹果, 香蕉, 橘子]这是我们提前准备好的数据f这就是基本结构里的临时变量。你可以把它当成一个“搬运工”。在每一次循环中电脑会自动把篮子里的下一个水果交给它。16range语句案例计算1到100的所有奇数之和col0 for i in range(1, 101): if i % 2 ! 0: col i print(col)17for循环嵌套案例案例1#写一个简单的嵌套for循环打印一个3行4列的矩形 for i in range(3): # 外层循环控制行数 for j in range(4): # 内层循环控制列数 print(*, end ) # 打印星号并保持在同一行 print() # 每打印完一行后换行i执行1次j会执行4次在 Python 中print()函数有一个“隐藏设定”每次打印完你给的内容后它都会在最后默认加上一个换行符。平时我们写多个print()时内容会一行一行地往下排。当加上end 后你是在强制告诉 Python打断一下这次打印完之后不要给我自动换行给我加上一个空格就好。案例2打印一个9*9乘法表# 打印一个9*9乘法表 for i in range(1, 10): for j in range(1, i 1): print(f{j}*{i}{i*j}, end\t) # 使用制表符对齐 print() # 每打印完一行后换行18容器18.1list列表就像是一个带有编号的多格收纳盒或者一列火车。你可以往里面按顺序装各种各样的东西还可以随时把东西拿出来、放进新的去、或者直接根据编号查一查某个格子里装的是什么。列表名字 [数据1, 数据2, 数据3]# 1. 创建一个列表初始购物车 cart [苹果, 香蕉, 牛奶] print(一开始的购物车:, cart) # 2. 查获取列表里的特定元素 (按编号拿) first_item cart[0] print(购物车的第1个东西是:, first_item) # 3. 增使用 append() 方法往列表末尾加东西 cart.append(面包) print(加了面包后:, cart) # 4. 删使用 remove() 方法删掉特定的东西 cart.remove(香蕉) print(拿走香蕉后:, cart) # 5. 量使用 len() 函数看看列表里现在有几个东西 total_items len(cart) print(现在购物车里有几个东西:, total_items)18.1.1列表切片新列表 原列表[起始位置 : 结束位置 : 步长]必须记得顾头不顾尾# 准备一条长长的“面包”一个包含6个字母的列表 letters [A, B, C, D, E, F] # 记住它们的编号索引 0, 1, 2, 3, 4, 5 # 基础切片切取中间的一部分 slice1 letters[1:4] print(1到4切片:, slice1) # 省略起始位置从头开始切 slice2 letters[:3] print(从头切到3:, slice2) # 省略结束位置一直切到尾 slice3 letters[3:] print(从3切到尾:, slice3) # 加入步长跳着切 slice4 letters[0:6:2] print(每隔2步切一次:, slice4)18.1.2list方法# 准备一个初始列表 cards [5, 2, 9, 1] print(0. 初始状态:, cards) # 1. append() - 在末尾追加 cards.append(7) print(1. append 后:, cards) # 2. insert() - 强行插队 # 在索引为 1 的位置即原来数字 2 的位置插入数字 8 cards.insert(1, 8) print(2. insert 后:, cards) # 3. remove() - 按名字删除 cards.remove(9) # 找到数字 9 并把它扔掉 print(3. remove 后:, cards) # 4. pop() - 按位置弹出 # 不写位置默认弹出删掉最后一张牌并且你能“接住”它 last_card cards.pop() print(f4. pop 弹出了 {last_card}剩余列表:, cards) # 5. sort() - 从小到大排序 cards.sort() print(5. sort 排序后:, cards) # 6. reverse() - 整个反转 cards.reverse() print(6. reverse 反转后:, cards)18.1.3list 案例#将用户输入的10个数字存入一个列表中并将列表的数字进行排序输出其中的最小值和最大值和评价值 numbers [] for i in range(10): num int(input(f请输入第{i 1}个数字: )) numbers.append(num) numbers.sort() print(排序后的数字:, numbers) print(最小值:, numbers[0]) print(最大值:, numbers[-1]) print(平均值:, sum(numbers) / len(numbers))18.2字符串str18.2.1字符串切片# 0. 准备一条“珍珠项链”字符串 message Hello, Python! # 1. 查按位置索引拿单个字符 first_char message[0] print(第1个字符是:, first_char) # 2. 切字符串切片 (顾头不顾尾) # 截取从 0 到 4 的字符 hello_part message[0:5] print(切片前5个字符:, hello_part) # 3. 量测量字符串长度 length len(message) print(字符串总长度包含标点和空格:, length) # 4. 拼把两个字符串连起来 new_message message 我来学你了 print(拼接后的新字符串:, new_message) # 5. 常用专属方法替换与大小写转换 upper_msg message.upper() # 全部转大写 print(全大写:, upper_msg) replaced_msg message.replace(Python, World) # 替换内容 print(替换后的内容:, replaced_msg)18.2.2字符串方法# 准备一段有前后空格的测试文本 text Hello Python, hello World! print(0. 初始文本:[, text, ]) # 用中括号包起来方便你看清空格 # 1. strip() - 脱去两边的“外套”去除首尾空格 clean_text text.strip() print(1. strip 清理后:[clean_text]) # 2. lower() upper() - 大小写转换 print(2. lower 全小写:, clean_text.lower()) print(3. upper 全大写:, clean_text.upper()) # 4. find() - 寻人启事找位置 # 注意我们用清理过空格的 clean_text 来找 position clean_text.find(Python) print(4. find 找 Python 的位置:, position) # 5. count() - 点名统计数个数 # 我们数一数小写的 hello 出现了几次 hello_count clean_text.count(hello) print(5. count 数 hello 的次数:, hello_count) # 6. replace() - 偷梁换柱替换内容 new_text clean_text.replace(World, Universe) print(6. replace 替换后:, new_text) # 7. startswith() - 查户口判断开头 is_start clean_text.startswith(Hello) print(7. startswith 是不是以 Hello 开头:, is_start) # 8. split() - 菜刀切菜分割字符串为列表 # 我们准备一个用逗号隔开的水果字符串 fruits_str 苹果,香蕉,橘子 fruits_list fruits_str.split(,) print(8. split 按逗号切开后的列表:, fruits_list)18.2.3案例#邮箱格式验证用户输入邮箱验证邮箱格式是否正确 email input(请输入您的邮箱地址: ) if in email and . in email: print(邮箱格式正确) else: print(邮箱格式不正确)小东西 in 大容器(比如字符串、列表) # 如果找到了就返回 True真没找到就返回 False假18.3元组tuple18.3.1元组切片可以随意增删改的列表 (List)以及不能被修改的字符串 (String)元组的元素不能修改# 0. 创建一个元组 rainbow (红, 橙, 黄, 绿, 青, 蓝, 紫) print(完整的彩虹:, rainbow) # 1. 查按位置索引拿单个数据 first_color rainbow[0] print(第1种颜色是:, first_color) # 2. 切片截取其中一部分 (顾头不顾尾) # 切取索引 1 到 4不包含4的颜色 middle_colors rainbow[1:4] print(切出来的中间颜色:, middle_colors) # 加入步长跳着切 (每隔2步切一个) jump_colors rainbow[0:7:2] print(跳着切出的颜色:, jump_colors) # 3. 错误示范试图打破玻璃柜 # 如果你取消下面这行代码的注释程序会立刻报错 # rainbow[0] 黑 # 报错元组对象不支持修改元素元组初始化用18.3.2元组方法# 0. 准备一个元组记录中奖金额 lottery_records (5, 0, 5, 50, 0) print(0. 中奖记录:, lottery_records) # 1. count() - 统计中 5 块钱的次数 five_yuan_times lottery_records.count(5) print(1. 中 5 块钱的次数:, five_yuan_times) # 2. index() - 查查 50 块钱是哪一次中的找位置 fifty_yuan_position lottery_records.index(50) print(2. 中 50 块钱的索引位置:, fifty_yuan_position)t2()空元组#单元素元组 t3(5,) print(type(t3))单元素元组18.3.3解包与组包