Python进阶者
以知识梳理为主,辅以各种代码练习和运行结果截图,详细分析Python的进阶的内容,包括网络编程、后台管理、进程、线程等多项后端技术与Python结合的方面。这些内容是Python进阶者的必经之路,对提高编程能力、后端技术都有很好的帮助。
鸿蒙Next
执行是检验程序的唯一标准,代码还得自己敲才能深刻。HarmonyOS NEXT,万物皆组件,未来很无限。
展开
-
Python之数据分析(numpy线性模型、线性预测、线性拟合)
文章目录一、线性预测二、线性拟合线性模型分为两种:线性预测和线性拟合,这两种都可以起到预测走势和数据点的作用,当然,预测是存在一定误差的,因此这种预测图像仅供参考。一、线性预测1、基本概念线性预测(a*x=b)/a b c\ /A\ / d \|b c d| X | B | = | e |\c d e/ \C/ \ f /2、numpy进行预测的函数numpy.linalg.lstsq(a, b)需要预测的就是x3、价格原创 2020-07-28 22:32:48 · 2876 阅读 · 0 评论 -
Python之数据分析(卷积运算、移动均线、布林带)
文章目录一、卷积运算二、移动均线的绘制三、布林带绘制本篇依然是数据分析里数据可视化方面的内容,主要内容有一维卷积、完全卷积、有效卷积、移动均线的绘制、布林带的绘制。一、卷积运算1、关于卷积这里说到的卷积计算,是指我们对图像进行某种滤波处理或者是边缘检测、锐化等应用要用到的运算。通常,要进行卷积的话就必须要有一个模板(掩模),这些模板的实际就是在卷积计算是所用到的点乘系数。2、卷积的运算a = [1 2 3 4 5] # 被卷积数组b = [6 7 8] # 卷积核数组卷积运算:c =原创 2020-07-27 22:42:34 · 1315 阅读 · 0 评论 -
Python之数据分析(三维立体图像、极坐标系、半对数坐标)
文章目录写在前面:一、三维立体图像1、三维线框2、三维曲面3、三维散点二、极坐标系三、半对数坐标写在前面:import numpy as npimport matplotlib.pylab as mp因此文章中的np就代表numpy库,mp就代表pylab绘图库一、三维立体图像导入类:from mpl_toolkits.mplot3d import axes3d获得三维坐标轴:ax = mp.gca(projection=‘3d’)1、三维线框格式:ax.plot_wireframe原创 2020-07-11 14:45:32 · 5569 阅读 · 2 评论 -
Python之进程+线程+协程(异步、selectors模块、阻塞、非阻塞IO)
文章目录一、IO多路复用二、selectors模块本篇文字是关于IO多路复用的更深入一步的总结,上一篇Python之进程+线程+协程(事件驱动模型、IO多路复用、select与epoll)对IO多路复用进行了概念性的分析,本篇则是对阻塞IO、非阻塞IO、与异步进行通俗性的比较和归纳。还有另外一种无阻塞IO,即为异步IO,用selectors模块来实现一、IO多路复用1、阻塞IO: 不停监听,...原创 2020-04-20 19:48:43 · 395 阅读 · 0 评论 -
Python之网络编程(socketserver模块详解、链接认证)
文章目录多线程对多客户端socketserver分类(2种)12个类的继承关系(原理)socketserver的实现效果认证链接的合法性加盐(hmac)对暗号socketserver本质是基于socket进行的一个封装,将多线程并发功能集成到一个新的模块里,就叫socketserver;它用来解决TCP套接字无法并发的问题,也就是无法一个服务端不能同时服务多个客户端的问题(UDP没有此问题,因...原创 2020-03-24 19:21:19 · 3026 阅读 · 2 评论 -
十大经典排序算法6(Python版本)
文章目录九、桶排序十、基数排序九、桶排序1、桶排序介绍桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点:在额外空间充足的情况下,尽量增大桶的数量使用的映射函数能够将输入的 N 个数据均匀的分配到 K 个桶中同时,对于桶中元素的排序,选择何种比较排序算法对于性能的影响至关重要。2、桶排序最快与最慢最快的时候:当输入的数据可以均匀的分配到每一个桶中。最慢的时候:当输入的数据被分配到了同一个桶中。3、Pyth转载 2020-10-15 23:10:12 · 134 阅读 · 0 评论 -
十大经典排序算法5(Python版本)
排序算法是《数据结构与算法》中最基本的算法之一,掌握这些基本算法是提高编程能力的有效方法,也是深入编程的基础。转载 2020-10-13 21:05:39 · 124 阅读 · 0 评论 -
十大经典排序算法4(Python版本)
文章目录六、快速排序六、快速排序1、快速介绍快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要 Ο(nlogn) 次比较。在最坏状况下则需要 Ο(n2) 次比较,但这种状况并不常见。事实上,快速排序通常明显比其他 Ο(nlogn) 算法更快,因为它的内部循环(inner loop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divide and conquer)策略来把一个串行(list)分为两个子串行(sub-lists)。快速排序又是一种分而治之思想转载 2020-10-11 08:45:48 · 139 阅读 · 0 评论 -
十大经典排序算法3(Python版本)
排序算法是《数据结构与算法》中最基本的算法之一,掌握这些基本算法是提高编程能力的有效方法,也是深入编程的基础。转载 2020-10-11 08:30:40 · 160 阅读 · 0 评论 -
十大经典排序算法2(Python版本)
排序算法是《数据结构与算法》中最基本的算法之一,掌握这些基本算法是提高编程能力的有效方法,也是深入编程的基础。转载 2020-09-30 20:05:45 · 160 阅读 · 0 评论 -
十大经典排序算法1(Python版本)
排序算法是《数据结构与算法》中最基本的算法之一,掌握这些基本算法是提高编程能力的有效方法,也是深入编程的基础。转载 2020-09-29 20:43:49 · 156 阅读 · 0 评论 -
Python之数据分析(finance金融计算模块)
文章目录一、绘制K线图二、金融计算器之终值、现值、净现值三、金融计算器之内部收益率、每期支付、要还的期数、年利率四、金融计算器练习代码一、绘制K线图1、导入库:import mpl_finance as mf2、调用mf.candlestick_ohlc(坐标图对象, 开盘价最高价最低价收盘价, K线实体部分宽度(0-1), 阳线颜色, 阴线颜色)3、测试代码import numpy as npimport matplotlib.pylab as mpimport matplotlib.原创 2020-08-12 21:35:51 · 3781 阅读 · 0 评论 -
Python之数据分析(间接联合排序、所有最值相关函数、有序插入、定积分、插值器对象)
本篇文章都是数据分析中比较基础的知识,但它们其实很重要,这些基础没有掌握,以后做难一点的数据分析时就很容易陷入困难迟迟无法解决。原创 2020-08-11 22:41:00 · 532 阅读 · 0 评论 -
Python之数据分析(random模块的正确用法)
在数据分析中,随机数random模块经常使用到的就是二项分布、超几何分布与正态分布。原创 2020-08-11 22:22:42 · 466 阅读 · 0 评论 -
Python之数据分析(Numpy的矩阵相关操作、ufunc泛化函数对象)
文章目录一、矩阵相关操作二、ufunc统一泛化函数一、矩阵相关操作1、三种构造矩阵的方法np.matrix(二维容器, copy=True)一参为可被解释为矩阵的二维容器,比如二维数组、二维列表;二参为copy,表示是否将原容器的数据复制一份,若为True则不会影响原容器,若为false则会影响原容器数据numpy.mat(可被解释的二维容器)——>这种方法则一定是将数据与元容器共享numpy.bmat(‘A B; C D’) ——>块级拼接,这种方法是将多个小的矩阵合成一个大的原创 2020-08-10 22:50:19 · 444 阅读 · 0 评论 -
Python之数据分析(Numpy的子模块:线性代数模块linalg、傅里叶变换模块fft)
文章目录一、线性代数模块(linalg)1、矩阵的逆2、矩阵的线性解3、特征值与特征向量4、奇异值分解与广义逆矩阵二、傅里叶变换模块(fft)一、线性代数模块(linalg)1、矩阵的逆矩阵的逆:inv()该逆矩阵的前提必须是方阵numpy.linalg.inv(A)import numpy as np# 创建一个矩阵A = np.mat('1 2 3; 5 6 7; 9 8 5')print(A)# 用linalg下的inv求A的逆矩阵B = np.linalg.inv(A)pr原创 2020-08-10 22:47:15 · 874 阅读 · 0 评论 -
Python之数据分析(Numpy中的除法和取余、三角函数、ufunc对象的位运算)
文章目录一、四种除法二、取余运算三、斐波那契数的四种求法四、坐标变化的三角函数五、ufunc对象位运算一、四种除法1、真除: 结果完全保留,小数部分也保留1)numpy.true_divide()2)numpy.divide()3)也可以直接用‘/’除法运算符,结果也是真除结果2、地板除: 将除法结果向下取整,往小的取整1)numpy.floor_divide()2)运算符号‘//’3、天花板除: 将除法结果向上取整,往大的取整没有具体函数,可以先做真除,再天花板取整(ceil),再取i原创 2020-08-09 22:21:38 · 7825 阅读 · 0 评论 -
Python之数据分析(案例:净额成交量、矢量化、数据曲线平滑)
文章目录一、净额成交量二、标量函数矢量化三、数据曲线平滑一、净额成交量1、案例分析符号数组a: [10 -20 30 40 -50]用法:numpy.sign(a)结果是[1 -1 1 1 -1]净额成交量:简称OBV,赚了是正,赔了是负利用条件筛选来得到盈亏指标:一参是差分数组,二参是条件数组,三参是各个条件对应的值数组2、第二种筛选方法sign_closing_price = np.piecewise(diff_closing_price,[diff_closing_price原创 2020-08-06 21:41:10 · 890 阅读 · 0 评论 -
Python之数据分析(numpy中的多项式拟合)
本篇文章是专门独立出来分析的一种数据可视化处理方法,主要是polyfit拟合、polyval取值、polyder微分,后文包含了一个多项式拟合案例,这是数据分析应该掌握的一项可视化处理方法。原创 2020-08-03 18:19:50 · 3271 阅读 · 1 评论 -
Python之数据分析(numpy裁剪、压缩、累乘,样本相关性曲线的绘制)
文章目录一、裁剪、压缩、累乘二、样本相关性曲线一、裁剪、压缩、累乘1、裁剪概念:指的是削掉波峰或波谷这类型的,将调用数组中小于min的元素设置为min,大于max的元素设置为max用法:ndarray.clip(min=最小值, max=最大值)2、压缩概念:返回调用数组中满足给定条件的元素用法:ndarray.compress(条件)3、累乘结果累乘:返回调用数组中各元素的乘积,是累乘结果ndarray.prod()过程累乘:返回调用数组中个元素计算累乘的过程数组,是累乘过原创 2020-08-03 18:02:43 · 1764 阅读 · 0 评论 -
Python之数据分析(星期均值、星期汇总、Numpy的take与where方法、apply_along_axis函数)
文章目录一、处理星期数据二、apply_along_axis函数的用法三、星期汇总案例一、处理星期数据1、datetime对象的weekday()方法该方法将会用0到6这七个数字表示周一到周日2、计算周一到周五数据平均值的三种方法数组[关系表达式]:关系表达式的值是一个布尔型数组,其中为True的元素是数组中满足关系表达式的元素。以上下标运算的值就是从数组拣选与布尔数组中为True的元素相对于的元素。np.where(关系表达式):数组中满足关系表达式的元素的下标数组np.take(数组,原创 2020-07-18 22:13:19 · 2102 阅读 · 0 评论 -
Python之数据分析(规范数据生成器Faker,学习、数据分析、开发测试专用)
文章目录写在前面一、生成数据写入csv文件中二、基础信息三、邮箱信息四、地理信息五、数字信息六、时间信息七、网络基础信息八、浏览器信息九、文本与文本加密信息写在前面无论是在我们学习数据分析之际,还是在实际的开发、测试过程中,我们常常需要构造数据进行功能验证,但手动创建数据简直太费时费力了,并且数据不够规范。针对这个问题,现在Python提供了一个超级好用的伪造数据的开源库,它可以根据我们的需求伪造各种符合规范格式的数据,供我们学习和开发测试使用。Faker是一个Python的第三方开源项原创 2020-07-17 22:52:42 · 526 阅读 · 0 评论 -
Python之数据分析(中位数、波动范围、极差、离差、方差、标准差)
文章目录一、中位数二、波动范围与极差三、离差、方差与标准差一、中位数1、中位数将多个样本按照大小顺序排列,居于中间位置的元素为中位数2、经典求法1)A:样本集2)L:样本数3)M = (A[(L-1)/2] + A[L/2]) / 24、Numpy求法1)对数组进行排序:np.msort(数组)2)求中位数:M = numpy.median(数组)5、练习import numpy as np# 导入数据highest_prices, lowest_prices, closing原创 2020-07-16 22:49:52 · 14360 阅读 · 0 评论 -
Python之数据分析(算数平均值、加权平均值、最大值与最小值)
文章目录一、算数平均值二、加权平均值三、最大值与最小值一、算数平均值1、平均值的作用平均数是表示一组数据集中趋势的量数,它是反映数据集中趋势的一项指标。一组数据少则几十,多则上千,甚至于过百万,“由于我们的思维不能思考所有的数据”,需要选取一个合适的代表值表达一组数据的特征。平均数便是小学阶段学习的一个重要的统计量。2、算数平均值求法样本:S = [s1, s2, s3, …, sn]算术平均值:m = (s1 + s2 + s3 + … + sn)/n3、Numpy中的格式m = nu原创 2020-07-15 22:06:34 · 11340 阅读 · 0 评论 -
Python之数据分析(Numpy中读取与保存数据文件、将数据文件制成K线图)
文章目录一、读取与保存文件二、将数据文件制成K线图一、读取与保存文件1、读取文件格式numpy.loadtxt( 文件名, delimiter = 分割符, usecols = 选择列, unpack = 是否解包(True/False), dtype = 目标类型, converters = 转换器)unpack = False:最终会输出一个二维数组unpack = True:一列一维数组的集合2、保存文件格式numpy.savetx原创 2020-07-14 19:37:28 · 711 阅读 · 0 评论 -
Python之数据分析(生成动态图像、示波器效果)
文章目录1、效果展示2、动画分析3、案例源码1、效果展示动态更新波形图:静态图:2、动画分析这是一个使用了生成器的动画效果,生成器里面会不断生成新的值,然后放到更新函数里面在指定的interval间隔时间里执行,将其渲染出图像def 更新函数(生成值): 更新画面帧来渲染def 生成器(): for...: 产生新的数据 yield 生成值创建动画:ma.FuncAnimation(图形对象, 更新函数, 生成器, interv原创 2020-07-13 22:39:12 · 4081 阅读 · 1 评论 -
Python之数据分析(动画效果、animation模块、气泡动画)
文章目录1、动画效果2、原理分析3、动画源码本篇文章其实与数据分析没有太大关系,因为是涉及到数据分析的数据可视化方面的内容,因此也必须要学习。主要内容是如何制作一个气泡动画效果,当然也是使用matplotlib模块下的animation模块。1、动画效果动态图片是限制了大小的,所以可能清晰度不是很好,这里再来一张静态图片吧:就这些泡泡会一个一个膨胀,最好爆炸,然后再随机位置重生,再继续膨胀,不断产生新的泡泡。2、原理分析1)导入库:import matplotlib.animation a原创 2020-07-12 20:17:44 · 1037 阅读 · 0 评论 -
Python之数据分析(Numpy数据可视化:等高线图、热力图、饼图)
文章目录写在前面:一、等高线图二、热力图三、饼图写在前面:import numpy as npimport matplotlib.pylab as mp因此文章中的np就代表numpy库,mp就代表pylab绘图库一、等高线图1、两类等高线图线型:mp.coutour(x, y, z, 线的数量, colors=颜色, linewidths=线宽)色带型:mp.coutourf(x, y, z, 线的数量, cmap=颜色映射)2、添加标签mp.clabel(cntr, inli原创 2020-07-10 14:30:24 · 4909 阅读 · 0 评论 -
Python之数据分析(坐标刻度定位器、散点图、柱状图、颜色区域填充)
文章目录一、坐标刻度定位器二、散点图三、柱状图四、颜色填充一、坐标刻度定位器1、步骤1)创建:定位器对象 = mp.XXXLocator(…)2)获得坐标轴:ax = mp.gca()3)主刻度:ax.xaxis.set_major_locator(定位器对象) # 例如厘米4)次刻度:ax.xaxis.set_minor_locator(定位器对象) # 例如毫米2、各种定位器mp.NullLocator():无刻度mp.MaxNLocator(nbins=5, steps=[1,原创 2020-07-09 23:43:32 · 1999 阅读 · 0 评论 -
Python之数据分析(figure图形对象、Numpy连线特殊点、图像多元布局)
文章目录一、点的绘制二、figure图形对象三、多元布局一、点的绘制1、绘制点需要提前设置点# 设置点,在plot后面绘制点xo = np.pi * 3/4 # 设置点横坐标位置为为3π/4yo_cos = np.cos(xo)/2 # 两个纵坐标位置yo_sin = np.sin(xo)2、连点成线绘制:mp.scatter(水平坐标数组, 垂直坐标数组, marker=点的形状, s=点的大小, edgecolor=勾边色, facecolor=填充色, zorder=Z序)原创 2020-07-08 23:57:27 · 1147 阅读 · 0 评论 -
Python之数据分析(Numpy通用属性、数据可视化与matplotlib库通用函数)
文章目录一、ndarray属性二、数据可视化一、ndarray属性1、常用属性dtype:数组类型shape:数组维度T:转置视图ndim:维数(一维是1,二维是2,三维是3……)size:元素数itemsize:每个元素的字节数nbytes:数组总字节数(size * itemsieze)flat:扁平迭代器(若不想每行每列访问元素,可以扁平化成1行来访问),扁平化之后可以用下标来取值,用于批量修改值real:复数的实部数组imag:复数的虚部数组数组.tolist():将数组原创 2020-07-07 23:04:34 · 558 阅读 · 0 评论 -
Python之数据分析(Numpy的数组切片、数组变维、组合与拆分)
文章目录一、Numpy的切片二、数组变维三、组合与拆分一、Numpy的切片1、格式数组[起始:终止:步长]2、缺省值缺省起始:步长为正,首;步长为负,尾缺省终止:步长为正,尾后;步长为负,首前缺省步长:13、端部切片靠近端部的一个或几个连续的维度使用缺省切片,可以用“…”表示print(a[3:6]): 起始包括终止不包括:有指定起始值,则不包括起始值,即4到6包括6print(a[-4:-7:-1]) :步长为-1,起始是倒数第3个即7(不包括),终止是倒数第6个即4(包括)4原创 2020-07-06 22:13:02 · 1686 阅读 · 0 评论 -
Python之数据分析(Numpy的使用、多维数组、数据类型)
文章目录写在前面一、数据分析与Numpy二、多维数组三、Numpy的数据类型写在前面代码中的np表示的是numpy,因为导入的时候是:import numpy as np一、数据分析与Numpy1、数据分析MATLAB:专业化数据分析工具Numpy:更简单上手,且结合了MATLAB大部分功能2、Numpy介绍应用于数值分析领域的Python语言工具是一个开源的科学计算库弥补了作为通用编程语言的Python在数值计算方面能力弱、速度慢的不足拥有丰富的数学函数、强大的多位数组和优异的运算原创 2020-07-06 12:01:44 · 1131 阅读 · 0 评论 -
Python之网络爬虫(Xpath语法、Scrapy框架的认识)
文章目录一、Xpath语法二、Scrapy框架的认识一、Xpath语法xpath是一门在XML文档中查找信息的语言1、 节点(Node) 元素、属性、文本、命名空间、文档(根)节点2、 节点关系 父(parent) 子 (Children) 同胞 (Sibling) 先辈 (Ancestor) 后代 (Descendant)3、 xpath语法表达式描述nodename选取此节点的所有子节点//从任意子节点中选取(第一级)/从根节原创 2020-07-05 22:24:38 · 472 阅读 · 0 评论 -
Python之网络爬虫(验证码、代理IP、防反爬策略、封装一个抓取页面的函数)
文章目录一、使用tesseract做OCR验证码识别二、代理服务器设置三、反爬与防反爬四、封装一个抓取页面的函数一、使用tesseract做OCR验证码识别1、cookie, session的作用用户曾经访问过个这个网站,我们需要在HTTP协议之外用一些额外的信息和技术来标识这个用户曾经来过为了让用户体验更好;所以我们的爬虫程序可以巧妙的利用这个漏洞来达到登录获取信息的效果。2、安装tesseractpip install pytesseract3、测试tesseract1)from pyte原创 2020-07-04 15:49:48 · 510 阅读 · 0 评论 -
Python之网络爬虫(selenium爬取动态网页、爬虫案例分析、哈希算法与RSA加密)
文章目录一、selenium爬取动态网页二、爬虫案例分析三、哈希hash算法与RSA加密一、selenium爬取动态网页1、动态网页认知爬虫其实就是在模仿浏览器的行为应对要多次数据的交互模拟的网站,我们有时会遇到像淘宝这样的大型网站,对数据版权看得特别重的,它们的网站有大量的工程师和技术人员去维护,它们也可能在技术手段上采用多次交互数据包的方式来完成网站服务器与用户浏览器之间的交互。如果此时还采用传统的分析数据包的方式会比较的复杂,难度较高。对于这类网页的爬取,我们的解决方案是: Seleniu原创 2020-07-03 16:12:52 · 983 阅读 · 0 评论 -
Python之网络爬虫(XML与HTML与JSON文件、urllib与request的用法)
文章目录一、数据的类型二、HTML与XML的区别三、json文件四、提取网页中的信息五、爬虫的实现一、数据的类型1、结构化数据可以用统一的结构加以表示的数据。可以使用关系型数据库表示和存储,表现为二维形式的数据。特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。比如MySQL数据表中是数据。2、半结构化数据是结构化数据的一种形式,并不符合关系型数据库或其他数据表的形式关联起来的数据模型结构,但包含相关标记,用来分隔语义元素以及对记录和字段进行分层。因此,它也被称为自描述原创 2020-07-02 15:20:17 · 1381 阅读 · 0 评论 -
Python之网络爬虫(爬虫基本认知、网络爬虫之路)
文章目录一、爬虫基本认知二、爬虫之路初级爬虫工程师中级爬虫工程师高级爬虫工程师一、爬虫基本认知1、爬虫的简单定义网络爬虫,又称为网页蜘蛛、蚂蚁、蠕虫、模拟程序,在FOAF社区中,被称为二王爷追逐者。是一种按照一定的规则,自动抓取万维网信息的程序或者脚本。简单来说,网络爬虫就是使用事先写好的程序去抓取网络上所需要的数据。2、通用网络爬虫搜索引擎的第一步就是爬虫,但是搜索引擎中的爬虫是一种广泛获取各种网页信息的程序,除了HTML文件外,搜索引擎通常还会抓取和索引文字为基础的多种文件类型,如TXT,WO原创 2020-07-01 17:58:58 · 744 阅读 · 0 评论 -
turtle模块还能这样玩?(一条条金龙鱼、雨景)
文章目录一条条金龙鱼Python的turtle模块不仅可以用来绘制一些基本的图形,还有与图片结合,做出一些特殊的效果,还可以用来做二维小游戏。本篇是介绍用turtle模块做出的一幅动态的鱼儿游过的画面和动态的雨景图一条条金龙鱼1、先看一下效果图首先是导入实例化一个turtle屏幕对象,用setup()建立屏幕,并设置好屏幕的宽、高;然后注册我们需要用到的3张图片2、创建屏幕对象#设置...原创 2020-03-26 18:57:36 · 1643 阅读 · 0 评论 -
Python之网络编程(实现一个多用户同时在线的FTP用户管理程序)
最近虽然一直在复习C语言,但是Python的学习是没有停下的。这几天的成果就是这个实现多用户同时在线的FTP用户管理程序。这个程序其实是比较难的,需要一个完整的框架,创建各种需要的模块和各种函数才能实现,总而言之,它是一个完整的程序,而且可以实现不断得添加功能进去,只要在某个【登陆验证】成功之后就可以添加各种需要的功能。一、功能目前所具有的功能有:1.用户加密认证2.允许同时多用户登录...原创 2020-04-03 19:52:49 · 697 阅读 · 2 评论