AutoCV:Python基础总结

news2024/12/26 22:38:21

目录

  • Python基础总结
    • 前言
    • Python基础课程总结
      • 第一课:开发环境和基本数据类型
      • 第二课:控制流程和函数
      • 第三课:闭包和根号2的求解
      • 第四课:类和三大神器
      • 第五课:文件IO和pickle、json
      • 第六课:作用域、模块和包、Dataset和DataLoader、argparse模块
    • 个人总结

Python基础总结

前言

本次主要是对前面的 Python 基础课程进行一个总结

Python基础课程总结

学了一段时间的 Python 基础课程了,到底学了个啥🤔。下面是根据我个人的学习进度做的一个简单的思维导图

在这里插入图片描述

根据上面的思维导图,让我们一起来回顾下这段时间学习的内容吧🚀🚀🚀

第一课:开发环境和基本数据类型

本次课程主要学习了开发环境的配置 Pycharm + Anaconda + Jupyter notebook

在这里认识到了一些工具的重要性如 chatGPT、Google、DeepL 等,学会利用工具来提升自己的学习效率。

认识了 Python 中的基本数据类型,int、float、str、bool、list、tuple、dict、set

重新认识了 zip 函数封包的使用,解决了我之前在检测器后处理代码中遇到的困惑

最后我们重点学习了字符串的使用方式,包括字符串的拼接(+、join)、切片([:])、查找(find)、替换(replace)等

第二课:控制流程和函数

本次课程主要学习了 Python 中的控制流程语句(if else、for、while)和函数(def、递归、匿名)。

我们首先学习了基于 if 的条件语句和基于 while、for 的循环语句,并完成了一个简易计算器的作业。

然后我们认识了 Python 中的函数和其四种类型的函数参数(位置参数、命名参数、默认参数、可变参数)

并学习了两种特殊的函数:递归函数(函数内部调用自身的函数)和匿名函数(lambda函数,无需定义函数名)。我们使用递归函数完成了斐波拉契数列的实现,匿名函数则可应用于排序的简单场景。

第三课:闭包和根号2的求解

本次课程主要学习了 Python 中闭包的概念并通过求解 2 \sqrt2 2 了解 ML 基础知识。

我们首先了解了闭包函数的特点,即内部函数可访问外部函数的局部变量、外部函数返回内部函数。我们使用闭包函数完成了统计函数执行耗时的作业。

从求解 2 \sqrt2 2 的问题出发,引入了导数、梯度等概念,并利用梯度下降法(沿着梯度的负方向进行优化)和牛顿法(不断逼近函数的零点来求解方程的根)完成了 2 \sqrt2 2 问题的求解。

最后重温了一遍常用函数的求导和链式法则,对于后续 BP 算法打下基础。

第四课:类和三大神器

本次课程主要学习 Python 中的类和三大神器:生成器、迭代器和装饰器。

首先,我们学习了类的基本概念(用来描述和创建对象的模板),包括类的实例化(创建一个实际对象)和魔法函数(如__init____call)的使用。

接下来,我们了解了生成器的概念,它代表的是一种范式,一种规范的实践,通过生成器函数(yield)和生成器表达式可用于生成一个生成器对象。

然后,我们学习了迭代器的使用,它必须实现 __iter__next 两个方法。通过 __iter__ 方法返回迭代器对象本身吗,通过 __next__ 方法可以逐个获取容器中的元素,迭代器可用于数据集的加载。

最后,我们学习了装饰器的使用,装饰器本质上是一个函数,其参数和返回值都是函数对象,我们了解了类作为装饰器的两种形式,即类的 __init__ 作为装饰入口和类的 __call__ 作为装饰入口,同时学习了 Python 中常见的内置装饰器,如 @classmethod@staticmethod@property

作业方面我们通过迭代器完成了 Fib 类的实现,通过装饰器完成了 Fib 类的修改。

第五课:文件IO和pickle、json

本次课程主要学习了文件操作和序列化模块:pickle 和 json。

我们学习了如何通过 Python 内置的函数对文件进行打开(open、with open)、读取(read、readline)、写入(write)以及关闭(close)操作。

还学习了如何使用 with 语句来自动管理文件的打开和关闭,防止文件句柄泄露和资源浪费。

我们重点学习了 XML 文件的解析,通过自定义解析和利用 ElementTree 模块完成 xml 的转换,这对于后续处理标签文件非常有帮助。

我们还学习了如何使用 pickle 模块的 dumpload 函数实现对 Python 对象的二进制序列化和反序列化,如何使用 json 模块实现 Python 对象的文本序列化和反序列化。

