一篇经典Python编程常用的30个操作以及代码演示

news2025/1/11 15:04:44

这些案例将涵盖数据处理、算法、文件操作、数据可视化、网络编程、机器学习等多个领域.

在这里插入图片描述

以下是具体的操作步骤和示例代码:

基础操作

1. 计算两个数的和

def add(a, b):  
    return a + b  
print(add(3, 5))  

2. 判断一个数是否为偶数

def is_even(n):  
    return n % 2 == 0  
print(is_even(4))  

3. 计算列表中所有数的平均值

def average(lst):  
    return sum(lst) / len(lst)  
  
print(average([1, 2, 3, 4, 5]))  

4. 反转字符串

def reverse_string(s):  
    return s[::-1]  
  
print(reverse_string("hello"))  
  

数据处理

5. 读取CSV文件

import pandas as pd  
  
df = pd.read_csv('data.csv')  
print(df.head())  

6. 写入CSV文件

df.to_csv('output.csv', index=False)  

7. 处理缺失值

df.fillna(df.mean(), inplace=True)  

8. 数据分组和聚合

grouped = df.groupby('category').sum()  
  
print(grouped)  

算法

9. 冒泡排序

def bubble_sort(arr):  
    n = len(arr)  
    for i in range(n):  
        for j in range(0, n-i-1):  
            if arr[j] > arr[j+1]:  
                arr[j], arr[j+1] = arr[j+1], arr[j]  
    return arr  
  
print(bubble_sort([64, 34, 25, 12, 22, 11, 90]))  
10. 二分查找  
def binary_search(arr, x):  
    l, r = 0, len(arr) - 1  
    while l <= r:  
        mid = (l + r) // 2  
        if arr[mid] == x:  
            return mid  
        elif arr[mid] < x:  
            l = mid + 1  
        else:  
            r = mid - 1  
    return -1  
  
print(binary_search([1, 2, 3, 4, 5, 6, 7], 4))  

11. 斐波那契数列

def fibonacci(n):  
    if n <= 0:  
        return []  
    elif n == 1:  
        return [0]  
    elif n == 2:  
        return [0, 1]  
    fibs = [0, 1]  
    for i in range(2, n):  
        fibs.append(fibs[-1] + fibs[-2])  
    return fibs  
  
print(fibonacci(10))  

12. 求阶乘

def factorial(n):  
    if n == 0:  
        return 1  
    else:  
        return n * factorial(n-1)  
  
print(factorial(5))  

文件操作

13. 读取文本文件

with open('file.txt', 'r') as file:  
    content = file.read()  
    print(content)  

14. 写入文本文件

with open('output.txt', 'w') as file:  
    file.write("Hello, world!")  

15. 文件复制

def copy_file(src, dest):  
    with open(src, 'r') as f_src:  
        content = f_src.read()  
    with open(dest, 'w') as f_dest:  
        f_dest.write(content)  
  
copy_file('file.txt', 'copy.txt')  

数据可视化

16. 绘制折线图

import matplotlib.pyplot as plt  
  
x = [1, 2, 3, 4, 5]  
y = [2, 3, 5, 7, 11]  
plt.plot(x, y)  
plt.xlabel('x')  
plt.ylabel('y')  
plt.title('折线图')  
plt.show()  

17. 绘制柱状图

plt.bar(x, y)  
plt.xlabel('x')  
plt.ylabel('y')  
plt.title('柱状图')  
plt.show()  

18. 绘制散点图

plt.scatter(x, y)  
plt.xlabel('x')  
plt.ylabel('y')  
plt.title('散点图')  
plt.show()  

19. 绘制饼图

labels = 'A', 'B', 'C', 'D'  
sizes = [15, 30, 45, 10]  
plt.pie(sizes, labels=labels, autopct='%1.1f%%')  
plt.title('饼图')  
plt.show()  

统计分析

20. 计算均值和标准差

import numpy as np  
  
data = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]  
mean = np.mean(data)  
std_dev = np.std(data)  
print(f'均值: {mean}, 标准差: {std_dev}')  

21. 计算相关系数

x = [1, 2, 3, 4, 5]  
y = [2, 3, 5, 7, 11]  
correlation = np.corrcoef(x, y)[0, 1]  
print(f'相关系数: {correlation}')  

22. 线性回归

from sklearn.linear_model import LinearRegression  
  
x = np.array(x).reshape(-1, 1)  
y = np.array(y)  
model = LinearRegression().fit(x, y)  
print(f'截距: {model.intercept_}, 斜率: {model.coef_[0]}')  

网络编程

23. 发送HTTP请求

import requests  
  
response = requests.get('https://jsonplaceholder.typicode.com/posts/1')  
print(response.json())  

24. 创建一个简单的HTTP服务器

from http.server import SimpleHTTPRequestHandler, HTTPServer  
  
Def run(server_class=HTTPServer, handler_class=SimpleHTTPRequestHandler):  
    server_address = ('', 8000)  
    httpd = server_class(server_address, handler_class)  
    print('Starting httpd...')  
    httpd.serve_forever()  
  
run()  

机器学习

25. 训练和预测线性回归模型

