Python基础教程——常用的36个经典案例!

Python 的简洁和强大使其成为许多开发者的首选语言。本文将介绍36个常用的Python经典代码案例。这些示例覆盖了基础语法、常见任务、以及一些高级功能。(文末附带精品学习资料)

在这里插入图片描述

1. 列表推导式

fizz_buzz_list = [       
"FizzBuzz" if i % 15 == 0 else "Fizz" if i % 3 == 0 else "Buzz" if i % 5 == 0 else i for i in range(1, 101)   
]   
print(fizz_buzz_list)   

这个例子展示了列表推导式,用于生成FizzBuzz序列。

2. 使用with语句和csv模块读取CSV文件

import csv      
with open('data.csv', mode='r') as file:       
csvFile = csv.reader(file)       
for row in csvFile:           
print(row)   

csv模块是处理CSV文件的利器,与with语句结合可以确保文件正确关闭。

3. 正则表达式查找字符串

import re      
pattern = r'\b[A-Za-z][A-Za-z0-9_]*\b'   
text = "Hello, this is a test string with username: JohnDoe"   
matches = re.findall(pattern, text)   
print(matches)   

正则表达式是强大的文本匹配工具,这里用来找出字符串中的所有单词。

4. 计算字符串中某个字符的数量

text = "Hello, World!"   
char = "l"   
count = text.count(char)   
print(f"The character '{char}' appears {count} times.")   

count() 方法可以快速统计子串在字符串中的出现次数。

5. 使用set进行去重

duplicates = [1, 2, 2, 3, 4, 4, 5]   
unique_list = list(set(duplicates))   
print(unique_list)   

集合(set)是一个无序不重复的元素集,非常适合去重。

6. 使用format()格式化字符串

name = "John"   
age = 30   
print("My name is {} and I am {} years old.".format(name, age))   

format() 方法使字符串格式化更加灵活和清晰。

7. 实现一个简单的缓存装饰器

def cache(func):       
cache_dict = {}       
def wrapper(num):          
if num in cache_dict:               
return cache_dict[num]           
else:               
val = func(num)               
cache_dict[num] = val               
return val       
return wrapper   
@cache   
def fibonacci(n):       
if n < 2:           
return n       
return fibonacci(n-1) + fibonacci(n-2)   
print(fibonacci(10))   

装饰器可以用来缓存函数的结果,提高性能。

8. 使用try-except-else-finally处理异常

try:       
result = 10 / 0   
except ZeroDivisionError:       
print("Cannot divide by zero")   
else:       
print("Result is:", result)   
finally:       
print("Execution complete.")   

完整的异常处理流程可以让我们更好地控制程序执行。

9. 断言(assertion)的使用

def divide(a, b):       
assert b != 0, "Division by zero is not allowed"       
return a / b   print(divide(10, 0))   

断言可以帮助我们在开发阶段捕捉到错误条件。

10. 路径操作

import os      
path = "/path/to/some/file.txt"   
dirname = os.path.dirname(path)   
basename = os.path.basename(path)   
print("Directory:", dirname)   
print("Basename:", basename)   

os.path 模块提供了许多实用的路径操作函数。

11. 环境变量的读取和设置

import os      
# 读取环境变量   
print("PATH:", os.environ["PATH"])   
# 设置环境变量   
os.environ["NEW_VAR"] = "NewValue"   
print("NEW_VAR:", os.environ["NEW_VAR"])   

os.environ 允许我们访问和修改环境变量。

12. 使用itertools模块

import itertools      
for combination in itertools.combinations([1, 2, 3], 2):       
print(combination)   

itertools 模块提供了一系列用于创建迭代器的函数,非常有用。

13. 日期时间计算和操作

from datetime import datetime, timedelta      
now = datetime.utcnow()  
one_day = timedelta(days=1)   
yesterday = now - one_day   
print("Yesterday's date:", yesterday)   

日期时间计算是常见的需求,datetime 模块提供了丰富的类和方法。

14. 排序和反序列表

numbers = [3, 1, 4, 1, 5, 9, 2, 6]   
numbers.sort()   
print("Sorted:", numbers)   
numbers.reverse()   
print("Reversed:", numbers)   

列表对象自带的 sort()reverse() 方法可以方便地对列表进行排序和反序。

15. 使用json模块处理JSON数据

