代码示例库
搜索、筛选并收藏你需要的 Python 代码片段。
#入门
#字符串
#数字
#列表
#列表
#循环
#切片
#if
#列表
#字典
#字典
#while
#while
#函数
#函数
#类
#类
#文件
#异常
#测试
#测试
#Pygame
#Pygame
#matplotlib
#随机漫步
#CSV
#API
#Django
#Django
#Django
Hello World
第1章 起步第一个Python程序:向终端打印问候语。
print("Hello Python world!")
print("开始学习Python编程吧!")
f-string格式化字符串
第2章 变量和简单数据类型演示字符串变量与f-string的用法。
name = "ada lovelace"
print(name.title())
print(name.upper())
first_name = "ada"
last_name = "lovelace"
full_name = f"{first_name} {last_name}"
print(f"你好,{full_name.title()}!")
列表增删改
第3章 列表简介演示列表的创建、访问、修改、添加与删除。
bicycles = ["trek", "cannondale", "redline"]
print(bicycles[0].title())
print(bicycles[-1].title())
bicycles.append("specialized") # 末尾添加
bicycles.insert(0, "giant") # 指定位置插入
del bicycles[0] # 删除指定位置
popped = bicycles.pop() # 弹出末尾
bicycles.remove("trek") #
...
for循环遍历
第4章 操作列表演示for循环遍历列表与range。
magicians = ["alice", "david", "carolina"]
for magician in magicians:
print(f"{magician.title()}, 该你表演了!")
for value in range(1, 6):
print(value)
squares = [x**2 for x in range(1, 11)]
print(squares)
print(f"总和: {sum(squares)}")
if-elif-else
第5章 if语句演示条件判断结构。
age = 12
if age < 4:
price = 0
elif age < 18:
price = 10
else:
price = 20
print(f"票价 {price} 元")
requested_toppings = ["mushrooms", "green peppers", "cheese"]
for topping in requested_toppings:
if topping == "green peppers":
print("抱歉,青椒没有了")
else:
print(f"添加 {to
...
字典基本操作
第6章 字典演示字典的创建、访问、添加、修改与删除。
alien = {"color": "green", "points": 5}
print(alien["color"])
alien["x_position"] = 0
print(alien)
alien["color"] = "yellow"
print(f"外星人现在是{alien["color"]}色")
del alien["points"]
print(alien)
# 安全获取
speed = alien.get("speed", "no speed set")
print(speed)
while循环与输入
第7章 用户输入和while循环演示input()与while循环结合。
prompt = "告诉我你最喜欢的编程语言: "
prompt += "\n输入quit结束。\n"
active = True
while active:
message = input(prompt)
if message == "quit":
active = False
else:
print(f"你喜欢: {message}")
# break 与 continue
while True:
city = input("城市名(输入quit退出): ")
if city == "quit":
...
函数与返回值
第8章 函数演示函数定义、默认值与返回值。
def greet_user(username="匿名用户"):
print(f"你好,{username.title()}!")
greet_user("jesse")
greet_user()
def get_formatted_name(first, last):
full = f"{first} {last}"
return full.title()
name = get_formatted_name("john", "smith")
print(name)
创建类与实例
第9章 类演示类的定义、__init__与方法。
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(f"{self.name} 坐下了")
def roll_over(self):
print(f"{self.name} 打滚了")
my_dog = Dog("旺财", 3)
print(f"我的狗叫 {my_dog.name},{my_dog.age}岁")
my_dog.sit()
my_dog.roll_o
...
文件读写
第10章 文件和异常演示读取与写入文件。
# 读取
with open("pi_digits.txt") as file:
contents = file.read()
print(contents)
# 逐行读取
with open("pi_digits.txt") as file:
for line in file:
print(line.rstrip())
# 写入(覆盖)/ 追加
with open("programming.txt", "w") as file:
file.write("我喜欢编程。\n")
with open("programming.txt", "a") as
...
测试函数
第11章 测试代码演示unittest测试函数。
import unittest
from name_function import get_formatted_name
class NameTestCase(unittest.TestCase):
def test_first_last_name(self):
formatted = get_formatted_name("janis", "joplin")
self.assertEqual(formatted, "Janis Joplin")
if __name__ == "__main__":
unittest.main()
Pygame游戏循环
第12章 武装飞船演示Pygame窗口创建与主循环。
import sys
import pygame
pygame.init()
screen = pygame.display.set_mode((1200, 800))
pygame.display.set_caption("外星人入侵")
bg_color = (230, 230, 230)
while True:
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
screen.fill(bg_color)
pygame.dis
...
外星人碰撞检测
第13章 外星人演示sprite碰撞检测逻辑。
# 子弹与外星人群碰撞
hits = pygame.sprite.groupcollide(bullets, aliens, True, True)
if hits:
for aliens_hit in hits.values():
score += 10 * len(aliens_hit)
# 外星人到达底部
for alien in aliens.copy():
if alien.rect.bottom >= screen_rect.bottom:
ship_hit()
break
matplotlib绘图
第15章 生成数据演示折线图与散点图。
import matplotlib.pyplot as plt
squares = [1, 4, 9, 16, 25]
plt.plot(squares, linewidth=3)
plt.title("平方数", fontsize=24)
plt.xlabel("值", fontsize=14)
plt.ylabel("平方", fontsize=14)
plt.show()
x = [1, 2, 3, 4, 5]
y = [1, 4, 9, 16, 25]
plt.scatter(x, y, s=100)
plt.show()
读取CSV数据
第16章 下载数据演示csv模块读取并分析数据。
import csv
from datetime import datetime
with open("weather.csv") as f:
reader = csv.reader(f)
header = next(reader) # 跳过表头
dates, highs = [], []
for row in reader:
dates.append(datetime.strptime(row[2], "%Y-%m-%d"))
highs.append(int(row[5]))
print(f"共 {len(dates)
...
requests请求GitHub API
第17章 使用API演示使用requests获取GitHub仓库数据。
import requests
url = "https://api.github.com/search/repositories"
params = {"q": "language:python", "sort": "stars", "order": "desc", "per_page": 10}
headers = {"Accept": "application/vnd.github.v3+json"}
r = requests.get(url, params=params, headers=headers)
print(f"状态码: {r.status_code}")
data =
...
Django模型与管理
第18章 Django入门演示Django模型定义。
from django.db import models
class Topic(models.Model):
text = models.CharField(max_length=200)
date_added = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.text
class Entry(models.Model):
topic = models.ForeignKey(Topic, on_delete=models.CASCADE)
...
Django用户认证
第19章 用户账户演示注册登录与数据归属。
from django.contrib.auth import authenticate, login
from django.contrib.auth.decorators import login_required
@login_required
def my_topics(request):
# 只显示当前用户的数据
topics = Topic.objects.filter(owner=request.user).order_by("date_added")
return render(request, "topics.html", {"topics": to
...
Bootstrap模板片段
第20章 设置样式并部署演示Django模板引入Bootstrap。
{% extends "base.html" %}
{% block content %}
<div class="jumbotron">
<h1 class="display-4">学习笔记</h1>
<p class="lead">记录你学到的每一个知识点。</p>
<a class="btn btn-primary btn-lg" href="{% url "new_topic" %}">新建主题</a>
</div>
{% endblock content %}
简单运算
第2章 变量和简单数据类型演示整数与浮点数的基本运算。
print(2 + 3) print(3 ** 2) # 乘方 print(0.1 + 0.1) print(10 / 3) # 浮点除法 print(10 // 3) # 整除
组织列表
第3章 列表简介演示sort、sorted、reverse与len的用法。
cars = ["bmw", "audi", "toyota", "subaru"] print(sorted(cars)) # 临时排序 print(cars) cars.sort() # 永久排序 print(cars) cars.reverse() # 反转 print(len(cars)) # 长度
切片与元组
第4章 操作列表演示切片操作与元组特性。
players = ["charles", "martina", "michael", "florence", "eli"] print(players[0:3]) # 前三个 print(players[-3:]) # 最后三个 print(players[:]) # 全部 # 元组不可变 dimensions = (200, 50) print(dimensions[0]) # dimensions[0] = 250 # 会报错 dimensions = (400, 100) # 整体重新赋值可以 print(dimensions)
用if处理列表
第5章 if语句演示列表非空检查与包含判断。
requested_toppings = []
if requested_toppings:
print("有配料")
else:
print("没有配料,来份原味披萨")
available = ["mushrooms", "olives", "pepperoni"]
requested = ["mushrooms", "pineapple"]
for item in requested:
if item in available:
print(f"可以加 {item}")
else:
print(f"抱歉,没有 {item}
...
遍历字典
第6章 字典演示items/keys/values的遍历。
favorite_languages = {
"jen": "python",
"sarah": "c",
"edward": "rust",
}
for name, lang in favorite_languages.items():
print(f"{name.title()} 喜欢 {lang.title()}")
for name in sorted(favorite_languages.keys()):
print(name.title())
for lang in set(favorite_languages.values()):
...
用while处理列表
第7章 用户输入和while循环演示while移动列表元素。
unconfirmed = ["alice", "brian", "candace"]
confirmed = []
while unconfirmed:
current = unconfirmed.pop()
print(f"验证用户: {current.title()}")
confirmed.append(current)
print("\n已确认的用户:")
for user in confirmed:
print(user.title())
任意数量实参
第8章 函数演示*args与**kwargs。
def make_pizza(size, *toppings):
print(f"制作{size}寸披萨,配料: ")
for topping in toppings:
print(f"- {topping}")
make_pizza(12, "mushrooms", "pepperoni")
def build_profile(first, last, **user_info):
profile = {"first": first, "last": last}
for k, v in user_info.items():
p
...
继承
第9章 类演示子类继承父类与super()。
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer = 0
def describe(self):
print(f"{self.year} {self.make} {self.model}")
class ElectricCar(Car):
def __init__(self, make, model, ye
...
异常与json
第10章 文件和异常演示try-except与json存储。
import json
try:
print(5 / 0)
except ZeroDivisionError:
print("不能除以零!")
else:
print("计算成功")
# json 存储
numbers = [1, 2, 3, 4, 5]
with open("numbers.json", "w") as f:
json.dump(numbers, f)
with open("numbers.json") as f:
loaded = json.load(f)
print(loaded)
测试类与setUp
第11章 测试代码演示测试类与setUp方法。
import unittest
from survey import AnonymousSurvey
class TestSurvey(unittest.TestCase):
def setUp(self):
self.question = "你最喜欢什么语言?"
self.my_survey = AnonymousSurvey(self.question)
def test_single_response(self):
self.my_survey.store_response("python")
self.
...
随机漫步
第15章 生成数据演示随机漫步模拟。
from random import choice
class RandomWalk:
def __init__(self, num_points=5000):
self.num_points = num_points
self.x_values = [0]
self.y_values = [0]
def fill_walk(self):
while len(self.x_values) < self.num_points:
x_step = choice([1, -1]) * choi
...