Python初学必练:100个入门代码实例,从基础到实战

2026-03-23 0 511

本文为编程初学者整理了100个覆盖基础语法、数据结构、算法逻辑、文件操作、简单项目实战的代码实例,所有代码均采用语言编写(因其语法简洁、适合入门),每个实例均标注核心知识点与运行说明。按学习路径排序,从易到难,确保初学者通过实际运行代码快速掌握编程核心能力。

使用说明:将代码复制到本地环境(如IDLE、、VS Code)或在线编译器(如菜鸟工具、)中运行,观察输出结果并尝试修改参数,加深理解。

第一部分:基础语法入门(实例1-20)

1. 输出Hello World

print("Hello, World!")

知识点:print()函数,字符串输出。

2. 变量与数据类型

name = "小明"      # 字符串
age = 18          # 整数
 = 1.75     # 浮点数
 = True # 布尔值
print(type(name), type(age), type(), type())

知识点:变量命名,四种基本数据类型。

3. 用户输入

name = input("请输入你的名字:")
print("你好," + name)

知识点:input()函数,字符串拼接。

4. 数字运算

a = 10
b = 3
print("和:", a + b)
print("差:", a - b)
print("积:", a  b)
print("商:", a / b)
print("整除:", a // b)
print("余数:", a % b)
print("幂:", a  b)

知识点:算术运算符。

5. 字符串格式化(f-)

name = "小红"
score = 95.5
print(f"{name}的考试成绩是{score}分")

知识点:f-格式化输出。

6. 条件判断(if-elif-else)

age = 20
if age < 18:
    print("未成年人")
elif age < 60:
    print("成年人")
else:
    print("老年人")

知识点:条件分支结构。

7. 列表基础操作

 = ["苹果", "香蕉", "橙子"]
print([0])          # 访问第一个元素
.("葡萄")     # 添加元素
print(len())        # 获取长度

知识点:列表的创建、索引、追加。

8. for循环遍历列表

 = [1, 2, 3, 4, 5]
for num in :
    print(num  2)

知识点:for循环遍历可迭代对象。

9. range()函数生成数字序列

for i in range(5):      # 0 1 2 3 4
    print(i)
for i in range(2, 10, 2): # 2 4 6 8
    print(i)

知识点:range(start, stop, step)用法。

10. while循环

count = 0
while count < 5:
    print("循环次数:", count)
    count += 1

知识点:while循环条件控制。

11. 函数定义与调用

def greet(name):
     f"你好,{name}"
 = greet("李华")
print()

知识点:def定义函数,返回值。

12. 默认参数

def (name, age=18):
    print(f"我叫{name},今年{age}岁")
("王芳")
("张伟", 22)

知识点:函数默认参数值。

13. 字典基础操作

 = {"name": "赵磊", "age": 19, "grade": "大一"}
print(["name"])
["major"] = "计算机"  # 添加键值对

知识点:字典的键值对访问与添加。

14. 集合去重

nums = [1, 2, 2, 3, 3, 4]
 = set(nums)
print()  # {1, 2, 3, 4}

知识点:set()用于去重。

15. 元组与不可变性

point = (10, 20)
x, y = point  # 元组解包
print(f"x={x}, y={y}")

知识点:元组定义与解包。

16. 异常处理(try-)

try:
    num = int(input("请输入数字:"))
    print(10 / num)
 :
    print("输入的不是数字")
 :
    print("不能除以0")

知识点:捕获并处理异常。

17. 文件写入

with open("test.txt", "w", ="utf-8") as f:
    f.write("这是第一行n")
    f.write("这是第二行")

知识点:with open写入文件。

18. 文件读取

with open("test.txt", "r", ="utf-8") as f:
     = f.read()
    print()

知识点:读取文本文件。

19. 模块导入与使用

 math
print(math.sqrt(16))  # 4.0
print(math.pi)

知识点:导入标准库。

20. 随机数生成

 
print(.(1, 100))  # 1-100随机整数
print(.(["石头", "剪刀", "布"]))

知识点:模块常用函数。

第二部分:数据结构与基础算法(实例21-45)

21. 列表推导式

 = [x2 for x in range(1, 6)]
print()  # [1, 4, 9, 16, 25]

知识点:简洁生成列表。

22. 字典推导式

 = {x: x2 for x in range(1, 4)}
print()  # {1: 1, 2: 4, 3: 9}

知识点:快速构建字典。

23. 列表排序

nums = [5, 2, 8, 1, 9]
nums.sort()           # 原地排序
print(nums)           # [1, 2, 5, 8, 9]
 = (nums, =True)
print()    # [9, 8, 5, 2, 1]

知识点:sort()与()区别。

24. 字符串分割与连接

 = "苹果,香蕉,橙子"
 = .split(",")
print()               # ['苹果', '香蕉', '橙子']
 = "-".join()
print()         # 苹果-香蕉-橙子

知识点:split()和join()方法。

25. 枚举函数

 = ["苹果", "香蕉", "橙子"]
for index, fruit in (, start=1):
    print(f"{index}. {fruit}")

知识点:同时获取索引和值。

26. 压缩函数zip

names = ["张三", "李四"]
 = [85, 92]
pairs = list(zip(names, ))
print(pairs)  # [('张三', 85), ('李四', 92)]

知识点:将多个可迭代对象打包成元组。

27. 匿名函数

add =  x, y: x + y
print(add(3, 5))  # 8
# 与sort结合使用
 = [("小明", 18), ("小红", 17)]
.sort(key= x: x[1])
print()  # 按年龄排序

知识点:简洁的匿名函数定义。

28. map映射函数

 = [1, 2, 3, 4]
 = list(map( x: x  2, ))
print()  # [2, 4, 6, 8]

知识点:对序列每个元素应用函数。

29. 过滤函数

 = [1, 2, 3, 4, 5, 6]
even = list(( x: x % 2 == 0, ))
print(even)  # [2, 4, 6]

知识点:根据条件筛选元素。

30. 递归函数(阶乘)

def (n):
    if n == 0:
         1
    else:
         n  (n-1)
print((5))  # 120

知识点:函数调用自身。

31. 冒泡排序

def (arr):
    n = len(arr)
    for i in range(n-1):
        for j in range(n-i-1):
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
     arr
print(([64, 34, 25, 12, 22, 11, 90]))

知识点:基础排序算法实现。

32. 二分查找

def (arr, ):
    left, right = 0, len(arr)-1
    while left <= right:
        mid = (left + right) // 2
        if arr[mid] == :
             mid
        elif arr[mid] < :
            left = mid + 1
        else:
            right = mid - 1
     -1
arr = [1, 3, 5, 7, 9]
print((arr, 5))  # 2

知识点:高效查找算法(要求数组有序)。

33. 栈(列表模拟)

stack = []
stack.(1)  # push
stack.(2)
print(stack.pop())  # 2  pop

知识点:后进先出(LIFO)结构。

34. 队列(.deque)

from   deque
queue = deque()
queue.(1)   # 
queue.(2)
print(queue.())  # 1  

知识点:先进先出(FIFO)结构。

35. 集合运算

A = {1, 2, 3}
B = {3, 4, 5}
print(A | B)  # 并集 {1,2,3,4,5}
print(A & B)  # 交集 {3}
print(A - B)  # 差集 {1,2}

知识点:集合的数学运算。

36. 字符串反转

s = ""
print(s[::-1])  # 

知识点:切片步长-1实现反转。

37. 判断回文

def (s):
    s = s.lower().(" ", "")
     s == s[::-1]
print(("A man a plan a canal "))  # True

知识点:字符串处理与回文判断。

38. 列表去重(保持顺序)

def (lst):
    seen = set()
     = []
    for item in lst:
        if item not in seen:
            seen.add(item)
            .(item)
     
print(([1,2,2,3,1,4]))  # [1,2,3,4]

知识点:利用集合去重并保持原顺序。

39. 统计字符频率

from   
text = "hello world"
freq = (text)
print(freq.(3))  # 出现最多的3个字符

知识点:计数器。

40. 斐波那契数列

def (n):
    a, b = 0, 1
    for _ in range(n):
        print(a, end=" ")
        a, b = b, a + b
(10)  # 0 1 1 2 3 5 8 13 21 34

知识点:迭代生成数列。

41. 列表扁平化

 = [[1, 2], [3, 4], [5]]
flat = [num for  in  for num in ]
print(flat)  # [1,2,3,4,5]

知识点:嵌套列表推导式。

42. 两个列表转字典

keys = ["name", "age", "city"]
 = ["Alice", 25, "New York"]
 = dict(zip(keys, ))
print()

知识点:dict()结合zip()。

43. 获取当前时间

from   
now = .now()
print(now.("%Y-%m-%d %H:%M:%S"))

知识点:模块格式化。

44. 计算程序运行时间

 time
start = time.time()
# 模拟耗时操作
time.sleep(1)
end = time.time()
print(f"耗时: {end - start:.2f}秒")

知识点:time模块计时。

45. 生成随机验证码

 
 
def (=6):
    chars = . + .
     ''.join(.(chars) for _ in range())
print(())

知识点:常量与随机选择。

第三部分:面向对象编程(实例46-60)

46. 定义类与对象

class Dog:
    def (self, name, age):
        self.name = name
        self.age = age
    def bark(self):
         f"{self.name}在汪汪叫"
 = Dog("旺财", 3)
print(.bark())

知识点:类、构造方法、实例方法。

47. 类属性与实例属性

class :
     = "第一中学"  # 类属性
    def (self, name):
        self.name = name  # 实例属性
s1 = ("小明")
s2 = ("小红")
print(s1., s2.)
. = "第一实验中学"  # 修改类属性
print(s1.)

知识点:类属性共享,实例属性独立。

48. 私有属性与方法

class :
    def (self, ):
        self. =   # 私有属性
    def (self, ):
        self. += 
    def (self):
         self.
acc = (1000)
acc.(500)
print(acc.())  # 1500
# print(acc.)  # 报错,无法直接访问

知识点:双下划线实现私有化。

49. 继承

class :
    def (self, name):
        self.name = name
    def speak(self):
        pass
class Cat():
    def speak(self):
         f"{self.name}喵喵叫"
class Dog():
    def speak(self):
         f"{self.name}汪汪叫"
cat = Cat("咪咪")
dog = Dog("阿黄")
print(cat.speak())
print(dog.speak())

Python初学必练:100个入门代码实例,从基础到实战

知识点:子类继承父类,重写方法。

50. 多态

def ():
    print(.speak())
 = [Cat("咪咪"), Dog("阿黄")]
for a in :
    (a)

知识点:同一接口,不同实现。

51. 方法重写与super()

class :
    def (self, name):
        self.name = name
    def info(self):
         f"姓名: {self.name}"
class ():
    def (self, name, grade):
        super().(name)
        self.grade = grade
    def info(self):
         f"{super().info()}, 年级: {self.grade}"
s = ("王磊", "大一")
print(())

知识点:super()调用父类方法。

52. 静态方法与类方法

class :
    @
    def add(x, y):
         x + y
    @
    def (cls, ):
        # 类方法常用于替代构造方法
         cls()
print(.add(5, 3))

知识点:@,@装饰器。

53. 魔法方法与

class Book:
    def (self, title, ):
        self.title = title
        self. = 
    def (self):
         f"《{self.title}》- {self.}"
    def (self):
         f"Book('{self.title}', '{self.}')"
book = Book("入门", "张三")
print(str(book))   # 《入门》- 张三
print(repr(book))  # Book('入门', '张三')

知识点:自定义对象字符串表示。

54. 属性装饰器@

class :
    def (self, ):
        self. = 
    @
    def area(self):
         3.14  self.  2
    @
    def (self):
         self.
    @.
    def (self, value):
        if value < 0:
            raise ("半径不能为负")
        self. = value
c = (5)
print(c.area)    # 78.5
c. = 10
print(c.area)    # 314.0

知识点:将方法转为属性访问,实现封装。

55. 异常类自定义

class ():
    pass
def (x):
    if x < 0:
        raise ("不能对负数求平方根")
     x  0.5
try:
    print((-4))
  as e:
    print(e)

知识点:继承自定义异常。

56. 类中的迭代器

class :
    def (self, start):
        self.start = start
    def (self):
         self
    def (self):
        if self.start <= 0:
            raise 
        self.start -= 1
         self.start + 1
for num in (5):
    print(num)  # 5 4 3 2 1

知识点:实现和。

57. 使用slots节省内存

class Point:
     = ('x', 'y')  # 限制实例属性,节省内存
    def (self, x, y):
        self.x = x
        self.y = y
p = Point(1, 2)
# p.z = 3  # 报错,不允许添加新属性

知识点:优化内存占用。

58. 组合优于继承示例

class :
    def start(self):
         "引擎启动"
class :
    def (self):
         "车轮转动"
class Car:
    def (self):
        self. = ()
        self. = ()
    def drive(self):
         f"{self..start()},{self..()}"
car = Car()
print(car.drive())

知识点:通过组合复用功能。

59. 枚举类

from enum  Enum
class Color(Enum):
    RED = 1
    GREEN = 2
    BLUE = 3
print(Color.RED.name)   # RED
print(Color.RED.value)  # 1

知识点:枚举类型使用。

60. 抽象基类

from abc  ABC, 
class Shape(ABC):
    @
    def area(self):
        pass
class (Shape):
    def (self, side):
        self.side = side
    def area(self):
         self.side  2
# s = Shape()  # 报错,无法实例化抽象类
sq = (4)
print(sq.area())

知识点:强制子类实现抽象方法。

第四部分:文件与数据处理(实例61-80)

61. 逐行读取大文件

with open(".txt", "r", ="utf-8") as f:
    for line in f:
        # 逐行处理,不占用过多内存
        print(line.strip())

知识点:高效处理大文件。

62. CSV文件读取

 csv
with open("data.csv", "r", ="utf-8") as f:
     = csv.(f)
    for row in :
        print(row)

知识点:csv模块基本用法。

63. CSV文件写入

 csv
data = [["姓名", "年龄"], ["张三", 20], ["李四", 22]]
with open(".csv", "w", ="", ="utf-8") as f:
     = csv.(f)
    .(data)

知识点:写入多行。

64. JSON读取与解析

 json
 = '{"name": "小明", "age": 18, "city": "北京"}'
data = json.loads()
print(data["name"])
# 从文件读取
with open("data.json", "r", ="utf-8") as f:
    data = json.load(f)

知识点:json.loads()和json.load()。

65. JSON写入文件

 json
data = {"name": "小明", "age": 18}
with open("data.json", "w", ="utf-8") as f:
    json.dump(data, f, =False, =4)

知识点:json.dump()格式化输出。

66. 使用os模块操作文件

 os
# 获取当前目录
print(os.())
# 创建目录
os.("", =True)
# 列出文件
print(os.("."))
# 删除文件
# os.("test.txt")

知识点:os模块常用函数。

67. 路径操作()

from   Path
p = Path(".")
# 遍历当前目录下所有.py文件
for file in p.glob(".py"):
    print(file.name)

知识点:面向对象路径操作。

68. 复制文件()

 
.copy(".txt", ".txt")
# 复制整个目录
.("", "", =True)

知识点:高级文件操作。

69. 压缩文件

 
# 压缩
with .(".zip", "w") as zf:
    zf.write("file1.txt")
    zf.write("file2.txt")
# 解压
with .(".zip", "r") as zf:
    zf.("")

知识点:压缩与解压。

70. 获取文件信息

 os
 time
 = "test.txt"
print("大小:", os.path.(), "字节")
print("修改时间:", time.ctime(os.path.()))

知识点:获取文件元数据。

71. 批量重命名文件

 os
for i,  in (os.(".")):
    if .(".txt"):
         = f"new_{i}.txt"
        os.(, )

知识点:批量操作文件。

72. 读取Excel文件(需安装)

# 需先安装: pip  
from   
wb = ("data.xlsx")
sheet = wb.
for row in sheet.(=True):
    print(row)

知识点:第三方库处理Excel。

73. 使用数据库

 
conn = .("test.db")
 = conn.()
# 创建表
.(" TABLE IF NOT  users (id   KEY, name TEXT)")
# 插入数据
.(" INTO users (name)  (?)", ("张三",))
mit()
# 查询
.("  FROM users")
print(.())
conn.close()

知识点:嵌入式数据库操作。

74. 正则表达式匹配

 re
text = "我的电话是,邮箱是"
phone = re.(r"d{11}", text)
email = re.(r"w+@w+.w+", text)
print(phone.group())  # 
print(email.group())  # 

知识点:re模块基础匹配。

75. 正则替换

 re
text = "2023-01-15"
 = re.sub(r"-", "/", text)
print()  # 2023/01/15

知识点:sub()替换匹配内容。

76. 网络请求(库)

# 需先安装: pip  
 
 = .get(";)
if . == 200:
    data = .json()
    print(data)

知识点:库发送GET请求。

77. 下载文件

 
url = ";
 = .get(url)
with open("image.jpg", "wb") as f:
    f.write(.)

知识点:二进制内容写入文件。

78. 解析HTML()

# 需先安装: pip  
from bs4  
html = "<html><body><h1>标题</h1></body></html>"
soup = (html, "html.")
print(soup.h1.text)  # 标题

知识点:简单解析。

79. 发送邮件()

 
from email.mime.text  
# 配置SMTP服务器(以163邮箱为例)
 = ""
 = "授权码"
 = ""
msg = ("邮件正文", "plain", "utf-8")
msg[""] = "邮件主题"
msg["From"] = 
msg["To"] = 
with .("", 465) as :
    .login(, )
    .(, [], msg.())

知识点:发送文本邮件。

80. 生成二维码

# 需先安装: pip  [pil]
 
img = .make(";)
img.save(".png")

知识点:二维码生成。

第五部分:简单项目实战(实例81-100)

81. 猜数字游戏

 
 = .(1, 100)
guess = None
while guess != :
    guess = int(input("猜一个1-100的数字: "))
    if guess < :
        print("太小了")
    elif guess > :
        print("太大了")
print("恭喜!猜中了")

知识点:循环、条件、随机数综合。

82. 计算器(命令行)

def ():
    print("简单计算器: + -  /")
    while True:
        expr = input("输入表达式 (如 3 + 5, 输入q退出): ")
        if expr.lower() == 'q':
            break
        try:
             = eval(expr)
            print(f"结果: {}")
        :
            print("表达式错误")
()

知识点:eval()求值,异常处理。

83. 学生成绩管理系统(简易)

 = {}
def ():
    name = input("姓名: ")
    score = float(input("成绩: "))
    [name] = score
def ():
    for name, score in .items():
        print(f"{name}: {score}")
while True:
    cmd = input("输入命令 (add/show/quit): ")
    if cmd == "add":
        ()
    elif cmd == "show":
        ()
    elif cmd == "quit":
        break

知识点:字典管理数据,循环命令。

84. 待办事项清单(文件存储)

 os
 = "todo.txt"
def ():
    if os.path.():
        with open(, "r") as f:
             [line.strip() for line in f]
     []
def (tasks):
    with open(, "w") as f:
        for task in tasks:
            f.write(task + "n")
tasks = ()
while True:
    print("n---待办清单---")
    for i, task in (tasks):
        print(f"{i+1}. {task}")
    cmd = input("命令 (add/del/quit): ")
    if cmd == "add":
        task = input("新任务: ")
        tasks.(task)
        (tasks)
    elif cmd == "del":
        idx = int(input("删除编号: ")) - 1
        if 0 <= idx < len(tasks):
            tasks.pop(idx)
            (tasks)
    elif cmd == "quit":
        break

知识点:文件读写,列表操作。

85. 单词翻译小程序(使用字典)

 = {
    "apple": "苹果",
    "": "香蕉",
    "cat": "猫"
}
word = input("输入英文单词: ")
print(.get(word, "未找到该单词"))

知识点:字典查询,get方法。

86. 密码生成器

 
 
 = int(input("密码长度: "))
 = input("包含数字? (y/n): ").lower() == 'y'
 = input("包含符号? (y/n): ").lower() == 'y'
chars = .
if :
    chars += .
if :
    chars += .
 = ''.join(.(chars) for _ in range())
print(f"生成的密码: {}")

知识点:根据用户选项动态生成。

87. 进度条模拟

 time
def (total):
    for i in range(total+1):
         = i / total  100
        bar = '#'  i + '-' * (total - i)
        print(f"r[{bar}] {:.1f}%", end='')
        time.sleep(0.1)
    print()
(50)

知识点:转义字符r实现动态刷新。

88. 图片缩略图生成()

# 需先安装: pip  
from PIL  Image
img = Image.open("input.jpg")
img.((200, 200))
img.save(".jpg")

知识点:图像处理。

89. 时钟小程序

 time
while True:
     = time.("%Y-%m-%d %H:%M:%S")
    print(f"r当前时间: {}", end='')
    time.sleep(1)

知识点:实时刷新显示时间。

90. 简易聊天室(多线程)

# 服务器端简化示例(完整版需多线程)
 
 = .()
.bind(('', 12345))
.(1)
conn, addr = .()
while True:
    data = conn.recv(1024).()
    if not data:
        break
    print("收到:", data)
    conn.send("已收到".())
conn.close()

知识点:基础通信。

91. 天气查询(调用API)

 
city = input("输入城市名: ")
 = ""  # 需从开放天气API申请
url = f"{city}&appid={}&units="
 = .get(url)
if . == 200:
    data = .json()
    print(f"{city}天气: {data[''][0]['']}, 温度: {data['main']['temp']}°C")
else:
    print("查询失败")

知识点:API调用与JSON解析。

92. 文件备份工具

 
 os
 = input("源目录: ")
 = input("备份目录: ")
if os.path.():
    .(, , =True)
    print("备份完成")
else:
    print("源目录不存在")

知识点:目录递归复制。

93. 文本统计(字数、行数)

 = input("文件名: ")
with open(, "r", ="utf-8") as f:
     = f.read()
    lines = .count('n') + 1
    words = len(.split())
    chars = len()
print(f"行数: {lines}, 单词数: {words}, 字符数: {chars}")

知识点:文件内容统计。

94. 批量修改图片格式

from PIL  Image
 os
 = ""
 = ""
os.(, =True)
for  in os.():
    if .(".png"):
        img = Image.open(os.path.join(, ))
         = .(".png", ".jpg")
        img.("RGB").save(os.path.join(, ))

知识点:图片格式批量转换。

95. 定时提醒

 time
 = input("设置提醒时间 (HH:MM): ")
 = input("提醒内容: ")
while True:
     = time.("%H:%M")
    if  == :
        print(f"n提醒: {}")
        break
    time.sleep(30)

知识点:时间对比与循环等待。

96. 简易爬虫(抓取标题)

 
from bs4  
url = input("输入网址: ")
 = .get(url)
soup = (.text, "html.")
for title in soup.("h1"):
    print(title.text)

知识点:简单网页抓取。

97. 计算器GUI()

`

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

七爪网 行业资讯 Python初学必练:100个入门代码实例,从基础到实战 https://www.7claw.com/2826918.html

七爪网源码交易平台

相关文章