import json      
data = {"name": "John", "age": 30}   
json_data = json.dumps(data)  
print(json_data)   
parsed_data = json.loads(json_data)   
print(parsed_data)   

json模块使得Python处理JSON数据变得简单。

16. 使用collections模块的defaultdict

from collections 
import defaultdict      
dd = defaultdict(int)   
dd["apple"] = 1   
dd["banana"] = 2   
print(dd["apple"])  
# 输出:1   
print(dd["orange"])  
# 输出: 0,不存在的键返回默认值0   

defaultdict 是字典的一个子类,它提供了一个默认值,用于字典中尝试访问不存在的键。

17. 使用functools模块的reduce函数

from functools import reduce   
from operator import add   
numbers = [1, 2, 3, 4]   
total = reduce(add, numbers)   
print(total)  # 输出:10   

reduce 函数可以将一个二元函数累积地应用到一个序列的元素上,从左到右,以便将序列减少为单个值。

18. 使用threading模块进行简单的多线程编程

import threading      
def print_numbers():      
for i in range(10):           
print(i)   thread = threading.Thread(target=print_numbers)   
thread.start()   
thread.join()   

threading模块允许我们创建和管理线程,这是实现并发的一种方式。

19. 使用multiprocessing模块进行多进程编程

from multiprocessing import Process, cpu_count      
def print_hello():       
print("Hello from child process")   
if __name__ == '__main__':       
processes = []       
for _ in range(cpu_count()):           
p = Process(target=print_hello)           
p.start()           
processes.append(p)       
for p in processes:           
p.join()   

multiprocessing模块是Python中进行进程编程的关键模块。

20. 使用requests模块进行HTTP请求

import requests      
response = requests.get("https://www.example.com")   
print(response.status_code)   
print(response.text)   

requests模块简化了HTTP请求的相关操作,是进行网络编程的好帮手。

21. 使用map()函数将字符串转换为整数列表

string_numbers = "1 2 3 4 5"   
numbers = list(map(int, string_numbers.split()))   
print(numbers)   

map() 函数可以对一个序列的每个元素应用指定的函数。

22. 条件语句

x = 7   if x > 5:       
print("x is greater than 5")   
else:       
print("x is less than or equal to 5")   

条件语句是控制程序流程的基本构建块。

23. for循环遍历列表

fruits = ["apple", "banana", "cherry"]   
for fruit in fruits:       
print(fruit)   

for 循环在Python中是常用的迭代工具。

24. while循环

count = 0   
while count < 5:       
print(count)       
count += 1   

while 循环允许程序按条件重复执行代码。

25. 使用enumerate()获取列表的索引和值

for index, value in enumerate(["apple", "banana", "cherry"]):       
print(index, value)   

enumerate() 函数可以同时获得元素的索引和值,使代码更简洁。

26. 列表切片

fruits = ["apple", "banana", "cherry", "date", "elderberry"]   
print(fruits[1:4])   

列表切片是访问列表子集的一种快捷方式。

27. 字符串格式化

name = "John"  
age = 30   
print(f"My name is {name} and I am {age} years old.")   

字符串格式化是Python中处理字符串的重要方法。

28. 异常处理

try:       
result = 10 / 0   
except ZeroDivisionError:       
print("Cannot divide by zero")   

异常处理可以帮助我们捕获和处理错误。

29. 类定义

class Person:       
def __init__(self, name, age):           
self.name = name           
self.age = age       
def greet(self):           
print(f"Hello, my name is {self.name} and I am {self.age} years old.")   

类的使用是面向对象编程的核心。

30. 集合并集

fruits_set = {"apple", "banana", "cherry"}   
veggies_set = {"carrot", "broccoli", "banana"}   
print(fruits_set | veggies_set)   

集合操作可以方便地处理一组唯一的元素。

31. 创建字典

person_dict = {"name": "John", "age": 30, "city": "New York"}   
print(person_dict)   

字典是存储键值对的数据结构。

32. 访问字典值

person_dict = {"name": "John", "age": 30, "city": "New York"}   
print(person_dict["name"])   

通过键来访问字典中的值。

33. 删除字典元素

person_dict = {"name": "John", "age": 30, "city": "New York"}   
del person_dict["age"]   
print(person_dict)   

在字典中删除元素同样容易。

34. 生成器函数

def countdown(n):       
while n > 0:           
yield n           
n -= 1   
for i in countdown(5):       
print(i)   

生成器可以创建迭代器,按需产生值。

