Python底子教程——常用的36个经典案例!

打印 上一主题 下一主题

主题 855|帖子 855|积分 2565

Python 的简洁和强大使其成为许多开发者的首选语言。本文将先容36个常用的Python经典代码案例。这些示例覆盖了底子语法、常见任务、以及一些高级功能。(建议收藏食用)

1. 列表推导式

  1. fizz_buzz_list = [      
  2. "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)   ]   
  3. print(fizz_buzz_list)   
复制代码
这个例子展示了列表推导式,用于天生FizzBuzz序列。
2. 利用with语句和csv模块读取CSV文件

  1. import csv      
  2. with open('data.csv', mode='r') as file:      
  3. csvFile = csv.reader(file)      
  4. for row in csvFile:           
  5. print(row)   
复制代码
csv模块是处理CSV文件的利器,与with语句结合可以确保文件精确关闭。
3. 正则表达式查找字符串

  1. import re      
  2. pattern = r'\b[A-Za-z][A-Za-z0-9_]*\b'   
  3. text = "Hello, this is a test string with username: JohnDoe"   
  4. matches = re.findall(pattern, text)   
  5. print(matches)   
复制代码
正则表达式是强大的文本匹配工具,这里用来找出字符串中的全部单词。
4. 盘算字符串中某个字符的数量

  1. text = "Hello, World!"   
  2. char = "l"   
  3. count = text.count(char)   
  4. print(f"The character '{char}' appears {count} times.")   
复制代码
count() 方法可以快速统计子串在字符串中的出现次数。
5. 利用set举行去重

  1. duplicates = [1, 2, 2, 3, 4, 4, 5]   
  2. unique_list = list(set(duplicates))  
  3. print(unique_list)   
复制代码
聚集(set)是一个无序不重复的元素集,非常适合去重。
6. 利用format()格式化字符串

  1. name = "John"   
  2. age = 30   
  3. print("My name is {} and I am {} years old.".format(name, age))   
复制代码
format() 方法使字符串格式化更加灵活和清晰。
7. 实现一个简朴的缓存装饰器

  1. def cache(func):      
  2. cache_dict = {}      
  3. def wrapper(num):           
  4. if num in cache_dict:               
  5. return cache_dict[num]           
  6. else:               
  7. val = func(num)               
  8. cache_dict[num] = val               
  9. return val      
  10. return wrapper   
  11. @cache   
  12. def fibonacci(n):      
  13. if n < 2:           
  14. return n      
  15. return fibonacci(n-1) + fibonacci(n-2)   
  16. print(fibonacci(10))   
复制代码
装饰器可以用来缓存函数的结果,进步性能。
8. 利用try-except-else-finally处理异常

  1. try:      
  2. result = 10 / 0   
  3. except ZeroDivisionError:      
  4. print("Cannot divide by zero")   
  5. else:      
  6. print("Result is:", result)   
  7. finally:      
  8. print("Execution complete.")   
复制代码
完整的异常处理流程可以让我们更好地控制程序执行。
9. 断言(assertion)的利用

  1. def divide(a, b):      
  2. assert b != 0, "Division by zero is not allowed"      
  3. return a / b   
  4. print(divide(10, 0))   
复制代码
断言可以帮助我们在开发阶段捕捉到错误条件。
10. 路径操作

  1. import os      
  2. path = "/path/to/some/file.txt"   
  3. dirname = os.path.dirname(path)   
  4. basename = os.path.basename(path)   
  5. print("Directory:", dirname)   
  6. print("Basename:", basename)   
复制代码
os.path 模块提供了许多实用的路径操作函数。
11. 环境变量的读取和设置

  1. import os      
  2. # 读取环境变量   
  3. print("PATH:", os.environ["PATH"])   
  4. # 设置环境变量   
  5. os.environ["NEW_VAR"] = "NewValue"   
  6. print("NEW_VAR:", os.environ["NEW_VAR"])   
复制代码
os.environ 允许我们访问和修改环境变量。
12. 利用itertools模块

  1. import itertools      
  2. for combination in itertools.combinations([1, 2, 3], 2):      
  3. print(combination)   
复制代码
itertools 模块提供了一系列用于创建迭代器的函数,非常有用。
13. 日期时间盘算和操作

  1. from datetime import datetime, timedelta      
  2. now = datetime.utcnow()   
  3. one_day = timedelta(days=1)   
  4. yesterday = now - one_day   
  5. print("Yesterday's date:", yesterday)   
复制代码
日期时间盘算是常见的需求,datetime 模块提供了丰富的类和方法。
14. 排序和反序列表

  1. numbers = [3, 1, 4, 1, 5, 9, 2, 6]   
  2. numbers.sort()   
  3. print("Sorted:", numbers)   
  4. .reverse()   
  5. print("Reversed:", numbers)   
复制代码
列表对象自带的 sort() 和 reverse() 方法可以方便地对列表举行排序和反序。
15. 利用json模块处理JSON数据

  1. import json      
  2. data = {"name": "John", "age": 30}   
  3. json_data = json.dumps(data)   
  4. print(json_data)   
  5. parsed_data = json.loads(json_data)   
  6. print(parsed_data)   
复制代码
json模块使得Python处理JSON数据变得简朴。
16. 利用collections模块的defaultdict

  1. from collections import defaultdict      
  2. dd = defaultdict(int)   
  3. dd["apple"] = 1   
  4. dd["banana"] = 2   
  5. print(dd["apple"])  # 输出:1   
  6. print(dd["orange"])  # 输出: 0,不存在的键返回默认值0   
复制代码
defaultdict 是字典的一个子类,它提供了一个默认值,用于字典中尝试访问不存在的键。
17. 利用functools模块的reduce函数

  1. from functools import reduce   
  2. from operator import add   
  3. numbers = [1, 2, 3, 4]   
  4. total = reduce(add, numbers)   
  5. print(total)  # 输出:10   
复制代码
reduce 函数可以将一个二元函数累积地应用到一个序列的元素上,从左到右,以便将序列减少为单个值。
18. 利用threading模块举行简朴的多线程编程

  1. import threading      
  2. def print_numbers():      
  3. for i in range(10):           
  4. print(i)   
  5. thread = threading.Thread(target=print_numbers)   
  6. thread.start()   
  7. thread.join()   
复制代码
threading模块允许我们创建和管理线程,这是实现并发的一种方式。
19. 利用multiprocessing模块举行多历程编程

  1. from multiprocessing import Process, cpu_count      
  2. def print_hello():      
  3. print("Hello from child process")   
  4. if __name__ == '__main__':      
  5. processes = []
  6. for _ in range(cpu_count()):           
  7. p = Process(target=print_hello)           
  8. p.start()           
  9. processes.append(p)      
  10. for p in processes:           
  11. p.join()   
复制代码
multiprocessing模块是Python中举行历程编程的关键模块。
20. 利用requests模块举行HTTP哀求

  1. import requests      
  2. response = requests.get("https://www.example.com")   
  3. print(response.status_code)   
  4. print(response.text)   
复制代码
requests模块简化了HTTP哀求的相关操作,是举行网络编程的好帮助。
21. 利用map()函数将字符串转换为整数列表

  1. string_numbers = "1 2 3 4 5"   
  2. numbers = list(map(int, string_numbers.split()))   
  3. print(numbers)   
复制代码
map() 函数可以对一个序列的每个元素应用指定的函数。
22. 条件语句

  1. x = 7   
  2. if
  3. x > 5:      
  4. print("x is greater than 5")   
  5. else:      
  6. print("x is less than or equal to 5")   
复制代码
条件语句是控制程序流程的基本构建块。
23. for循环遍历列表

  1. fruits = ["apple", "banana", "cherry"]   
  2. for fruit in fruits:      
  3. print(fruit)   
复制代码
for 循环在Python中是常用的迭代工具。
24. while循环

  1. count = 0   
  2. while count < 5:      
  3. print(count)      
  4. count += 1   
复制代码
while 循环允许程序按条件重复执行代码。
25. 利用enumerate()获取列表的索引和值

  1. for index, value in enumerate(["apple", "banana", "cherry"]):      
  2. print(index, value)   
复制代码
enumerate() 函数可以同时得到元素的索引和值,使代码更简洁。
26. 列表切片

  1. fruits = ["apple", "banana", "cherry", "date", "elderberry"]   
  2. print(fruits[1:4])   
复制代码
列表切片是访问列表子集的一种快捷方式。
27. 字符串格式化

  1. name = "John"   
  2. age = 30   
  3. print(f"My name is {name} and I am {age} years old.")   
复制代码
字符串格式化是Python中处理字符串的重要方法。
28. 异常处理

  1. try:      
  2. result = 10 / 0   
  3. except ZeroDivisionError:      
  4. print("Cannot divide by zero")   
复制代码
异常处理可以帮助我们捕捉和处理错误。
29. 类定义

  1. class Person:      
  2. def __init__(self, name, age):           
  3. self.name = name           
  4. self.age = age      
  5. def greet(self):           
  6. print(f"Hello, my name is {self.name} and I am {self.age} years old.")   
复制代码
类的利用是面向对象编程的焦点。
30. 聚集并集

  1. fruits_set = {"apple", "banana", "cherry"}   
  2. veggies_set = {"carrot", "broccoli", "banana"}   
  3. print(fruits_set | veggies_set)   
复制代码
聚集操作可以方便地处理一组唯一的元素。
31. 创建字典

  1. person_dict = {"name": "John", "age": 30, "city": "New York"}   
  2. print(person_dict)   
复制代码
字典是存储键值对的数据结构。
32. 访问字典值

  1. person_dict = {"name": "John", "age": 30, "city": "New York"}   
  2. print(person_dict["name"])   
复制代码
通过键来访问字典中的值。
33. 删除字典元素

  1. person_dict = {"name": "John", "age": 30, "city": "New York"}   
  2. del person_dict["age"]  
  3. print(person_dict)   
复制代码
在字典中删除元素同样轻易。
34. 天生器函数

  1. def countdown(n):      
  2. while n > 0:           
  3. yield n           
  4. n -= 1   
  5. for i in countdown(5):      
  6. print(i)   
复制代码
天生器可以创建迭代器,按需产生值。
35. 利用zip()同时遍历多个列表

  1. names = ["Alice", "Bob", "Charlie"]   
  2. ages = [25, 30, 35]   
  3. for name, age in zip(names, ages):      
  4. print(name, age)   
复制代码
利用 zip() 可以方便地并行迭代多个序列。
最后这里免费分享给各人一份Python全台学习资料,包含视频、源码。课件,希望能帮到那些不满现状,想提升本身却又没有方向的朋侪,也可以和我一起来学习交换呀。
编程资料、学习路线图、源代码、软件安装包等!【点击这里】领取!
Python全部方向的学习路线图,清楚各个方向要学什么东西
100多节Python课程视频,涵盖必备底子、爬虫和数据分析
100多个Python实战案例,学习不再是只会理论
华为出品独家Python漫画教程,手机也能学习
历年互联网企业Python面试真题,复习时非常方便



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表