代码示例库

搜索、筛选并收藏你需要的 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
...