35. 使用zip()同时遍历多个列表

names = ["Alice", "Bob", "Charlie"]   
ages = [25, 30, 35]   
for name, age in zip(names, ages):       
print(name, age)   

使用 zip() 可以方便地并行迭代多个序列。

最后这里免费分享给大家一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升自己却又没有方向的朋友,也可以和我一起来学习交流呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python所有方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备基础、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

陪玩系统源码,陪玩平台源码,陪玩app源码搭建

游戏陪玩app开发&#xff0c;软件搭建&#xff0c;程序制作、系统设计 目前&#xff0c;中国约有五到六亿游戏玩家&#xff0c;其中大约有两亿人选择付费游戏。这显示了绝大多数玩家都愿意为他们喜欢的游戏付费。随着游戏体验的不断改善&#xff0c;越来越多的玩家更倾向于找到…

基于Java的汽车租赁系统【附源码】

论文题目 设计&#xff08;论文&#xff09;综述&#xff08;1000字&#xff09; 当今社会&#xff0c;汽车租赁已成为一种受欢迎的出行方式。本文旨在探讨汽车租赁行业的发展趋势、市场规模及其对环境的影响。目前&#xff0c;汽车租赁行业正在经历着快速的发展。随着经济的发…

3D资产爆发,轻量化需求再度冲高,见证下一代3D崛起!

数字经济不断发展&#xff0c;3D资产和实体经济迎来深度融合的窗口期&#xff0c;3D资产应用外延催生大量新场景、新业态&#xff0c;一个3D资产构建的数字世界正出现在我们眼前。 数字经济不断发展&#xff0c;3D资产和实体经济迎来深度融合的窗口期&#xff0c;3D资产应用外…

【TB作品】MSP430,G2533单片机,红外发射,红外接收,红外通信,IR发射

文章目录 题目红外NEC协议介绍基本概述数据帧结构位表示数据传输示例重复码&#xff08;Repeat Code&#xff09;实现细节发送端接收端 典型应用结论 最终效果代码 题目 遥控器 硬件&#xff1a;msp430g2553、oled显示器、ds18b20温度传感器、红外发射器、按键 软件功能&#…

OpenAI用GPT-4o打造癌症筛查AI助手;手机就能检测中风,准确率达 82%!中国气象局发布AI气象大模型...

AI for Science 企业动态速览—— * 皇家墨尔本大学用 AI 检测患者中风&#xff0c;准确率达 82% * OpenAI 用 GPT-4o 模型打造癌症筛查 AI 助手 * 中国气象局发布 AI 气象大模型风清、风雷、风顺 * AI 药企英矽智能&#xff1a;小分子抑制剂已完成中国 IIa 期临床试验全部患者…

Socket——向FTP服务器发送消息并获得响应

1、简介 Socket&#xff08;套接字&#xff09;是网络编程中用于描述IP地址和端口的一个抽象概念&#xff0c;通过它可以实现不同主机间的通信。套接字可以分为几种不同的类型&#xff0c;每种类型对应不同的协议和传输模式。 1.1、基本概念 IP地址&#xff1a;用于标识网络…

厂区滴漏智能识别摄像机

当今&#xff0c;随着智能技术的迅猛发展&#xff0c;智能识别摄像机正逐步应用于各个行业&#xff0c;特别是在工业生产环境中&#xff0c;其作用愈发凸显。其中&#xff0c;厂区滴漏智能识别摄像机的应用成为了保障生产安全和环境保护的重要手段之一。厂区滴漏智能识别摄像机…

简述Java项目中VO,BO,PO,DO,DTO之类的文件概念、易混点

VO&#xff0c;BO&#xff0c;PO&#xff0c;DO&#xff0c;DTO 概念易混点一&#xff1a;VO和DTO- 让我们通过一个实例来阐释DTO和VO的概念及其应用差异&#xff1a;小结&#xff1a;VO专注于展示&#xff0c;而DTO则用于数据的传输和业务逻辑的处理。 二&#xff1a;BO和PO小…

记录 Bonobo Git 服务器 SMTP 设置

Bonobo 使用标准的 .NET SMTP 设置&#xff0c;可以在 web.config 中指定这些设置。 <system.net><mailSettings><smtp deliveryMethod"network" from"bonobobonoserver.your.domain"><network host"accessible.smtp.host"…

