啊哈哈哈,2023年Python学习清单来喽;这清单都上齐了,怎么不收藏啊

news2024/7/6 19:14:11

不知不觉已经在CSDN写了三百多篇博客,这些博客中,Python相关的内容占了绝大多数,而这些与Python有关的内容中,绝大多数又都是我个人学习的总结,本文希望把我的Python学习过程做一个总结,也希望能够帮助不同阶段的Pythoner。

文章目录

  • 入门
  • 科学计算
  • 并发与混合编程
  • 标准库模块
  • 算法
  • 炫酷的应用

入门

首先,对于尚未入门的朋友,这里准备了两篇,这两篇博客都是往年的1024程序员日时写的,也都得到了CSDN的鼓励,希望可以帮助初学者,找到学习Python的入门路径。

  • 如果1个小时甚至都没法入门Python,那还是换个语言吧,或者干脆换个专业
  • 如何用两个晚上教会妹纸Python

在初步入门之后,需要对一些最基础的Python模块有一个认识,比如对字符串、文件读写以及常见文件类型的处理方案:

  • python字符串
  • csv文件
  • json文件
  • 文件读写函数open
  • time模块

python号称函数式语言,而下面的模块则是助力Python成为函数式语言的三大神器,其中运算符函数化可以提供括号风格的书写格式;functools可以加速Python的龟速循环与递归;itertools可以避免迭代对象对内存的大量占用。

  • 运算符函数化operator模块
  • 高手分界线functools
  • 高手专用itertools

科学计算

在入门之后,就应该迅速累积代码量了,这里建议从数学模块开始。Python标准库中的数学模块有六个:Python内置的6个数学模块,但对于真正想做科学计算的朋友来说,那还是要学习Numpy的:Numpy专栏,而以下四篇博客是不可不学的:

  • Numpy高性能计算数组array
  • Numpy数学函数
  • Numpy生成等差数组
  • Numpy 逻辑函数和位处理函数

除了Numpy之外,对Pandas的逻辑也可稍加涉猎:Pandas绘图函数总结

并发与混合编程

一般来说,并发与混合编程更多解决的是效率问题,而非功能问题。而当一个程序员对效率产生需求的时候,说明他已经真正是一个程序员了,而对多线程和多进程的友好支持,挽救了Python的速度,如相对多线程的机理和使用方法有一个了解,这篇博客不可不看: Python多线程详解

由于多进程和多线程的语法过于雷同,所以并没有总结,而只针对多进程通信的部分内容做了说明。

  • 进程通信
  • 进程池

此外,这篇用了cuda之后速度起飞,尽管主要目的是介绍显卡计算,但测试了多线程和多进程的对比,值得一看。

如果想进一步提高Python的速度,可以利用Python的胶水语言的特色,通过Python和C的混合编程,达到开发速度和运行速度的双赢,走上人生巅峰

  • Windows系统中python和C混合编程

标准库模块

Python标准库中封装了大量值得一看的模块,
os模块复现了操作系统的部分功能,提供了包括路径操作、进程管理等一些列功能。其中的os.path针对不同操作系统的文件组织方式,提供了相同的API,实现了跨平台

  • 调用操作系统 os模块
  • 路径处理之os.path
  • 路径匹配 glob
  • 高阶文件操作 shutil
  • 系统设置 sys

字符串最核心的问题就是格式化与搜索,前者的功能由字符串本身实现,后者则需通过强大的正则表达式。pprint针对字典、列表优化了输出方案,textwrap解决了针对段落文本的格式化问题。

  • 正则表达式 re
  • 美化输出 pprint
  • 段落格式化 textwrap

与日期时间相关的模块,实际上提供的也是一种转换功能,即如何将一串时间戳转换为可读的数字,或者更进一步,转换为可读性更强的字符串。本文整理了如下三个与日期时间相关的模块,其中time模块相对来说使用更频繁一些,除了获取系统时间之外,还提供了sleep这种暂停线程的系统功能。

  • 日历打印 calendar
  • 时区变换 zoneinfo

算法

Python最多的一个应用场景就是算法原理的开发和验证,我也通过Python实现了一些比较热门的算法,并且希望在2023年继续总结,争取完成:用Python实现100种智能算法,目前已经实现的算法有:

  • 模拟退火算法
  • 遗传算法
  • 差分进化算法
  • 粒子群算法
  • 鸡群算法
  • 闪电连接算法
  • 世界被优化算法
  • BP神经网络

