python零基础入门教学
2026/7/21 9:32:09 网站建设 项目流程

1:字面量

print('hello world') print("222222222") print(True) print(False) print("----") print (None) print(3.14)

2:变量

  • Python 的变量没有固定类型
  • 你给它赋什么值,它就是什么类型
  • 后面赋值会覆盖前面
  • True(真)和False(假)是 Python 里的布尔值
  • 属于单独类型:bool
  • 注意:首字母必须大写!
  • 一行可以给多个变量同时赋值
num=1 print(num) num="ok" print(num) num=True print("num=",num) a=10 b=20 c,b=33,60 print("a+b=",a+b)

3:标识符

4:数据类型

type( )是 Python 的内置函数,作用:查看 数据 / 变量 是什么类型

print(type(10)) print(type(10.1)) print(type("hhh")) num=8 print(type(num))

5:字符串定义

引号包裹字符来定义字符串,支持单引号、双引号、三引号三种写法,功能完全一致,只是适用场景不同。

单双引号没有任何区别,都只能定义一行字符串(不能直接换行);

三引号:专门用来定义带换行、空格的多行文本

把两个字符串连在一起:直接用+

str(113):能直接把113转换成字符串

转义字符含义
\'表示字符串内的单引号
\"表示字符串内的双引号
\n换行
\t制表符(空格缩进)
\\表示反斜杠本身
s1="hh" s2='333gggg' s3=""" 333 44 hhh """ print(s1) print(s2) print(s3) msg="it is good" print(msg) msg_2='It\'s good ' print(msg_2) print("谢谢大家\n我是橘子") msg_2 = "It's good" # 双引号包裹,内部单引号直接用,无需转义! print(msg_2) print("橘子说"+":"+s1+","+s2) # 字符串拼接

6:字符串格式化

  • %占位符格式化:用%s占位置,末尾%(变量1,变量2,...)填充,兼容字符串、数字
  • f-string 格式化:字符串前加f,直接用{变量名}嵌入变量,写法更简单直
  • s1="大家好" s2="我是橘子" s3=18 print("今日是晴天,%s,%s,今年%s岁"%(s1,s2,s3)) name="橙子" print(f"大家好,我是{name},今年{s3}岁") print("大家好,我是" + name + ",今年" + str(s3) + "岁")

7:输入与输出

  • input()函数:用于接收用户键盘输入,括号内是输入提示语,获取到的内容默认都是字符串类型。算术时,需要进行int float转化
  • 可将输入结果赋值给变量,实现数据存储。
name=input("请输入你的姓名") 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→ 结果8(2 的 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 个:

  1. and(逻辑与):两边条件全都成立,结果才为True;任一不成立则为False
  2. or(逻辑或):两边条件只要有一个成立,结果就为True;全部不成立才为False
  3. 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)

12:if基础语法

  • 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("成绩不及格")

13:match case

day =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"。

14:while else

i=0 while i<4: print("juzi") i +=1 else: print("结束")

i = 0,满足i < 4,打印第1次 "juzi",i变成 1。

i = 1,满足i < 4,打印第2次 "juzi",i变成 2。

i = 2,满足i < 4,打印第3次 "juzi",i变成 3。

i = 3,满足i < 4,打印第4次 "juzi",i变成 4。

此时i = 4i < 4不再成立,循环正常结束。

else的作用:while循环正常走完,条件不满足而结束的时候,就会自动去执行else里面的代码,所以最后屏幕上会打印出 "结束"。

15:for循环

for 临时变量 in 可迭代对象: # 这里是循环体 # 每次循环都会执行这里的代码

“可迭代对象”就是指那些可以把里面的元素一个一个拿出来的东西,比如一组排好队的数据(列表)、一段文字(字符串)或者range()生成的数字序列。

# 1. 准备一个列表(相当于一个装满水果的篮子) fruits = ["苹果", "香蕉", "橘子"] # 2. 开始 for 循环 for f in fruits: print("我吃了一个:", f) else: print("水果吃完了!")

fruits = ["苹果", "香蕉", "橘子"]:这是我们提前准备好的数据

f:这就是基本结构里的临时变量。你可以把它当成一个“搬运工”。在每一次循环中,电脑会自动把篮子里的下一个水果交给它。

16:range语句

案例:

计算1到100的所有奇数之和

col=0 for i in range(1, 101): if i % 2 != 0: col += i print(col)

17:for循环嵌套案例

案例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.1:list

列表就像是一个带有编号的多格收纳盒(或者一列火车)。你可以往里面按顺序装各种各样的东西,还可以随时把东西拿出来、放进新的去、或者直接根据编号查一查某个格子里装的是什么。

列表名字 = [数据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.2:list方法

# 准备一个初始列表 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(f"4. pop 弹出了 {last_card},剩余列表:", cards) # 5. sort() - 从小到大排序 cards.sort() print("5. sort 排序后:", cards) # 6. reverse() - 整个反转 cards.reverse() print("6. reverse 反转后:", cards)

18.1.3:list 案例

#将用户输入的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:字符串str

18.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:元组tuple

18.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:解包与组包

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询