用一个暑假|用AlGC-stable diffusion 辅助服装设计及展示,让你在同龄人中脱颖而出!

大家好&#xff0c;我是设计师阿威 Stable Diffusion是一款开源AI绘画工具&#xff0c; 用户输入语言指令&#xff0c;即可自动生成各种风格的绘画图片 Stable Diffusion功能强大&#xff0c;生态完整、使用方便。支持大部分视觉模型上传&#xff0c;且可自己定制模型&#x…

AI X HI:塑造数智时代的人类镜像,网易这场分享不能错过!

2001 年&#xff0c;网易正式成立在线游戏事业部。从那以后&#xff0c;网易孵化了许多出圈的精品游戏&#xff0c;跻身成为全球七大游戏公司之一。这些游戏产品之所以能够广受玩家好评&#xff0c;并保持常青&#xff0c;一方面源于十年磨一剑的精良品质&#xff0c;另一方面则…

基于微信小程序的在线点餐系统【前后台+附源码+LW】

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 点餐小程序&#xff0c;主要的模块包括实现管理员&#xff1b;管理员用户&#xff0c;可以对整个系统进行基本的增删改查&#xff0c;系统的日…

一文详解:生产计划和排产管理怎么做?

通过阅读本文&#xff0c;你可以了解以下内容&#xff1a;1、生产计划的制定&#xff1b;2、排产的策略和方法&#xff1b;3、生产计划和排产管理实施&#xff1b;4、生产计划和排产管理的效果评估。 一、生产计划制定 生产计划的本质就是协调企业一切资源“低成本、高质量”…

“RLC串联正弦稳态电路的仿真研究”课程设计,高分资源,匠心制作,下载可用。强烈推荐!!!

1.设计目的 用 Multisim 电路仿真软件&#xff0c;对一个 RLC 串联电路进行正弦稳态电路分析。 2任务分析 2.1任务要求1 在 Multisim 中搭建一个 RLC 串联电路&#xff0c;其中 R、 L、 C、正弦激励源的振幅Vp和频率 f 等所有参数均可自己任意设置&#xff08;不建议都采用…

wordpress建站有哪些优点

对于绝大多数站长来说&#xff0c;使用wordpress建站是一个非常不错的选择。那么wordpress建站有哪些优点呢&#xff1f;下面小编就来为大家解答。 1.wordpress是什么&#xff1f; WordPress是一款全球最受欢迎的内容管理系统&#xff08;CMS&#xff09;&#xff0c;主要用于…

当前的网安行业绝对不是高薪行业

昨天&#xff0c;面试了一个刚毕业两年的同学小A。第一学历为某大专&#xff0c;第二学历为某省地区的本科院校。面试过程表现一般偏下&#xff0c;但动不动就要薪资15K 这个人&#xff0c;我当场就PASS了。主要原因是&#xff0c;并非是否定小A同学的能力&#xff0c;而是他…

小米上架遇到的隐私协议问题

1. 找到【APP权限设置】&#xff0c;点击详情&#xff0c;一一对照&#xff0c;删除没用的&#xff0c;新增小米商家必须要有的内容 2. APP 存在未经用户同意读取“OAID”的行为 uniapp官方文档对应内容处

薄冰英语语法学习--名词2-格

名词后面 s&#xff0c;代表后面这个东西属于前面的。 比如toms book&#xff0c;汤姆的书。 末尾是s&#xff0c;那么直接在最后加就行了。比如boys&#xff0c;男孩们的 表示几个词共同 的所有关系在最后一个词的词尾加 sMary and Toms books 玛丽和汤姆共有的书表示几个词…

商家转账到零钱申请分销返佣场景直接过审方案

分销返佣场景是商家转账到零钱最常见的申请场景&#xff0c;驳回的主要原因是多级分销、代商家收款/二清、充值/消费/转赠等&#xff0c;本文整理了申请的详细步骤&#xff0c;并在最后给出了直接开通的办法。 申请步骤&#xff1a; 1. 确认主体资格&#xff1a;申请的商户号…

个人贷款种类(互联网最全)

作者Toby&#xff0c;来源公众号&#xff1a;Python风控模型&#xff0c;个人贷款种类 个人贷款概述 个人贷款是指个人向银行、金融机构或其他贷款机构借款用于个人消费、投资或其他目的的贷款产品。 个人贷款通常分为 secured loans&#xff08;抵押贷款&#xff09;和 unse…