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

Python编程常用的19个经典案例

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 csvwith open('data.csv', mode='r') as file:csvFile =csv.reader (file)for row in csvFile:print(row)

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

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

import repattern = 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] = valreturn valreturn wrapper
@cache
def Fibonacci(n):if n < 2:return nreturn 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 ospath = "/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 itertoolsfor combination in itertools.combinations([1, 2, 3], 2):print(combination)

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

13. 日期时间计算和操作

from datetime import datetime, timedeltanow = 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 jsondata = {"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 defaultdictdd = 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 threadingdef 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_countdef 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中进行进程编程的关键模块。

  最后由于文章篇幅有限,文档资料内容较多,需要这些文档的朋友,可以加小助手微信免费获取,【保证100%免费】,中国人不骗中国人。

全套Python学习资料分享:

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

图片

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,还有环境配置的教程,给大家节省了很多时间。

图片

三、全套PDF电子书

书籍的好处就在于权威和体系健全,刚开始学习的时候你可以只看视频或者听某个人讲课,但等你学完之后,你觉得你掌握了,这时候建议还是得去看一下书籍,看权威技术书籍也是每个程序员必经之路。

图片

四、入门学习视频全套

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

图片

图片

五、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片

图片

在这里插入图片描述

最后

如果你也想自学Python,可以关注我。我会把踩过的坑分享给你,让你不要踩坑,提高学习速度,还整理出了一套系统的学习路线,这套资料涵盖了诸多学习内容:开发工具,基础视频教程,项目实战源码,51本电子书籍,100道练习题等。相信可以帮助大家在最短的时间内,能达到事半功倍效果,用来复习也是非常不错的。

希望这篇文章对你有帮助,也希望能帮到大家,因为你我都是热爱python的编程语言爱好者。

http://www.lryc.cn/news/506775.html

相关文章:

  • 【Unity基础】AudioSource 常用方法总结
  • CSS系列(25)-- 滚动优化详解
  • CST天线设计的六大核心特点:为天线分析提供完整解决方案!
  • Ubuntu下C语言操作kafka示例
  • 怎么将pdf中的某一个提取出来?介绍几种提取PDF中页面的方法
  • HTTP接口报错详解与解决 200,500,403,408,404
  • 监控IP频繁登录服务器脚本
  • 分布式链路追踪-03-Jaeger、Zipkin、skywalking 中的 span 是如何设计的?
  • 【达梦数据库】获取对象DDL
  • InnoDB和MyISAM引擎优缺点和区别
  • 文件上传知识点汇总
  • 计算机网络技术基础:5.数据通信系统
  • 光谱相机在农业的应用
  • 高考志愿填报:如何制定合理的志愿梯度?
  • Android基于Path的addRoundRect,Canvas剪切clipPath简洁的圆角矩形实现,Kotlin(1)
  • webGL硬核知识:图形渲染管渲染流程,各个阶段对应的API调用方式
  • 区块链详解
  • 【EXCEL 逻辑函数】AND、OR、XOR、NOT、IF、IFS、IFERROR、IFNA、SWITCH
  • ubuntu下gdb调试ROS
  • Docke_常用命令详解
  • 使用vue2.0或vue3.0创建自定义组件
  • Elasticsearch-DSL高级查询操作
  • 【Linux】重启系统后开不开机(内核模块丢失问题)
  • 对golang的io型进程进行off-cpu分析
  • Springboot中使用Retrofit
  • Ubuntu中配置内网固定IP
  • ExcelVBA编程输出ColorIndex与对应颜色色谱
  • MySQL中in和exists的使用场景
  • 【多线程2】start 和 run 区别,终止线程,等待线程
  • 富途证券C++面试题及参考答案