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

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)   
.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漫画教程,手机也能学习

可以扫描下方二维码领取【保证100%免费在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值