此外,对sklearn库的聚类算法也做了一点总结

  • KMeans聚类
  • MeanShift聚类
  • AP聚类AffinityPropagation
  • Birch聚类
  • DBSCAN

以及scipy中封装的一些优化算法:

  • 在Scipy中调用差分进化算法
  • 跳盆算法,来自物质结构的优化算法
  • 双模拟退火算法dual_annealing

炫酷的应用

这些年也写了一些绘图相关的博客,这些内容虽然没有解决什么痛点问题,但对Python的理解以及编程水平的提高是有所帮助的,比如

  • Python手搓太阳系

  • 模拟三体运动

  • 画个足球:实现正20面体;画3D足球1;画3D足球2

  • 模拟双摆运动

  • Python绘制复杂曲线

  • 穿山甲字符画视频

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

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

相关文章

【Java】阻塞队列

【Java】阻塞队列 什么是阻塞队列? 阻塞队列(BlockingQueue)是一个支持两个附加操作的队列。这2个附加的操作支持阻塞的插入和移除方法。 支持阻塞的插入方法:当队列满时,队列会阻塞插入元素的线程,直到…

4.3 集成运放电路简介

从本质上看,集成运放是一种高性能的直接耦合放大电路。尽管品种繁多,内部结构也各不相同,但是它们的基本组成部分、结构形式和组成原则基本一致。因此,对于典型电路的分析具有普遍意义,一方面可以从中理解集成运放的性…

MapGIS用投影变换功能绘制多条测线

1 问题的提出 在做测线设计的时候,经常要在MapGIS里投点,投线。投点可以用section自带功能实现,但投线还是另有讲究的。可以用MapGIS自带的投影变换功能来实现。 先看下我已知线在奥维地图里是什么样的。 下面就来对这些线,进行投影变换,生成wl线文件,从而可以放入设计…

1. 【prometheus 学习】架构Architecture

prometheus是开源的系统监控及告警系统,很多企业、互联网公司应用prometheus,搭配可视化的grafana,实现对系统的全面度量。 prometheus应用的场景: 1)对于数据准确率要求不高,可以粗略反映监控数据走势的场…

前端实战:Vue实现数据导出导入案例

❤️作者主页:IT技术分享社区 ❤️作者简介:大家好,我是IT技术分享社区的博主,从事C#、Java开发九年,对数据库、C#、Java、前端、运维、电脑技巧等经验丰富。 ❤️荣誉: CSDN博客专家、数据库优质创作者🏆&…

linux内核调度浅析

目录 进程控制块PCB 就绪队列结构体 调度队列成员 下一个进程的选择 进程切换 加入就绪队列 linux进程调度相关的知识再重新梳理一遍。抽取主要数据结构中的主要成员,以最简单的方式实现进程调度。 进程控制块PCB task_struct /* 进程PCB */ struct task_s…

人脸识别速度超高识别度超高项目,可实时进行检测,一看就会!

1.本项目属于pytorch-facenet项目,核心代码是facenet算法,经过1周的代码修改,可以进行入库和识别的连续操作,经过测试,识别效果很好,在GPU环境中可以进行实时摄像头的识别,同时项目将放在百度网…

知行之桥传输带附件的文件示例

在大多数的项目中,交易伙伴往往只要求传输报文消息,业务数据经由报文内容来进行传输。但有些交易伙伴也会要求传输带附件的文件,比如在与大众和延锋汽车YFAI对接的项目当中,交易伙伴要求传输VDA4951 ENGDAT报文,该业务…

vue3 销毁组件方法

问题描述:使用elementplus的dialog,当关闭弹窗后不刷新页面,直接再次打开发现弹窗中还存留上一次的数据。尝试定义关闭事件,或者使用api中提供的属性destroy-on-close 都不行。后来发现这是一个误区。弹窗关闭时并不代表这个组件已经被销毁了…

Linux测试主机之间连通性和端口是否开放的方法

文章目录测试主机之间的连通性测试端口是否开放(curl)测试端口是否开放(wget)测试端口是否开放(ssh)下面每一种测试方式都给出了成功通信的截图,如果与截图不相符可以根据你控制台的报错调试。测试主机之间的连通性 测试两个主机之间是否可以通信,通常使…