from sklearn.model_selection import train_test_split  
  
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.2, random_state=42)  
model = LinearRegression().fit(X_train, y_train)  
predictions = model.predict(X_test)  
print(predictions)  

26. K近邻分类

from sklearn.neighbors import KNeighborsClassifier  
  
knn = KNeighborsClassifier(n_neighbors=3)  
knn.fit(X_train, y_train)  
predictions = knn.predict(X_test)  
print(predictions)  

深度学习

27. 创建一个简单的神经网络

import tensorflow as tf  
from tensorflow.keras.models import Sequential  
from tensorflow.keras.layers import Dense  
  
model = Sequential([  
    Dense(64, activation='relu', input_shape=(X_train.shape[1],)),  
    Dense(64, activation='relu'),  
    Dense(1)  
])  
model.compile(optimizer='adam', loss='mean_squared_error')  
model.fit(X_train, y_train, epochs=10, batch_size=32)  

28. 预测新数据

predictions = model.predict(X_test)  
print(predictions)  

自然语言处理

29. 词频统计

from collections import Counter  
import re  
  
text = "Hello world! Hello everyone. This is a test."  
words = re.findall(r'\w+', text.lower())  
word_counts = Counter(words)  
print(word_counts)  

30. 词云生成

from wordcloud import WordCloud  
import matplotlib.pyplot as plt  
  
wc = WordCloud(width=800, height=400).generate_from_frequencies(word_counts)  
plt.imshow(wc, interpolation='bilinear')  
plt.axis('off')  
plt.show()  

温馨提示:更多项目代码打包好了,文件夹领取在,
在这里插入图片描述

面向对象编程

31. 创建类和对象

class Dog:  
    def __init__(self, name, age):  
        self.name = name  
        self.age = age  
    def bark(self):  
        print(f'{self.name} says woof!')  
my_dog = Dog('Buddy', 3)  
my_dog.bark()  

32. 继承和多态

class Animal:  
    def __init__(self, name):  
        self.name = name  
    def speak(self):  
        raise NotImplementedError("Subclass must implement abstract method")  
class Dog(Animal):  
    def speak(self):  
        return f'{self.name} says woof!'  
  
class Cat(Animal):  
    def speak(self):  
        return f'{self.name} says  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1912145.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谷歌+火狐浏览器——实现生成二维码并实现拖动——js技能提升

最新遇到的问题&#xff1a;前两个二维码拖动不了&#xff0c;只有第三个一维码生成后&#xff0c;才可以拖拽 【问题】&#xff1a;出现在都是绝对定位&#xff0c;但是没有指定z-index导致的。 解决办法&#xff1a;在方法中添加一个变量 renderDrag(id) {var isDragging f…

RDNet实战:使用RDNet实现图像分类任务(一)

论文提出的模型主要基于对传统DenseNet架构的改进和复兴&#xff0c;通过一系列创新设计&#xff0c;旨在提升模型性能并优化其计算效率&#xff0c;提出了RDNet模型。该模型的主要特点和改进点&#xff1a; 1. 强调并优化连接操作&#xff08;Concatenation&#xff09; 论文…

Java反射与Fastjson的危险反序列化

什么是Java反射&#xff1f; 在前文中&#xff0c;我们有一行代码 Computer macBookPro JSON.parseObject(preReceive,Computer.class); 这行代码是什么意思呢&#xff1f;看起来好像就是我们声明了一个名为 macBookPro 的 Computer 类&#xff0c;它由 fastjson 的 parseObje…

【解决ERROR】usage:conda [-h][-V] command... conda:error:unrecognized arguments

解决方法 conda env create --file conda3_520_env_deepPath.yml

拖地机检测液位的原理-管道液位传感器

在现代洗地机中&#xff0c;确保水箱液位充足是保证清洁效率和质量的关键之一。为了实现这一功能&#xff0c;洗地机通常配备了管道光电液位传感器&#xff0c;这种传感器利用先进的光学感应原理来准确检测水箱中的液位情况。 管道光电液位传感器的工作原理基于光学传感技术&a…

新手教学系列——crontab 使用不当引发的服务器性能问题

起因及症状 最近,我们的一台服务器随着运行时间的增加,逐渐出现了压力过大的问题。具体表现为数据库连接数飙升至 4000+,Redis 频繁超时,系统报错文件打开数过多等。针对这些问题,我们逐一检查了数据库连接池、Redis 连接池以及系统的 ulimit 配置,但都未能找到问题的根…

k8s中port,targetPort,nodePort,containerPort的区别

一、说明 在 Kubernetes 中&#xff0c;port、targetPort、nodePort 和 containerPort 是用于定义服务&#xff08;Service&#xff09;和容器之间网络通信的不同参数。 它们各自的作用和含义如下&#xff1a; 1. port 定义&#xff1a;这是服务对外暴露的端口号。作用&#x…

eBPF实战教程五|如何使用USDT探针定位MySQL异常访问(含源码)

前言 各位小伙伴们&#xff0c;非常感谢你们对我们eBPF专题系列文章的持续关注和热情支持&#xff01;在之前的文章中&#xff0c;我们深入探讨了如何手写一个uprobe探测用户态程序。许多热心的小伙伴给我们发私信表达了他们对eBPF技术在数据库领域应用的浓厚兴趣&#xff0c;…