第六课:作用域、模块和包、Dataset和DataLoader、argparse模块

本次课程主要学习 Python 中的作用域和模块以及用于数据集解析的 Dataset 和 DataLoader。

首先,我们学习了 Python 程序中的作用域,通过 locals 函数可以用来查看当前作用域中的符号,符号的查找和读取遵循就近原则

然后我们区分了 Python 程序中的脚本(独立的 Python 代码文件,例如 add.py)、模块(一组相关的 Python 代码,比如 math.py)和包(模块+__init__,比如 algorithm.py)的概念,并对 import 导入的处理进行了详细分析(import module 和 import package.module)。

我们还利用 setup.py 打包并发布了自定义的模块。

通过 Dataset 数据集和 DataLoader 数据加载器完成了对 MNIST 数据集的解析工作,这对于后续 DL 中处理相关数据集非常有帮助。

最后,我们简单了解了三个常用的第三方库 numpy、cv2、matplotlib,并学习了命令行参数解析模块 argparse,可以根据用户在命令行输入的参数执行不同的操作。

个人总结

Python 基础课程告一段落了,期待下后续的 deep learning 和 3D 基础课程😄。

🚀🚀🚀正确使用 Python 的方式:使用基本的 Python 语法,调用大量的库包,高效愉快的完成自己的工作

最后,总结一句,收获颇丰,感谢杜老师!!!🤞

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

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

相关文章

IDM下载器|Windows系统经典下载工具idm6.41|IDM如何在线视频下载工具 |下载视频教程

IDM全称Internet Download Manager,是一种将下载速度提高最多5倍的专业下载工具,支持大部分文件格式下载和基本所有的下载链接,无视网址本身下载限速,直接达到电脑该有的网速。 下载更快更可靠 下载INTERNET DOWNLOAD MANAGER(IDM下载器)开始您的极速下载旅程,永远…

鲲志说 我的创作纪念日(2023-05-07)

目录 前言有时候缘分就是这么巧!努力终会有所获日常规划成就憧憬 前言 今天是个特殊的日子,是我成为创作者的第2048天。但不仅仅是因此今天才特殊,更重要的是因为你,今天才特殊,值得纪念。不管前路如何,积…

微信小程序开发19__第三方UI组件Vant Weapp的应用

为了提高小程序的开发效率, 可以考虑使用第三方 UI 组件来实现界面的视觉统一。 本文以有赞第三方 UI 组件库 Vant Weapp 为例,介绍如何使用自定义组件 实现一个小程序。 Vant Weapp 是一款轻量、 可靠的小程序UI组件库, 与有赞移动端组…

数字图像处理-绪论

数字图像处理-绪论 文章目录 前言一、闲谈二、什么是数字图像处理?2.1. 什么是数字图像?2.1.1. 可见光图像2.1.2. 不可见光图像 2.2. 什么是数字图像处理? 三、数字图像处理的前世今生3.1. 数字图像处理的前世3.2. 数字图像处理的今生 四、数…

计网笔记 01 概述 计算机网络体系结构、参考模型

文章目录 前言1、计网概述1.1 概念、组成、功能、分类1.1.1 概念1.1.2 计网组成1.1.2 计网分类 1.2 标准化工作及相关组织1.2.1 标准的分类 1.3 性能指标★★★1.3.1 速率相关性能指标1.3.2 时延相关指标 2、体系结构&参考模型★★★★★(对应王道视频7-10p 相当…

【MySQL学习】MySQL 内置函数

文章目录 一、日期函数二、字符串函数三、数学函数四、其他函数 一、日期函数 函数名称功能描述current_data()获取当前日期current_time()获取当前时间current_timestamp()获取当前时间戳date()返回datetime的日期部分date_add(date, interval d_value_type)以date为基础&…

【2023/05/07】汇编语言

Hello!大家好,我是霜淮子,2023倒计时第2天。 Share Stray birds of summer come to my window to sing and fly away. And yellow leaves of autumn,which have no songs,flutter and full there with a sigh. 译文: 夏天的鸟&…

网络学习笔记

【1】路由器与交换机的区别与联系 https://blog.csdn.net/baidu_32045201/article/details/78305586 交换机:用于局域网内网的数据转发 路由器:用于连接局域网和外网 【2】IP地址 1)IP地址是Internet中主机的标识 2)Internet中…

OpenCV学习12 用色调、饱和度和亮度表示颜色

BGR转HSV 效果&#xff1a; 代码&#xff1a; #include <iostream> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp>using namespace cv;int main() {Mat dog imread("/home/jason/work/01-img/dog.png");// -…

Codeforces Round 871 (Div. 4)——G题讲解

蒟蒻来讲题&#xff0c;还望大家喜。若哪有问题&#xff0c;大家尽可提&#xff01; Hello, 大家好哇&#xff01;本初中生蒟蒻讲解一下G. Hits Different! 上绿名喽&#xff01; G. Hits Different 题目描述 In a carnival game, there is a huge pyramid of cans with 20…

SmartSoftHelp 自定义开源C#代码生成器

​​​​​​蓦然回首终结者SmartSoftHelp开发辅助工具MiniLite2.0迷你版 V3.5 自定义生成 dbhelper Model BLL DAL sqltxt UI 方便快捷&#xff0c;支持自编码&#xff0c;自编译&#xff0c;自己修改生成代码内容和格式&#xff0c;方便快捷... 开源代码生成说明: 1.目录…

python+django汽车4S店零配件保养服务管理系统

汽车4S服务管理系统包括三种用户。管理员、普通员工、客户。 开发语言&#xff1a;Python 框架&#xff1a;django/flask Python版本&#xff1a;python3.7.7 数据库&#xff1a;mysql 数据库工具&#xff1a;Navicat 开发软件&#xff1a;PyCharm django 应用目录结构管…

vue diff算法与虚拟dom知识整理(5) 手写一个自己的h函数

本文的意义在于教会大家如何手写一个h函数 上文中 我们简单理解了一下h函数 他的作用是构建一个虚拟的dom节点 掌握这个函数还是很有必要的 首先 你想要写出来 还是得去看原版的ts代码 这边 我们没必要把太多注意力放在TS上 所以 我们这边是看ts代码 然后 仿写js代码 我们在…

Faster RCNN在pycharm中运行

文章目录 1 代码2 文件说明3 代码解析5 数据6 自制数据集6.1 创建文件夹6.2 标注图片 7 开始训练 1 代码 参考B站up主&#xff1a;霹雳吧啦Wzgit clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing 2 文件说明 首先找到faster_rcnn ├── backbone: …

PCL学习七:Features-特征

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云 1. 特征描述与提取 3D 点云特征描述与提取是点云信息处理中的最基础也是最关键的部分&#xff0c;点云识别、分割、重采样、配准和曲面重建等大部分算法&#xff0c;都十分依赖特征描述与提取的结果 从尺度上来划分&…

MYSQL01高级_Linux版安装、各级别字符集、字符集与比较规则、SQL大小写规范

文章目录 ①. MySQL - linux版安装②. 字符集的相关操作③. 各级别的字符集④. 字符集与比较规则(了解)⑤. SQL大小写规范⑥. sql_mode的合理设置 ①. MySQL - linux版安装 ①. 进入mysql官网,找到安装文件 ②. 将抽取出来的文件放在linux下的opt下 MySQL Community Serv…

本周大新闻|15000nit亮度Micro OLED面世;印度市场再推行VR盒子

本周XR大新闻&#xff0c;AR方面&#xff0c;eMagin公布1.5万nit亮度的新款dPd Micro OLED&#xff1b;脑机技术AR眼镜Cognixion ONE获FDA认证&#xff1b;歌尔发布智能交互手环参考设计Link&#xff1b;Meta引入更多AR广告。 VR方面&#xff0c;23年Quest Gaming Showcase定于…

3D旋转 相册

效果展示 代码逻辑 <!doctype html> <html lang"en"> <head><meta charset"UTF-8"><meta name"Keywords" content""><meta name"Description" content""><title>3D旋…

Vue3(Vite) 通过 prism.js 实现代码高亮并实现Mac风格

prismjs漂亮的代码语法高亮插件 极致易用&#xff1a;引用 prism.css 和 prism.js&#xff0c;使用合适的 HTML5 标签&#xff08;code.language-xxxx&#xff09;&#xff0c;搞定&#xff01;天生伶俐&#xff1a;语言的 CSS 类是可继承的&#xff0c;所以你只需定义一次就能…

自动控制原理笔记-频率响应法-控制系统的频域稳定判据

目录 一、Nyquist稳定判据 1&#xff09;开环传递函数中没有积分环节&#xff08;不含s0的极点&#xff09; 2&#xff09;开环传递函数中含有积分环节&#xff08;含s0的开环极点&#xff09; 二、Bode 稳定判据 稳定的定义&#xff1a; 任何系统在扰动的作用下都会偏离原平衡…