Odoo 16 企业版手册 - 库存管理之规则与路线

规则和路线 产品上定义的路线将帮助您理解和跟踪产品的每一次调拨。它是用于库存调拨的操作规则或路线。没有适当的策略,就很难监控和管理公司的库存变动。根据您的公司政策,您可以设置某些操作规则来定义库存中的产品调拨。使用这些规则,Odo…

何为 Vue3 组件标注 TS 类型,看这篇文章就够了!

文章目录前言一、为 props 标注类型使用 < script setup >非 < script setup >二、为 emits 标注类型使用 < script setup >非 < script setup >三、为 ref() 标注类型默认推导类型通过接口指定类型通过泛型指定类型四、为 reactive() 标注类型默认推导…

什么真无线蓝牙耳机值得入手?蓝牙耳机全方位挑选攻略

从我们的日常生活中可以看到&#xff0c;蓝牙耳机的使用频率真的是越来越高了&#xff0c;这主要得益于蓝牙耳机的使用便捷性以及近几年的快速发展。很多人在选择时不禁有些疑问&#xff0c;不知道哪款真无线蓝牙耳机值得入手&#xff1f; 都说买新不买旧&#xff0c;所以&…

黑马2022新版SSM框架教程(SpringMVC_day01)

SpringMVC_day01 文章目录SpringMVC_day011&#xff0c;SpringMVC简介1.1 SpringMVC概述2&#xff0c;SpringMVC入门案例2.1 需求分析2.2 案例制作步骤1:创建Maven项目&#xff0c;并导入对应的jar包步骤2:创建控制器类步骤3:创建配置类步骤4:创建Tomcat的Servlet容器配置类步骤…

网上流行短视频运营方法验证和试错,这些坑你踩过吗?

网上流行短视频运营方法验证和试错,这些坑你踩过吗&#xff1f; 人到中年&#xff0c;35岁以后找份工作不容易&#xff0c;这不刚刚有了一份短视频运营的工作。 在网上找了一些短视频运营技巧&#xff0c;看网上的评论有说有用的有说没用的。 只好自己去试一下错了&#xff…

升级win11后,此电脑中原来7个文件夹的恢复

目录前言问题描述解决方法新建一个.reg文件在.reg文件中添加代码执行.reg文件效果展示P.S. 添加部分文件夹参考文献链接前言 这个方法需要向注册表添加一些项。只需要新建一个.reg文件然后执行即可。 问题描述 更新win11后&#xff0c;以前的文件夹都消失不见了 解决方法 …

一文读懂JVM类加载机制过程及原理万字详解

JVM加载机制详解 文章目录JVM加载机制详解类装载子系统类加载子系统介绍类加载器ClassLoader角色类加载的执行过程加载链接初始化< cinit > 方法和 < init > 方法有什么区别&#xff1f;类加载器类加载器的作用类加载器分类启动类加载器扩展类加载器系统类加载器用…

STM32 TIM PWM高阶操作:刹车及状态约束

STM32 TIM PWM高阶操作&#xff1a;刹车及状态约束 刹车及状态约束是STM32 TIM PWM控制里面比较复杂的一部分&#xff0c;涉及到PWM波形产生前&#xff0c;中&#xff0c;后的管脚状态输出。 这里先引入两个描述&#xff0c;一个是“半高阻”&#xff0c;意思是STM32管脚输出…

我的基于 JamStack 的新博客

概述 今天心血来潮&#xff0c;介绍一下我的新博客站点 —— https://EWhisper.cn。 我是做基础平台 PaaS 运维和架构的&#xff0c;挺喜欢把工作中学到的新知识写下来、记笔记&#xff0c;突然有一天就抱着「资源共享、天下为公」的理念&#xff0c;分享我的学习心得&#x…

KDevelop详细Debug教程

KDevelop官方连接&#xff1a;https://www.kdevelop.org/ 感觉网上对KDevelop的使用介绍比较少&#xff0c;也没有一个完整的Debug教程&#xff0c;这里记录一下我的踩坑过程。当然首先你需要有一个Ubuntu系统&#xff0c;然后需要apt-get安装一下KDevelop。 首先CMakeLists.t…