当前位置: 首页 > news >正文

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与交互

  1. 按钮点击事件
    使用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()  
    
  2. 文本输入框
    Kivy的TextInput组件实现用户输入捕获:

    from kivy.uix.textinput import TextInput  
    text_input = TextInput(multiline=False)  
    
  3. 滑动条控制
    通过Slider组件调整数值:

    from kivy.uix.slider import Slider  
    slider = Slider(min=0, max=100, value=50)  
    

传感器与硬件交互

  1. 获取GPS位置
    使用plyer库访问手机GPS:

    from plyer import gps  
    gps.configure(on_location=lambda **kwargs: print(kwargs))  
    gps.start()  
    
  2. 加速度计数据
    通过plyer读取加速度传感器:

    from plyer import accelerometer  
    accelerometer.enable()  
    print(accelerometer.acceleration)  
    
  3. 摄像头拍照
    利用kivy.camera实现拍照功能:

    from kivy.camera import Camera  
    camera = Camera(index=0, resolution=(640, 480))  
    camera.start()  
    

数据存储与网络

  1. 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)")  
    
  2. HTTP请求
    通过requests库发送网络请求:

    import requests  
    response = requests.get('https://api.example.com/data')  
    print(response.json())  
    
  3. WebSocket通信
    使用websocket-client建立实时连接:

    import websocket  
    ws = websocket.WebSocket()  
    ws.connect("ws://echo.websocket.org")  
    ws.send("Hello")  
    

图形与多媒体

  1. 绘制2D图形
    Kivy的Canvas绘制矩形:

http://www.dtcms.com/a/303807.html

相关文章:

  • tcp通讯学习数据传输
  • Effective C++ 条款10:令operator=返回一个reference to *this
  • 渗透测试与漏洞扫描有什么区别?
  • napping靶机教程(超详细讲解)
  • Leetcode-3152 特殊数组 II
  • TCPDump实战手册:协议/端口/IP过滤与组合分析指南
  • 【Java面试题】面向对象
  • 站点到站点-主模式
  • 【C++基础】函数调用约定(x86/ARM 差异对比):面试高频考点与真题解析
  • 面试遇到的问题3
  • java String类
  • 打印机错误0x0000011B,0x00000709,0x00000BCD,修复工具下载。
  • ElasticSearch 的3种数据迁移方案
  • Nginx安装流程
  • Vue.js 指令系统完全指南:深入理解 v- 指令
  • 递归推理树(RR-Tree)系统:构建认知推理的骨架结构
  • 【C++】1. C++基础知识
  • 传媒行业视频制作:物理服务器租用是隐藏的效率引擎
  • 【Golang】Go语言Map数据类型
  • Qt 并行计算框架与应用
  • 【go】语言的匿名变量如何定义与使用
  • TDengine 中 TDgpt 异常检测的机器学习算法
  • spring data mongodb 入门使用手册
  • [Linux入门] Linux 部署本地 APT 仓库及 NFS 共享服务全攻略
  • Java -- String类-StringBuffer类-StringBuilder类
  • uniapp开发微信小程序(新旧版本对比:授权手机号登录、授权头像和昵称)
  • K-近邻算法(KNN算法)的K值的选取--交叉验证+网格搜索
  • 搭建专属AI聊天网站:NextChat + 蓝耘MaaS平台完整部署指南
  • 2025年7月技术问答第4期
  • 树形结构递归查询与嵌套结构转换:Flask + PostgreSQL 完整实现