
Python
文章平均质量分 50
grey_csdn
这个作者很懒,什么都没留下…
展开
-
1726_使用Python从dbc文件中提取simulink建模数据定义
使用dbc文件建模完成CAN通讯是一种比较高效的开发模式,不过在建模的过程中dbc文件中描述的数据需要自己去定义。出于示例的简单,只定义了8位和16位的数据。完成一个M脚本,脚本会通过对MATLAB Workspace中的数据模板进行拷贝修改完成数据定义。运行后,Workspace中已经生成dbc中的数据定义,只需要把这些数据保存成mat文件即可保存使用。在MATLAB的Workspace中定义8位以及16位的数据定义模板,然后执行M文件。后续,提供使用这个示例中的dbc文件进行建模的方法。原创 2023-05-30 07:35:45 · 398 阅读 · 0 评论 -
1197_pyspider初步了解与安装
全部学习汇总:https://github.com/GreyZhang/g_spider 长时间的显示器使用感觉眼睛十分不舒服,有想法看看把网页处理成离线的文件这样在一些墨水屏的终端中看应该会好一些。自然,简单的复制粘贴以及截图等似乎都可以实现这样的目标,但是这个尝试毕竟不算优雅。更加有点极客味儿的或许是使用网络爬虫,这个也一直是我之前想了解没了解的,正好这次了解一下。 这部分信息是来自于pyspider的官方网站的信息,做了一个简答的截取。从上面的信息看,基本的处理就是p...原创 2022-03-30 20:52:51 · 1038 阅读 · 0 评论 -
948_python中清空字典的两种方法极其差异
python中清空字典的两种方法及其差异Greypython中清空字典的两种方法及其差异两种方法简单的示范方法1dict_var = {}方法2dict_var.clear()测试效果针对上面的两种方法,测试一下效果:赋值法dict_var1 = {1: 123, 2: 234, 'c': 'asd2'}print(dict_var1)dict_var1 = {}print(dict_var1)运行效果:对象处理方法调用dict_var1 = {1:原创 2021-12-29 07:16:12 · 856 阅读 · 0 评论 -
681_python安装win32com模块
工作效率的提升很多时候在于思维的提升,当我们发现自己的工作出现了重复的时候就应该考虑自动化的手段。近一段时间,反复需要合并PPT,感觉虽然简单,但是依然需要一定的手动操作。能够自动化,自然是很好的一个方案。查了一下网上的文章,使用win32com模块的相对来说是多一些的,比较好找例子。 尝试使用这个模块,发现没有自带。使用pip安装,先是提示版本低需要升级。 升级之后,继续pip发现找不到相应的安装包: 找了若干教程,若干安装的方式。最终发现...原创 2021-07-22 22:45:04 · 5242 阅读 · 0 评论 -
539_python之禅
在网上看到了一个关于python之禅的文章,自然比我这个学习笔记的趣味性好得多。最起码,带有一点故事性。不像我,只是看到了新鲜的东西想去记录一下而已。python之禅是关于python编程的一些优点或者好的实施方式的描述,据说还给Guido留了一个空白等着他来填补。不过,我似乎是没找到这个空白。最近在学一些linux的知识,手头也有几个树莓派。我看了下我手里的3B,正好上面有python,尝试调试出来了这个python之禅:我发现这个树莓派上还有一个python3,不知道是否与这个一样,毕竟原创 2021-02-19 22:33:53 · 276 阅读 · 0 评论 -
487_python中布尔条件判断使用注意项小结
全部学习汇总: https://github.com/GreyZhang/python_basic 最近在看Google的编码规范,先看的python的编码。其实我自己平时用的都是一些脚本,写得比较随意。但是,如果是用于开发应用程序,那么最好还是有一点规则规范好一些。关于布尔条件的判断,有如下的描述: 关于几个我不是特别确认的信息,我写了一段测试代码如下: 运行结果: 从上面的结果,有几个需要注意的...原创 2020-12-22 10:49:28 · 434 阅读 · 0 评论 -
486_python finally的使用
全部学习汇总: https://github.com/GreyZhang/python_basic 这几年我也一直在用python,但是只是写一点点简单的批处理脚本而已。有很多语言编码的细节还是不熟悉。今天晚上看了Google的python编码规范,里面还是有一些不熟悉的地方的。 在里面有上面这一段,其中提到了finally的用法。而之前,我基本上只是try/except基本上就OK了。今天,从最基础的使用上初步了解一点finally的使用。按照...原创 2020-12-20 14:10:10 · 309 阅读 · 0 评论 -
356_网络不好的时候自动重新安装python库
网络不好的时候,pip安装一个库有时候会非常费劲,可能得尝试很多次。以前,自己要么多次尝试要么找离线的安装文件。昨天,在一台新安装系统的电脑上又遇到了这样的问题,反复失败,网络质量看上去也一般。灵机一动,既然都是命令操作,我何不写一个python脚本让它自己去反复尝试。这样,我的电脑不关机,它应该总有装好的时候。 反复尝试,其实就是一个循环,try-guess。 至于如何判断是否安装成功,我可以在脚本中尝试直接import相应的库,成功了就算是安装成...原创 2020-08-15 07:44:30 · 348 阅读 · 0 评论 -
341_Arduino+python分析天气变化导致颈椎病发的原因
最近两年加班有点多,一直加到了老孙严重。现在身体三天两头报警,时常变天的时候就会肩膀、脖子、脑袋疼,还伴随着一只眼睛发胀流泪。或许,这是传说中的职业病?看起来,以后的身体还是得好好注意。 对于天气的敏感一直以来是我想弄清楚的地方,到底是什么因素还是综合的因素导致了我的身体不适?正好看到了博世BME280的一个传感器,能够采集温度、湿度、气压以及近似的高度。高度或许我还不需要,其他的几个很可能就是我需要分析的因素。 上面就是我用的简单的测试平台,上面是淘宝买的一个Ard...原创 2020-05-17 20:11:45 · 610 阅读 · 0 评论 -
165_突破网络质量导致的pip升级问题
Pip安装一个python的软件包,结果提示pip工具需要升级。升级的方式很简单,输入命令行界面中提示的命令。我尝试了五六次之后失败,失败原因也很简单,网络问题。或许因为几个原因,一者是整个大环境的网络质量问题;二者是中国移动的宽带质量;三者是我正好在一个网络试点城市。 不过,只要网络能沟通,即使是有大量的延时其实也可以处理的。因为,我们有很多专门用于实现这种...原创 2019-11-23 22:22:08 · 323 阅读 · 0 评论 -
使用MATLAB和Python迭代求解黄金分割
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612虽说可能使用Python写几段小代码测试一下算法,但是我现在学习的确实是MATLAB的教程。是Mooler老爷子的书籍,MATLAB编程体验。第一个话题是迭代,这在学习Python的时候也是一个比较重要的话题。书中的例子是用MATLAB来实现黄金分割的求原创 2017-01-02 15:05:01 · 1551 阅读 · 0 评论 -
斐波那契数列知识小结
欢迎路过的YUAN类朋友相互交流,以下是我的联系方式:Email:greyzhang@126.com微信:grey0612之前学习Python的时候第一次认真学习了一下斐波那契数列,也是我第一次认真研究了一下编程语言的基础知识。今天依然从Python入手吧,先把之前完成的斐波那契数列函数实现一下。代码如下: 1 #!/usr/bin/python 2 3原创 2017-01-02 22:44:47 · 2554 阅读 · 0 评论 -
Python中assert函数的用法小结
写程序的时候加上更加严谨的检查的习惯是我前不久刚刚学到的,之前纵然知道这很有用也很有必要,但是从来没有主动去尝试过。年前看了一本国外一个人写的C语言数据结构与算法讲义之后,觉得以后自己的软件中也有必要加上这种类似的检测,甚至说我常用的一些小脚本也有必要把这个加进去。从15年下半年开始,我用的脚本语言Python居多,今天就大致总结一下Python中这种检测以及终止程序的方式。Python中原创 2017-01-14 23:26:20 · 23828 阅读 · 1 评论 -
numpy中linspace用法
linspace的功能最初是从MATLAB中学来的,用此来创建等差数列。近期用Python的时候发现也有这个功能,提供相应功能的是numpy。关于MATLAB中的功能就不再进行赘述了,接下来把我可能用到的Python用法来简单做一个小节。编写如下代码: 1 #!/usr/bin/python 2 3 import numpyas np 4原创 2017-01-15 14:23:29 · 176617 阅读 · 4 评论 -
Python绘制二维曲线的日常应用
使用Python绘制出类似Excel或者MATLAB的曲线还是比较容易就能够实现的,需要用到的额外库有两个,numpy和matplotlib。使用这两个模块实现的曲线绘制其实在一定程度上更像是MATLAB的plot功能,不过今天看了一下matplotlib网站上的信息,现在的功能更为强劲了,而且已经支持三维图像的绘制。模块库的安装非常简单,我使用的Mac,在Mac上用pip进行了两个模块库的安原创 2017-01-15 17:48:29 · 4450 阅读 · 0 评论 -
numpy等比数列函数logspce基础
前阵子使用Python绘制二维曲线的时候简单学了一下linspace函数的用法,算是一个等差数列的生成函数。今天翻教程翻出来一个等比数列的用法,logspace。当然,这个函数也是numpy中的一个函数。引入numpy>>> import numpy as np生成10^0—-10^3为断点元素个数为10的等比数列>>> np.logspace(0,3,10)a原创 2017-02-07 19:24:50 · 2976 阅读 · 0 评论 -
numpy数组创建初步
看MATLAB的书籍看到使用矩阵运算可以在一定程度上提高软件的执行效率,我又想到了Python,想到了numpy。且不管两个是否一样能够加速软件的执行速度,学习一点基础的numpy似乎是很有必要了。引用numpy库>>> import numpy as np创建一维矩阵,从下面的代码以及运行结果中可以看出,创建矩阵的时候使用列表和元组作用相同。>>> a =原创 2017-02-07 23:15:09 · 5605 阅读 · 0 评论 -
numpy使用fromstring创建矩阵
使用字符串创建矩阵是一个很实用的功能,之前自己尝试了很多次的小功能使用这个方法就能够简单实现。创建长度为16的字符串,是为了方便能够在各种数据类型之间转换。>>> s = "mytestfromstring">>> len(s)16这个功能其实是比较让我兴奋的一个小功能,因为这个简单的转换实现了ASCII码的转换>>> np.fromstri原创 2017-02-07 23:38:05 · 18625 阅读 · 0 评论 -
numpy等差数列生成函数arange学习小结
简单接触了numpy的等差数列生成函数arange,在使用上又一点像range函数。在使用上,需要有三个参数,除此之外似乎还有隐含参数。关于隐含参数就不去计较了,暂时先不去学习这么深入的功能。而常用的三个参数中,前两个参数是等差数列的数据范围,第一个参数是等差数列第一个元素。第3个参数则是等差数列的公差。 1 #!/usr/bin/python 2 3 import n原创 2017-02-08 23:05:33 · 80981 阅读 · 0 评论 -
numpy 矩阵数据共享知识小结
今天看了一段numpy的手册文档,看了一点基础的使用。看到了一段关于数据共享描述,类似的功能在学习Python基础的时候在列表基础的时候看到过。好奇想看看MATLAB的矩阵是否也有数据共享问题,看看numpy与MATLAB是否有基础性的大差异。命令窗口做一下试探如下,试一下数组的创建以及数组对象属性的查看:>>> import numpy as np>>> x = np原创 2017-02-09 22:11:51 · 623 阅读 · 0 评论 -
numpy矩阵属性知识小结
简单浏览了一下numpy中array属性的清单,挨个输入看了一下>>> a = np.array([[1,2,3],[4,5,6],[7,8,9]])>>> aarray([[1, 2, 3], [4, 5, 6], [7, 8, 9]])>>> a.Tarray([[1, 4, 7], [2, 5, 8], [3原创 2017-02-09 22:35:03 · 1478 阅读 · 0 评论 -
numpy矩阵基础知识回顾小结
简单学习了两个矩阵功能,eye和ones。试了一下相应的功能又查了一下线性代数的书籍,两个函数分别是单位矩阵和全1矩阵。单位矩阵:>>> a = np.eye(2)全1矩阵>>> b = np.ones((2,2)) * 2查看矩阵的具体数值>>> aarray([[ 1., 0.], [ 0., 1.]])>>> b原创 2017-02-13 23:30:47 · 378 阅读 · 0 评论 -
Python调用Windows CMD命令删除文件异常分析与解决
Windows下偶尔需要用到使用Python调用系统中的命令处理某些东西,在处理文件的时候偶尔会遇到问题。问题基本上都会与Windows的CMD命令使用有关,而我对这个不是很熟悉。刚刚尝试进行文件的批量删除发现遇到点小问题,做个简单的小例子说明一下。 以下是用于测试的目录以及文件的目录树结构: 卷序列号为 00000031 2013:5089E:.│ exp_01.原创 2017-02-24 21:17:58 · 1928 阅读 · 0 评论 -
Numpy中的数组花式索引
先看一下接下来要总结到的所有的用法的IPython交互记录:In [1]: importnumpy as np In [2]: data =np.random.randn(7,8) In [3]: dataOut[3]:array([[0.33620879, -0.74760021, 0.21633351,-0.31951527, -0.3474147 ,原创 2017-04-06 22:41:25 · 6353 阅读 · 0 评论 -
numpy中数组转置的求解以及向量内积计算
有点抱歉的是我的数学功底确实是不好,经过了高中的紧张到了大学之后松散了下来。原本高中就有点拖后腿的数学到了大学之后更是一落千丈。线性代数直接没有学明白,同样没有学明白的还有概率及统计以及复变函数。时至今日,我依然觉得这是人生中让人羞愧的一件事儿。不过,好在我还有机会,为了不敷衍而去学习一下。矩阵的转置有什么作用,我真是不知道了,今天总结完矩阵转置的操作之后先去网络上补充一下相关的知识。今天原创 2017-04-06 23:40:43 · 17214 阅读 · 0 评论 -
IPython shell中对显示结果的格式化优化
坚持使用Python的原声command交互将近两年了,时间可以说是从我开始学习Python一直持续到现在。之前在微博上看到别人说:IPython真是一个伟大的发明,简单尝试了一下,看着命令行之间的空白区非常大有一点不适应直接就放弃了。那时候觉得,这个东西或许对我没啥用。 今天简单试了几个小例子,看到输出的数据被格式化成了一种很规矩的方式,瞬间觉得这个东西做的确实是不坏。原创 2017-03-28 22:56:59 · 789 阅读 · 0 评论 -
IPython中执行Python程序文件
简单使用了一下之后,我觉得如果有机会(公司里面编码是极不自由的,也无所谓,我在公司不做数据分析),我肯定是更喜欢使用IPython作为我的Python shell环境了。简单的接触发现了不少我喜欢的功能。其中,在这种命令模式下能够方便地调用Python文件以及能够识别部分物理磁盘路径信息就是我比较喜欢的。 在IPython中集成了几个常用的shell命令,用起来确实感觉顺手了不少。原创 2017-03-28 23:22:16 · 14136 阅读 · 0 评论 -
IPython中进行Python程序执行时间的测量
在写MATLAB的脚本的时候我时长会用tic、toc进行一下程序运行时间的测量。在Python中偶尔也会测试下,但是基本上都是靠使用time模块。接触了IPython之后突然间发现,原来程序执行时间的测试可以如此简单! 在IPython中,程序执行时间的测试是通过魔术函数来实现。这个功能的魔术函数有两个,一个是time,还有一个是timeit。后面这个功能与前面的功能类似,但是更为原创 2017-03-28 23:42:33 · 3745 阅读 · 0 评论 -
numpy通用函数之四则运算
Numpy中的通用函数是实现对数组进行元素级别的运算的函数,比较常用的应该是四则运算以及常见的乘开方和三角函数等计算。最常用的应该就是四则运算了,做简单的使用示范如下:In [1]: import numpy as npIn [2]: data1 = np.random.randn(3,4)In [3]: data1Out[3]:array([[ 2.08583原创 2017-04-07 21:49:39 · 1683 阅读 · 0 评论 -
numpy中meshgrid的使用
meshgrid函数通常在数据的矢量化上使用,但是使用的方法我暂时还不是很明确。而meshgrid的作用适用于生成网格型数据,可以接受两个一维数组生成两个二维矩阵,对应两个数组中所有的(x,y)对。接下来通过简单的shell交互来演示一下这个功能的使用,并做一下小结。 交互显示:In [65]: xnums =np.arange(4) In [66]: ynums =n原创 2017-04-07 23:22:49 · 38174 阅读 · 2 评论 -
numpy中向量式三目运算符
如果用到数据筛选功能,可以使用x if condition else y的逻辑实现。如果使用的是纯Python,可以使用不断迭代的方式对每一组元素组合进行相应的判断筛选。不过,如果使用numpy中的向量化计可以大大加速运算的过程。在numpy中有一个这个三目运算的向量版本numpy.where。where方法可以接收三个参数,第一个参数为条件向量,而第二、第三个参数可以是矩阵也可以是标量。接下原创 2017-04-07 23:57:15 · 1661 阅读 · 0 评论 -
使用Python创建目录
我使用Python,很多时候是用Python写一些文件或者目录的处理脚本。正是出于这个原因,很多时候我会用到os模块。我使用os模块,有时候还会出于另外一个原因,那就是直接使用system方法去调用现在系统中已经存在的命令或者功能。 最近写一个小脚本的时候一个抛出的异常突然间给了我一点提醒,或许有些方法还是值得改进的。我在写一个目录归档备份的小脚本,在初期的测试过程中,遇到了拷贝失原创 2017-03-29 21:05:28 · 2472 阅读 · 0 评论 -
numpy中数组对象的强制数据类型转换
在我们的普通编程过程中,强制数据类型转换时很寻常的,尤其是在类似于C语言这样的编程语言。由于自己是一个C程序员,很多时候在这方面会多想一点。其实,纯粹的Python中,数据类型转换至少在语法上跟C是差不多的。但是,在numpy中,处理数组元素的时候这一切都不一样了。在numpy中,面向对象编程的味道更浓一些,而相应的转换是通过对象的方法调用来实现。 例如,有如下代码:impor原创 2017-03-29 23:41:29 · 58462 阅读 · 0 评论 -
快速排序算法的Python实现
网络上多次看到8大排序算法的Python实现这样的文章,我也不知道收藏了多少次了,但是似乎从来没有看完过。虽说,这些基本的排序算法我掌握的并不是很熟练,有些甚至可以说不会。 趁着最近几天学习Java又接触到了相应的排序算法,赶紧把快速排序算法给补了一下。接下来,用Python再进行一次练手。 代码如下:#!/usr/bin/python defParti原创 2017-03-13 22:56:36 · 926 阅读 · 0 评论 -
numpy中的where方法嵌套使用
如同for循环一样,numpy中的where方法可以实现嵌套功能。这是简化嵌套式矩阵逻辑的一个很好的方法。 假设有一个矩阵,需要把小于0的元素改成-1,大于0的元素改成1,而等于0的时候不做修改。那么,对应的代码示范如下:#!/usr/bin/python import numpy as np data = np.random.randn(4,5)data原创 2017-04-09 11:16:40 · 5057 阅读 · 0 评论 -
numpy中的数学与统计方法
如同MATLAB,numpy中提供了很多用于数学计算与统计方法的函数。如果能够合理利用,可以比自己编写相应的功能简单许多。接下来在shell交互模式下通过简单的命令或者程序语句进行一下演练。1,创建一个随机数数组arr_demoIn [13]: arr_demoOut[13]:array([[1.21620369, -0.97947606, -1.66260524, 0.14750原创 2017-04-09 17:10:24 · 826 阅读 · 1 评论 -
numpy中布尔型数组的处理方法
布尔数组的操作方式主要有两种,any用于查看数组中是否有True的值,而all则用于查看数组是否全都是True。 如果用于计算的时候,布尔量会被转换成1和0,True转换成1,False转换成0。通过这种方法可以统计一个布尔量数组中True的个数。 如果普通的数组用于布尔类操作,也会有类似的数据类型转换。其中,非0的数值转换成True,而0则被转换成False。原创 2017-04-09 17:37:38 · 10223 阅读 · 0 评论 -
numpy中的数组排序
简单试用了一下numpy中的数组排序功能,处理一维数组的时候有点让我觉得像Java的体验。不过,numpy中排序给出的使用方式更加丰富一点,尤其是面向向量计算的时候。下面通过简单的示范来做一下小结。In [48]: arr1 = randn(100)In [49]: arr1Out[49]:array([ 0.91021301, -0.42849536, 0.353204原创 2017-04-09 18:11:36 · 1246 阅读 · 0 评论 -
numpy中的数组条件筛选功能
在程序设计中,时常会遇到数据的唯一化、相同、相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能。1,唯一化的实现:In [63]: data = np.array(['int','float','int','boolean','double','boolean'])In [64]: dataOut[64]:array(['int'原创 2017-04-09 20:09:02 · 21122 阅读 · 0 评论 -
numpy中二进制格式的数据存储与读取
使用save可以实现对numpy数据的磁盘存储,存储的方式是二进制。查看使用说明,说明专门提到了是未经压缩的二进制形式。存储后的数据可以进行加载或者读取,通过使用load方法。In [81]:np.save('demo',data1) 通过以上操作,数据data1被存储到了demo文件中,numpy会自动加上npy的文件后缀名。In [82]: a =np.load('de原创 2017-04-09 20:20:34 · 12605 阅读 · 0 评论