本文为编程初学者整理了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())
知识点:子类继承父类,重写方法。
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()
`

