Python实用代码示例大全
基于Python的实用代码示例
以下是基于Python的实用代码示例,涵盖基础语法、数据处理、自动化等常见场景:
基础语法示例
变量与类型转换
num_str = "123"
num_int = int(num_str) # 字符串转整数
列表操作
fruits = ["apple", "banana"]
fruits.append("orange") # 添加元素
字典操作
person = {"name": "Alice", "age": 25}
print(person.get("name")) # 获取键值
条件判断
score = 85
if score >= 90:print("A")
elif score >= 60:print("B")
循环结构
for i in range(5): # 0到4循环print(i**2)
数据处理示例
CSV文件读取
import csv
with open('data.csv') as f:reader = csv.reader(f)for row in reader:print(row)
JSON处理
import json
data = '{"name": "Bob"}'
parsed = json.loads(data) # 字符串转字典
Pandas基础
import pandas as pd
df = pd.DataFrame([[1,2], [3,4]])
print(df.mean()) # 计算均值
正则表达式
import re
text = "Python 3.8"
match = re.search(r'\d+', text) # 匹配数字
日期处理
from datetime import datetime
now = datetime.now()
print(now.strftime("%Y-%m-%d")) # 格式化输出
自动化脚本示例
文件批量重命名
import os
for filename in os.listdir("."):if filename.endswith(".txt"):os.rename(filename, f"new_{filename}")
网页请求
import requests
response = requests.get("http://example.com")
print(response.status_code)
发送邮件
import smtplib
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls()
server.login("user@gmail.com", "password")
server.sendmail("from@example.com", "to@example.com", "Message")
定时任务
import schedule
import time
def job():print("Task running")
schedule.every(10).minutes.do(job)
while True:schedule.run_pending()time.sleep(1)
压缩文件处理
import zipfile
with zipfile.ZipFile('archive.zip', 'r') as zip_ref:zip_ref.extractall('extracted')
进阶应用示例
多线程
import threading
def worker():print("Thread executing")
thread = threading.Thread(target=worker)
thread.start()
装饰器
def log_time(func):def wrapper(*args):start = time.time()result = func(*args)print(f"Time: {time.time()-start}s")return resultreturn wrapper
类继承
class Animal:def speak(self):pass
class Dog(Animal):def speak(self):return "Woof!"
生成器
def count_up_to(n):i = 1while i <= n:yield ii += 1
for num in count_up_to(5):print(num)
上下文管理器
class FileManager:def __init__(self, filename):self.filename = filenamedef __enter__(self):self.file = open(self.filename, 'w')return self.filedef __exit__(self, exc_type, exc_val, exc_tb):self.file.close()
数据可视化示例
Matplotlib基础
import matplotlib.pyplot as plt
plt.plot([1,2,3], [4,5,1])
plt.xlabel('X-axis')
plt.show()
Seaborn图表
import seaborn as sns
tips = sns.load_dataset("tips")
sns.boxplot(x="day", y="total_bill", data=tips)
机器学习示例
Scikit-learn建模
from sklearn.ensemble import RandomForestClassifier
clf = RandomForestClassifier()
clf.fit(X_train, y_train)
predictions = clf.predict(X_test)
TensorFlow示例
import tensorflow as tf
model = tf.keras.Sequential([tf.keras.layers.Dense(10, input_shape=(5,)),tf.keras.layers.Dense(1)
])
model.compile(optimizer='adam', loss='mse')
网络开发示例
Flask应用
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():return "Hello World"
app.run()
FastAPI示例
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():return {"message": "Hello"}
数据库操作示例
SQLite操作
import sqlite3
conn = sqlite3.connect('test.db')
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY)")
conn.commit()
MongoDB连接
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client['test_database']
collection = db['test_collection']
其他实用示例
进度条显示
from tqdm import tqdm
for i in tqdm(range(10000)):pass
环境变量读取
import os
api_key = os.environ.get("API_KEY")
日志记录
import logging
logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info("Program started")
单元测试
import unittest
class TestStringMethods(unittest.TestCase):def test_upper(self):self.assertEqual('foo'.upper(), 'FOO')
unittest.main()
Python在移动开发中可通过框架
Python手机开发实例概述
Python在移动开发中可通过框架(如Kivy、BeeWare)或工具链(如PyQt、Chaquo)实现跨平台应用。以下是30个实用案例分类整理,涵盖基础功能到高级特性。
基础UI与交互
-
按钮点击事件
使用Kivy创建按钮并绑定点击事件:from kivy.app import App from kivy.uix.button import Button class MyApp(App): def build(self): return Button(text='Click', on_press=lambda x: print("Clicked")) MyApp().run()
-
文本输入框
Kivy的TextInput
组件实现用户输入捕获:from kivy.uix.textinput import TextInput text_input = TextInput(multiline=False)
-
滑动条控制
通过Slider
组件调整数值:from kivy.uix.slider import Slider slider = Slider(min=0, max=100, value=50)
传感器与硬件交互
-
获取GPS位置
使用plyer
库访问手机GPS:from plyer import gps gps.configure(on_location=lambda **kwargs: print(kwargs)) gps.start()
-
加速度计数据
通过plyer
读取加速度传感器:from plyer import accelerometer accelerometer.enable() print(accelerometer.acceleration)
-
摄像头拍照
利用kivy.camera
实现拍照功能:from kivy.camera import Camera camera = Camera(index=0, resolution=(640, 480)) camera.start()
数据存储与网络
-
SQLite数据库操作
使用标准库sqlite3
存储数据:import sqlite3 conn = sqlite3.connect('mydb.db') cursor = conn.cursor() cursor.execute("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
-
HTTP请求
通过requests
库发送网络请求:import requests response = requests.get('https://api.example.com/data') print(response.json())
-
WebSocket通信
使用websocket-client
建立实时连接:import websocket ws = websocket.WebSocket() ws.connect("ws://echo.websocket.org") ws.send("Hello")
图形与多媒体
-
绘制2D图形
Kivy的Canvas
绘制矩形: