首页 > 编程知识 正文

python学习系列day3(大学python笔记)

时间:2023-12-24 12:05:24 阅读:320210 作者:XVRM

本文目录一览:

Python视频教程,百度云

[python视频教程] lets python视频教程免费下载

链接:

提取码:dxpn

[python视频教程] lets python 视频教程|Lets-python-017-文件和输入输出01.avi|Lets-python-016-条件和循环02-练习题和生成器.avi|Lets-python-015-条件和循环01.avi|Lets-python-014-映射和集合02.avi|Lets-python-013-映射和集合01.avi|Lets-python-012-序列04-02.

python零基础自学笔记day3(向量和矩阵的索引)

1.什么是索引?

【1】表示引用向量或者矩阵中的一个数

2.什么是向量的索引?

引用向量中具体的某几个数例如:

[1].给出a向量,a=np.arrary(0,1,2,3,4,5,6,7,8,9)

[2].引用a向量中0-8的数并打印出来:print(a[0:9])

[3].把3后面的数都打印出来:print(a[3:])

[4].把3到最后倒数第二个数都打印出来:print(a[3:-1])//注:其中-1表示的是至倒数第一 个 数,但不能用-0,这样则表示无效

[5].把3前面的数全部打印出来:print(a[:3])

2.注意事项:[1].0:9表示的是比9小的数,而不包括9

3.什么是矩阵的索引?

[1].给出矩阵b,在已经给出a向量的前提下,我们对a进行重塑:b=a.reshape(5,2)得到一个五行两列的矩阵按照0123456789的顺序排列下来

[2].如果想取矩阵中的某个元素--按照几行几列的方法例如:print(b[2,3])这里得到的就是2行3列的一个元素

[3].如果想要得到某一行的元素:print(b[3,:])表示取到第4行的元素

[4].如果想要得到某一列的元素:print(b[:,1])表示取到第2列的元素

如何学习Python

1、Python 介绍

学习一门新的语言之前,首先简单了解下这门语言的背景。Python 是一种面向对象的解释型计算机程序设计语言,由荷兰人 Guido van Rossum 于 1989 年发明,第一个公开发行版发行于 1991 年。Python 在设计上坚持了清晰划一的风格,这使得 Python 成为一门易读、易维护,并且被大量用户所欢迎的、用途广泛的语言。Python 具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。

2、Python 技术浪潮

IT 行业热门技术,更新换代非常的快,技术的浪潮一波接着一波,最初的浪潮无疑是桌面时代,使用 C# 搭建桌面应用开始崭露头角,MFC 还是计算机科学专业必学会的东西。接着就是以网站搭建为应用的背景,PHP,Ruby 等语言为主的。再到近几年非常火热的以移动开发为应用背景,Java(Android 开发)或者 OC(iOS 开发)语言为主。很明显如今的浪潮就是以大数据和机器学习为应用背景,Python 语言为主。站在风尖浪口,猪都可以飞的起来。抓住这波技术浪潮,对于从事 IT 行业的人员来说有莫大的帮助。

3、Python 学习

学习一项新的技术,起步时最重要的是什么?就是快速入门。学习任何一个学科的知识时,都有一个非常重要的概念:最少必要知识。当需要获得某项技能的时候,一定要想办法在最短的时间里弄清楚都有哪些最少必要知识,然后迅速掌握它们。

对于快速入门 python 来说最少必要知识,有以下几点。

(1) Python 基础语法

找一本浅显易懂,例子比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。推荐去看《简明python教程》,非常好的一本 Python 入门书籍。

(2)Python 实际项目

等你对 Python 的语法有了初步的认识,就可以去找些 Python 实际项目来练习。对于任何计算机编程语言来说,以实际项目为出发点,来学习新的技术,是非常高效的学习方式。在练习的过程中你会遇到各种各样的问题:基础的语法问题(关键字不懂的拼写),代码毫无逻辑,自己的思路无法用代码表达出来等等。这时候针对出现的问题,找到对应解决办法,比如,你可以重新查看书本上的知识(关于基础语法问题),可以通过谷歌搜索碰到的编译错误(编辑器提示的错误),学习模仿别人已有的代码(写不出代码)等等。已实际项目来驱动学习,会让你成长非常的快。Python 实际项目网上非常的多,大家可以自己去搜索下。合理利用网络资源,不要意味的只做伸手党。

(3) Python 的学习规划

当你把上面两点做好以后,你就已经入门了 Python,接下来就是规划好自己的以后的学习规划。能找到一个已经会 Python 的人。问他一点学习规划的建议,然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问,没人会愿意回答显而易见的问题。当然如果你身边没有人会 Python,也可以在网上搜索相应的资料。

Python 可以做的事非常的多,比如:Python 可以做日常任务,比如自动备份你的MP3;可以做网站,很多著名的网站像知乎、YouTube 就是 Python 写的;可以做网络游戏的后台,很多在线游戏的后台都是 Python 开发的。每个人都有自己感兴趣的方向,有的对网站开发比较感兴趣,有的对数据处理感兴趣,有的对后台感兴趣。所以你们可以根据自己感兴趣的方向,网上搜索相关资料,加以深入的学习,规划好自己未来的方向。只要坚持,你就能精通 Python,成为未来抢手的人才。

请问怎么学习Python?

这里整理了一份Python开发的学习路线,可按照这份大纲来安排学习计划~

第一阶段:专业核心基础

阶段目标:

1. 熟练掌握Python的开发环境与编程核心知识

2. 熟练运用Python面向对象知识进行程序开发

3. 对Python的核心库和组件有深入理解

4. 熟练应用SQL语句进行数据库常用操作

5. 熟练运用Linux操作系统命令及环境配置

6. 熟练使用MySQL,掌握数据库高级操作

7. 能综合运用所学知识完成项目

知识点:

Python编程基础、Python面向对象、Python高级进阶、MySQL数据库、Linux操作系统。

1、Python编程基础,语法规则,函数与参数,数据类型,模块与包,文件IO,培养扎实的Python编程基本功,同时对Python核心对象和库的编程有熟练的运用。

2、Python面向对象,核心对象,异常处理,多线程,网络编程,深入理解面向对象编程,异常处理机制,多线程原理,网络协议知识,并熟练运用于项目中。

3、类的原理,MetaClass,下划线的特殊方法,递归,魔术方法,反射,迭代器,装饰器,UnitTest,Mock。深入理解面向对象底层原理,掌握Python开发高级进阶技术,理解单元测试技术。

4、数据库知识,范式,MySQL配置,命令,建库建表,数据的增删改查,约束,视图,存储过程,函数,触发器,事务,游标,PDBC,深入理解数据库管理系统通用知识及MySQL数据库的使用与管理。为Python后台开发打下坚实基础。

5、Linux安装配置,文件目录操作,VI命令,管理,用户与权限,环境配置,Docker,Shell编程Linux作为一个主流的服务器操作系统,是每一个开发工程师必须掌握的重点技术,并且能够熟练运用。

第二阶段:PythonWEB开发

阶段目标:

1. 熟练掌握Web前端开发技术,HTML,CSS,JavaScript及前端框架

2. 深入理解Web系统中的前后端交互过程与通信协议

3. 熟练运用Web前端和Django和Flask等主流框架完成Web系统开发

4. 深入理解网络协议,分布式,PDBC,AJAX,JSON等知识

5. 能够运用所学知识开发一个MiniWeb框架,掌握框架实现原理

6. 使用Web开发框架实现贯穿项目

知识点:

Web前端编程、Web前端高级、Django开发框架、Flask开发框架、Web开发项目实战。

1、Web页面元素,布局,CSS样式,盒模型,JavaScript,JQuery与Bootstrap掌握前端开发技术,掌握JQuery与BootStrap前端开发框架,完成页面布局与美化。

2、前端开发框架Vue,JSON数据,网络通信协议,Web服务器与前端交互熟练使用Vue框架,深入理解HTTP网络协议,熟练使用Swagger,AJAX技术实现前后端交互。

3、自定义Web开发框架,Django框架的基本使用,Model属性及后端配置,Cookie与Session,模板Templates,ORM数据模型,Redis二级缓存,RESTful,MVC模型掌握Django框架常用API,整合前端技术,开发完整的WEB系统和框架。

4、Flask安装配置,App对象的初始化和配置,视图函数的路由,Request对象,Abort函数,自定义错误,视图函数的返回值,Flask上下文和请求钩子,模板,数据库扩展包Flask-Sqlalchemy,数据库迁移扩展包Flask-Migrate,邮件扩展包Flask-Mail。掌握Flask框架的常用API,与Django框架的异同,并能独立开发完整的WEB系统开发。

第三阶段:爬虫与数据分析

阶段目标:

1. 熟练掌握爬虫运行原理及常见网络抓包工具使用,能够对HTTP及HTTPS协议进行抓包分析

2. 熟练掌握各种常见的网页结构解析库对抓取结果进行解析和提取

3. 熟练掌握各种常见反爬机制及应对策略,能够针对常见的反爬措施进行处理

4. 熟练使用商业爬虫框架Scrapy编写大型网络爬虫进行分布式内容爬取

5. 熟练掌握数据分析相关概念及工作流程

6. 熟练掌握主流数据分析工具Numpy、Pandas和Matplotlib的使用

7. 熟练掌握数据清洗、整理、格式转换、数据分析报告编写

8. 能够综合利用爬虫爬取豆瓣网电影评论数据并完成数据分析全流程项目实战

知识点:

网络爬虫开发、数据分析之Numpy、数据分析之Pandas。

1、爬虫页面爬取原理、爬取流程、页面解析工具LXML,Beautifulfoup,正则表达式,代理池编写和架构、常见反爬措施及解决方案、爬虫框架结构、商业爬虫框架Scrapy,基于对爬虫爬取原理、网站数据爬取流程及网络协议的分析和了解,掌握网页解析工具的使用,能够灵活应对大部分网站的反爬策略,具备独立完成爬虫框架的编写能力和熟练应用大型商业爬虫框架编写分布式爬虫的能力。

2、Numpy中的ndarray数据结构特点、numpy所支持的数据类型、自带的数组创建方法、算术运算符、矩阵积、自增和自减、通用函数和聚合函数、切片索引、ndarray的向量化和广播机制,熟悉数据分析三大利器之一Numpy的常见使用,熟悉ndarray数据结构的特点和常见操作,掌握针对不同维度的ndarray数组的分片、索引、矩阵运算等操作。

3、Pandas里面的三大数据结构,包括Dataframe、Series和Index对象的基本概念和使用,索引对象的更换及删除索引、算术和数据对齐方法,数据清洗和数据规整、结构转换,熟悉数据分析三大利器之一Pandas的常见使用,熟悉Pandas中三大数据对象的使用方法,能够使用Pandas完成数据分析中最重要的数据清洗、格式转换和数据规整工作、Pandas对文件的读取和操作方法。

4、matplotlib三层结构体系、各种常见图表类型折线图、柱状图、堆积柱状图、饼图的绘制、图例、文本、标线的添加、可视化文件的保存,熟悉数据分析三大利器之一Matplotlib的常见使用,熟悉Matplotlib的三层结构,能够熟练使用Matplotlib绘制各种常见的数据分析图表。能够综合利用课程中所讲的各种数据分析和可视化工具完成股票市场数据分析和预测、共享单车用户群里数据分析、全球幸福指数数据分析等项目的全程实战。

第四阶段:机器学习与人工智能

阶段目标:

1. 理解机器学习相关的基本概念及系统处理流程

2. 能够熟练应用各种常见的机器学习模型解决监督学习和非监督学习训练和测试问题,解决回归、分类问题

3. 熟练掌握常见的分类算法和回归算法模型,如KNN、决策树、随机森林、K-Means等

4. 掌握卷积神经网络对图像识别、自然语言识别问题的处理方式,熟悉深度学习框架TF里面的张量、会话、梯度优化模型等

5. 掌握深度学习卷积神经网络运行机制,能够自定义卷积层、池化层、FC层完成图像识别、手写字体识别、验证码识别等常规深度学习实战项目

知识点:

1、机器学习常见算法、sklearn数据集的使用、字典特征抽取、文本特征抽取、归一化、标准化、数据主成分分析PCA、KNN算法、决策树模型、随机森林、线性回归及逻辑回归模型和算法。熟悉机器学习相关基础概念,熟练掌握机器学习基本工作流程,熟悉特征工程、能够使用各种常见机器学习算法模型解决分类、回归、聚类等问题。

2、Tensorflow相关的基本概念,TF数据流图、会话、张量、tensorboard可视化、张量修改、TF文件读取、tensorflow playround使用、神经网络结构、卷积计算、激活函数计算、池化层设计,掌握机器学习和深度学习之前的区别和练习,熟练掌握深度学习基本工作流程,熟练掌握神经网络的结构层次及特点,掌握张量、图结构、OP对象等的使用,熟悉输入层、卷积层、池化层和全连接层的设计,完成验证码识别、图像识别、手写输入识别等常见深度学习项目全程实战。

Day3_进制字符串位运算

计算机在存储数据时候都是以二进制的形式去存的

十进制、十六进制、八进制、二进制

基数:0,1,2,3,4,5,6,7,8,9

进位;锋十进一

每一位的值:123 = 1 100 + 2 10 + 3*1

基数:0,1

所有的二进制数都是由0和1组成

进位:逢二进一

每一位的值:11011 = 1 2^0+1 2 1+0*2 2+1 2^3+1 2^4 = 27

基数:0,1,2,3,4,5,6,7

进位:逢8进1

每一位的值:111 = 1 8^0+1 8 1+1*8 2 = 73

基数:0-9,a-f(A-F) a,b,c,d,e,f

进位:逢16进1

每一位的数:111 = 1 16^0+1 16 1+1*16 2 =273

5.进制之间的转换

python支持通过二进制、八进制、十进制和十六进制的形式来直接表示整数

oct(整数)-- 将括号中的整数,转换成八进制形式

hex(整数)-- 将括号中的整数,转换成十六进制形式

计算机在存数字的时候,存的是数字的二进制的补码

计算机内存的最小单位是位,1位只是存储两个状态

8位 = 1字节

十进制的10的原码就是:1010

最高位是符号位,如果正数符号位为0,负数符号位为1

10的原码 00000000 00001010

-10的原码 10000000 00001010

正数的反码是它的原码

负数的反码就是这个数的原码符号位不变的,然后其他位置上的数字取反

10 - (原码)10000000 00001010 ——(反码)11111111 11110101

正数的补码就是它的原码

负数的补码是它的反码加1

-10 - (反码)11111111 11110101 - (补码)11111111 11110110

总结:正的反码和补码都是原码;负数的补码是反码加1,反码就是原码符号位不变,其他位取反

为什么计算机存储数据的时候存补码?:因为计算机中只有加法器,只能进行加操作

存原码对负数进行加操作的时候有问题

计算机存数字存补码,计算的时候也是补码,最后结果看的时候看原码

位运算符:(按位与),|(按位或), ^(异或), ~(取反),(右移), (左移)

数字1 数字2 :二进制的每一位,两个都为1结果才是1,否则为0

作用:让指定位上数置零,或者保留梦一位上的值

数字1 | 数字2:只要有一个为1,结果就是1;两个都为0,结果才是0

-3 | 2-- 11111101 | 00000010 == 11111111(补码) == 100000001(原码)

数字1 ^ 数字2:不同为1,相同为0

-3 ^ 2-- 11111101 ^ 00000010 == 11111111(补码) == 100000001(原码)

~数字: 将每一位取反

数字 位数 :将补码移动指定位数,后面用零补齐

左移特点 : 结果 == 数字 2^位数 m n == m (2^n)

num * 2 == num 1 num * 4 == num 2

数字 位数:将补码向右移动指定的位数,符号位不变,在符号位的后面补指定个数的0(正)或者1(负)

规律(只适用于正数): m n == m // (2^n)

python中通过单引号或者双引号引起来的字符集就是字符串

字符串中引号中的字符集,就是由各种不同的字符来组成

python中字符串中字符采用的是Unicode编码

Unicode编码,是通过两个字节来对一个字符进行编码。0 ~ 2^16-1

几乎包含了世界上所有字符

ASSCII编码:是通过一个字节对一个字符编码

Unicode编码包含ASSCII编码表

chr(数字):获取数字在Unicode编码表中对应的字符,返回的是只有一个字符的字符串

可以直接在字符串中写字符对应的编码值,格式:u十六进制编码

一些特殊功能或者具有特殊意义的字符,直接放在字符串的引号中无效,需要通过来转移

n --- 换行

'---'

t --- 制表符(四个空格)

---

"---"

求python入门视频教程,云盘分享谢谢

《视频-python从0开始学编程》百度网盘资源免费下载

链接:

提取码:bwqf

视频-python从0开始学编程|day9视频.rar|day8视频.rar|day7视频.rar|day6视频.rar|day5视频.rar|day4视频.rar|day3视频.rar|day2视频.rar|day1视频.rar|day19视频.rar|day18视频.rar|day17视频.rar|day16视频.rar|day15视频.rar  

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。