2024建博会|博联AI大模型全屋智能引领智能体验新纪元

7月8日&#xff0c;2024中国建博会&#xff08;广州&#xff09;在广交会展馆及保利世贸博览馆盛大启幕。BroadLink博联智能携AI大模型全屋智能以及AI商业照明解决方案惊喜亮相&#xff0c;全方位展示AI大模型在智能家居领域的前沿应用成果。 本次建博会&#xff0c;博联智能带…

《大语言模型的临床和外科应用:系统综述》

这篇题为《大语言模型的临床和外科应用&#xff1a;系统综述》的文章对大语言模型&#xff08;LLM&#xff09;目前在临床和外科环境中的应用情况进行了全面评估。 大语言模型&#xff08;LLM&#xff09;是一种先进的人工智能系统&#xff0c;可以理解和生成类似人类的文本。…

如何在不关闭防火墙的情况下,让两台设备ping通

问题现象 如题&#xff0c;做虚拟机实验的时候&#xff0c;有一台linux系统的虚拟机配置的ip地址是192.168.172.181 物理主机的ip地址是192.168.172.1 此时物理主机可以ping通虚拟机 但是虚拟机不能ping通物理主机 此时我们可以想到&#xff0c;有可能是物理主机防火墙的原因。…

S32V234平台开发(一)快速使用

快速使用 准备供电复位选择串口通信启动选择显示登陆系统 准备供电 s32v234可以使用两种电源供电 一种是左边电源端子&#xff0c;一种是右边电源适配器(12V 3A) 注意:不要同时使用两种电源同时供电 复位选择 Pressing POR RESET pulls active low EXT_POR signal on S32V2…

基于蓝牙iBeacon定位技术的商场3D楼层导视软件功能详解与实施效益

在现代商场的繁华与复杂中&#xff0c;寻找目的地往往令人头疼。维小帮3D楼层导视软件以其创新技术&#xff0c;为顾客带来无缝、直观的跨楼层导航体验&#xff0c;让每一次商场消费都成为享受。 商场3D楼层导视软件功能服务 3D多楼层导视地图&#xff0c;商场布局一览无遗 …

卷技术还是卷应用?李彦宏给出了明确答案

如何理解李彦宏说的“不要卷模型&#xff0c;要卷应用” 引言 7月4日&#xff0c;2024世界人工智能大会在上海世博中心召开。百度创始人兼CEO李彦宏在产业发展主论坛上呼吁&#xff1a;“大家不要卷模型&#xff0c;要卷应用&#xff01;”这句话引起了广泛讨论。李彦宏认为&a…

安装nodejs | npm报错

nodejs安装步骤: 官网&#xff1a;https://nodejs.org/en/ 在官网下载nodejs: 双击下载下来的msi安装包&#xff0c;一直点next&#xff0c;我选的安装目录是默认的: 测试是否安装成功&#xff1a; 输入cmd打开命令提示符&#xff0c;输入node -v可以看到版本&#xff0c;说…

ByteMD富文本编辑器的vue3配置

Git地址&#xff1a;GitHub - bytedance/bytemd: ByteMD v1 repository 控制面板输入 npm install bytemd/vue-next 下载成功后在src/main.ts中引用 import "bytemd/dist/index.css";引入后保存&#xff0c;下面是一些插件&#xff0c;比如说我用到gmf和hightLight&…

Spring Cloud 引入

1.单体架构&#xff1a; 定义&#xff1a;所有的功能实现都打包成一个项目 带来的后果&#xff1a; ①后端服务器的压力越来越大&#xff0c;负载越来越高&#xff0c;甚至出现无法访问的情况 ②业务越来越复杂&#xff0c;为了满足用户的需求&#xff0c;单体应用也会越来越…

linux使用chattr与lsattr设置文件/目录防串改

背景 linux服务器下,防止某个文件/目录被串改(增删改),可以使用chattr与lsattr设置,这是一种保护机制,用于防止意外地修改或删除重要的文件内容。 chattr与lsattr使用 1.设置目录 图中/tmp/zhk,设置目录属性文件可能被设置为不可更改(immutable)或者只追加(append …

STM32智能仓库管理系统教程

目录 引言环境准备智能仓库管理系统基础代码实现&#xff1a;实现智能仓库管理系统 4.1 数据采集模块 4.2 数据处理与控制算法 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景&#xff1a;仓库管理与优化问题解决方案与优化收尾与总结 1. 引言 智能仓库管理系统通…

吴恩达机器学习作业ex8:K 异常检测和推荐系统(Python实现)详细注释

文章目录 1 异常检测1.1 高斯分布1.2 估计高斯参数1.3 选择阈值 ε1.4 高维数据集 2 推荐系统2.1 电影评分数据集2.2 协作过滤学习算法2.2.1 协同过滤成本函数2.2.2 梯度协同过滤2.2.3 Regularized cost function2.2.4 正则梯度 2.3 学习电影推荐2.3.1 推荐 后记 1 异常检测 在…