
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 · 664 阅读 · 0 评论 -
1197_pyspider初步了解与安装
全部学习汇总:https://github.com/GreyZhang/g_spider 长时间的显示器使用感觉眼睛十分不舒服,有想法看看把网页处理成离线的文件这样在一些墨水屏的终端中看应该会好一些。自然,简单的复制粘贴以及截图等似乎都可以实现这样的目标,但是这个尝试毕竟不算优雅。更加有点极客味儿的或许是使用网络爬虫,这个也一直是我之前想了解没了解的,正好这次了解一下。 这部分信息是来自于pyspider的官方网站的信息,做了一个简答的截取。从上面的信息看,基本的处理就是p...原创 2022-03-30 20:52:51 · 1105 阅读 · 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 · 909 阅读 · 0 评论 -
681_python安装win32com模块
工作效率的提升很多时候在于思维的提升,当我们发现自己的工作出现了重复的时候就应该考虑自动化的手段。近一段时间,反复需要合并PPT,感觉虽然简单,但是依然需要一定的手动操作。能够自动化,自然是很好的一个方案。查了一下网上的文章,使用win32com模块的相对来说是多一些的,比较好找例子。 尝试使用这个模块,发现没有自带。使用pip安装,先是提示版本低需要升级。 升级之后,继续pip发现找不到相应的安装包: 找了若干教程,若干安装的方式。最终发现...原创 2021-07-22 22:45:04 · 5724 阅读 · 0 评论 -
539_python之禅
在网上看到了一个关于python之禅的文章,自然比我这个学习笔记的趣味性好得多。最起码,带有一点故事性。不像我,只是看到了新鲜的东西想去记录一下而已。python之禅是关于python编程的一些优点或者好的实施方式的描述,据说还给Guido留了一个空白等着他来填补。不过,我似乎是没找到这个空白。最近在学一些linux的知识,手头也有几个树莓派。我看了下我手里的3B,正好上面有python,尝试调试出来了这个python之禅:我发现这个树莓派上还有一个python3,不知道是否与这个一样,毕竟原创 2021-02-19 22:33:53 · 318 阅读 · 0 评论 -
487_python中布尔条件判断使用注意项小结
全部学习汇总: https://github.com/GreyZhang/python_basic 最近在看Google的编码规范,先看的python的编码。其实我自己平时用的都是一些脚本,写得比较随意。但是,如果是用于开发应用程序,那么最好还是有一点规则规范好一些。关于布尔条件的判断,有如下的描述: 关于几个我不是特别确认的信息,我写了一段测试代码如下: 运行结果: 从上面的结果,有几个需要注意的...原创 2020-12-22 10:49:28 · 514 阅读 · 0 评论 -
486_python finally的使用
全部学习汇总: https://github.com/GreyZhang/python_basic 这几年我也一直在用python,但是只是写一点点简单的批处理脚本而已。有很多语言编码的细节还是不熟悉。今天晚上看了Google的python编码规范,里面还是有一些不熟悉的地方的。 在里面有上面这一段,其中提到了finally的用法。而之前,我基本上只是try/except基本上就OK了。今天,从最基础的使用上初步了解一点finally的使用。按照...原创 2020-12-20 14:10:10 · 373 阅读 · 0 评论 -
356_网络不好的时候自动重新安装python库
网络不好的时候,pip安装一个库有时候会非常费劲,可能得尝试很多次。以前,自己要么多次尝试要么找离线的安装文件。昨天,在一台新安装系统的电脑上又遇到了这样的问题,反复失败,网络质量看上去也一般。灵机一动,既然都是命令操作,我何不写一个python脚本让它自己去反复尝试。这样,我的电脑不关机,它应该总有装好的时候。 反复尝试,其实就是一个循环,try-guess。 至于如何判断是否安装成功,我可以在脚本中尝试直接import相应的库,成功了就算是安装成...原创 2020-08-15 07:44:30 · 392 阅读 · 0 评论 -
341_Arduino+python分析天气变化导致颈椎病发的原因
最近两年加班有点多,一直加到了老孙严重。现在身体三天两头报警,时常变天的时候就会肩膀、脖子、脑袋疼,还伴随着一只眼睛发胀流泪。或许,这是传说中的职业病?看起来,以后的身体还是得好好注意。 对于天气的敏感一直以来是我想弄清楚的地方,到底是什么因素还是综合的因素导致了我的身体不适?正好看到了博世BME280的一个传感器,能够采集温度、湿度、气压以及近似的高度。高度或许我还不需要,其他的几个很可能就是我需要分析的因素。 上面就是我用的简单的测试平台,上面是淘宝买的一个Ard...原创 2020-05-17 20:11:45 · 756 阅读 · 0 评论 -
165_突破网络质量导致的pip升级问题
Pip安装一个python的软件包,结果提示pip工具需要升级。升级的方式很简单,输入命令行界面中提示的命令。我尝试了五六次之后失败,失败原因也很简单,网络问题。或许因为几个原因,一者是整个大环境的网络质量问题;二者是中国移动的宽带质量;三者是我正好在一个网络试点城市。 不过,只要网络能沟通,即使是有大量的延时其实也可以处理的。因为,我们有很多专门用于实现这种...原创 2019-11-23 22:22:08 · 363 阅读 · 0 评论 -
Python对象属性的自动更新
在软件设计中会遇到这样的问题:有些属性之间有相互关联。这样,其中的一个属性变化的时候其他的属性也应该跟随变化。 先看一段示例代码:#!/usr/bin/python class DemoClss: def__init__(self,val1,val2): self.val1= val1原创 2017-09-02 11:41:32 · 4874 阅读 · 1 评论 -
Python浅复制中对象的生存周期
Python的浅复制以及深复制我了解的并不多,我不清楚shutil中的copy1和copy2是不是算是浅复制和深复制?这两个操作,一个是文件属性重建,还有一个是文件属性不变。不知道对象的复制是否可以以此类比? 在复制之前,为了能够观看一下GC的执行,定义一个特殊的类和对象。测试代码如下:class Demo: def __del__(self):原创 2017-08-27 22:35:06 · 502 阅读 · 0 评论 -
Python对象中__del__方法起作用的条件
对象的__del__是对象在被gc消除回收的时候起作用的一个方法,它的执行一般也就意味着对象不能够继续引用。 示范代码如下:class Demo: def __del__(self): print("calling __del__") obj = Demo()del obj 程序执行结果如下:grey原创 2017-08-27 21:07:11 · 4225 阅读 · 0 评论 -
使用Python和xlwt向Excel文件中写入中文
Python等工具确实是不错的工具,但是有时候不管是基础的Python还是Python的软件包都让我觉得对中文不是很亲近。时不时地遇到一点问题很正常,刚刚在写Excel文件的时候就又遇到了这样的问题。 为了能够说明情况,假设我想把当前文件夹中所有的文件名称全都写入到Excel文件中。当前的目录信息如下:grey@DESKTOP-3T80NPQ:/mnt/e/01_workspa原创 2017-08-21 23:54:34 · 14122 阅读 · 0 评论 -
Python中使用property实现类的特性
Python中的特性是一个函数,但是在使用的形式上看起来更像是一个属性。针对一个对象来说,与属性相比,特性是不能够随意添加的。而对象的属性,默认情况下添加是十分简单的。 下面通过代码展示如何使用property实现特性:class MyClass: def __init__(self,val1,val2): self.val1 =原创 2017-08-21 00:52:56 · 484 阅读 · 0 评论 -
Python通过属性手段实现只允许调用一次的方法
如果希望一个对象的某个方法只能够调用一次,按照我之前的惯性思维,我肯定是定义一个状态量然后每次调用的时候修改它的值。通过查看状态量的数值,我可以决定采取执行不同的处理。其实,除此之外还有一种方法,不仅仅能够实现这样的处理,还能够顺便处理对象的属性。 先看一下如下的代码:class DemoClass: def __init__(self):原创 2017-08-20 22:27:52 · 10304 阅读 · 0 评论 -
Python实现更相减损术求解最大公约数
先从网上摘录一段算法的描述如下:更相减损法:也叫 更相减损术,是出自《 九章算术》的一种求最大公约数的算法,它原本是为 约分而设计的,但它适用于任何需要求最大公约数的场合。《九章算术》是中国古代的数学专著,其中的“更相减损术”可以用来求两个数的最大公约数,即“可半者半之,不可半者,副置分母、子之数,以少减多,更相减损,求其等也。以等数约之。”翻译成现代语言如下:第一步:任意给定两个原创 2017-08-19 20:31:59 · 2905 阅读 · 0 评论 -
辗转相除法求最大公约数
之前总结过一次高德纳TAOCP中的最大公约数求解,其实课后题中的算法修改要求实现的是辗转相除法求解最大公约数。 这个题目我最初的理解理解错了,自然也没有做出标准答案。现在按照标准答案的解答写一下相应的代码实现:defMaxCommDivisor(m,n): while m * n != 0: m = m % n原创 2017-08-19 19:06:30 · 978 阅读 · 0 评论 -
Python中的@classmethod用法
在Python面向对象编程中的类构建中,有时候会遇到@classmethod的用法。总感觉有这种特殊性说明的用法都是高级用法,在我这个层级的水平中一般是用不到的。不过还是好奇去查了一下。 大致可以理解为:使用了@classmethod修饰的方法是类专属的,而且是可以通过类名进行调用的。为了能够展示其与一般方法的差异,写一段简单的代码如下:class DemoClass:原创 2017-08-19 11:53:58 · 21592 阅读 · 3 评论 -
Python面向对象编程中属性的基本操作
在面向对象编程中,属性与方法的使用十分频繁。接下来对属性的基础操作进行简单的学习小结。 在Python OOP中,属性的操作一般有如下几种: 1,添加属性 2,修改属性的值 3,获取属性的值 4,删除属性 通过一段简单的示范代码来说明一下:class DemoClass: pass o原创 2017-08-19 11:15:40 · 608 阅读 · 0 评论 -
Python中最基础类的属性和信息
查看Python中基础类的属性和信息可以看一下Python面向对象编程所接触到的最基本的东西。今天我想探索的是两个不同的大版本之间差异,也就是Python2和Python3之间的差异。 通常,我查看一个类或者对象的属性的时候我会使用dir。使用dir函数可以查看到类或者对象的大多数属性或者方法,但是也不一定全面,有一部分特殊的属性或者方法显示不出来。如果想要显示的完整一些,可以直接原创 2017-08-18 22:30:09 · 680 阅读 · 0 评论 -
Python中__new__方法的使用
先看一段代码:classdoubleFloat(float): def __new__(cls,arg = .6): return float.__new__(cls,arg * 2) a = doubleFloat()print(a) b =doubleFloat(1.9)print(b) 程序执行结果:原创 2017-08-18 02:23:10 · 2669 阅读 · 0 评论 -
使用__del__方法在Python文件处理时保证文件关闭
__del__方法的一个很好的用途就是用于文件处理中关闭文件,通过与文件关闭功能的关联让关闭成为一种默认的处理方式。 在文件处理的程序中通常会含有__del__= close来保证__del__()方法与close()方法的一致。 这种设计考虑的思想很容易理解,但是到底在什么场景中使用确实是一个比较难考虑的问题。毕竟,这个方法的实现应该是在类中,而相应的功能映射应该原创 2017-08-18 02:07:43 · 898 阅读 · 0 评论 -
Python中的weakref简单小结
当对一个对象的引用只有弱引用的时候,垃圾回收机制可以把孩子个对象在不用了的时候销毁,把内存用于其他地方。 弱引用其中一个用途是用于实现大对象的缓存或者映射,由于是缓存火映射,对象不需要独立存在。Python weakref中提供WeakKeyDictionary和WeakValueDictionary两个类用于构建非长久驻留内存的对象。当最后一次引用之后,垃圾回收机制会回收其内存。原创 2017-08-18 01:39:19 · 6940 阅读 · 0 评论 -
Python2与Python3在不同类的对象比较上的差异
之前写了那么多的脚本,没有发现Python2与Python3太大的差异。接触面向对象编程,学习的过程中发现各种不同的差异。 接下来看一下Python2与Python3在不同类的对象对比上的差异。 先看一段示范代码:class myClass: def __init__(self,value): self.value原创 2017-08-16 23:10:03 · 2460 阅读 · 0 评论 -
Python中定制类的比较运算方法
Python中的比较运算有几种:小于、小于等于、等于、大于等于、大于、不等于等。如果我们的数据对象具有明确的物理含义,比如说数值是带有数字与物理单位的字符串组合,那么进行大小比较的时候就可以做此定制。 下面针对6种比较方法中的一种来进行定制示范,选择小于判断来做尝试。写如下示范代码:class myClass: def __init__(self,value):原创 2017-08-16 22:39:58 · 3666 阅读 · 0 评论 -
Python2与Python3中__bool__方法的差异
学习Python面向对象编程的时候,遇到了一个很有意思的小问题。Python的__bool__方法不起作用的问题。 我反复读了我手中的教程,确认了我写的代码应该管用。可是在测试的时候却一直不通过,后来发现我实现的__bool__方法似乎并不是Python本身的接口。 代码如下:class Demo(): def __init__(self,val原创 2017-08-16 22:24:03 · 2685 阅读 · 0 评论 -
Python中的哈希常识小结
Python中,哈希是一种将相对复杂的值简化成小整数的计算方式。哈希值可以表示出原值所有的位,有些哈希值会得出非常大的数值,这样的算法通常用于密码学。 Python中也有基础的模块库可以支持部分哈希的算法。 不同的平台、不同的系统哈希值的计算可能会不同,这里简单对我自己的电脑做一个试探。写如下测试代码:x = object()print(hash(x))原创 2017-08-16 20:52:27 · 10537 阅读 · 0 评论 -
Python中的静态函数的用法
Python中也存在静态函数,查看文档之后,文档解释这个功能跟Java或者C++的功能相同的。 总结Python中的静态函数,先看一段自己写的简单的代码:class MyClass: @staticmethod def Func(): print("static function inpython") cla原创 2017-08-12 19:16:08 · 2768 阅读 · 0 评论 -
Python中的join函数用法
Python中的join跟Perl中的join在功能上有一点相似。Python中,join用于实现序列或者集合的合并,而且可以指定合并时候元素之间的间隔符号。此外,还能够将字符串作为一个对象对每个可切片元素进行合并。 先看一下对字符串的合并。grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03_pyt原创 2017-08-12 15:32:48 · 9660 阅读 · 0 评论 -
Python中isinstance用法
Isinstance的用法是用来判断一个量是否是相应的类型,接受的参数一个是对象加一种类型。示范代码如下:a = 1print(isinstance(a,int))print(isinstance(a,float)) 程序的执行结果如下:grey@DESKTOP-3T80NPQ:/mnt/e/01_workspace/02_programme_language/03原创 2017-08-12 14:31:00 · 34158 阅读 · 0 评论 -
Python abc模块的几个小知识点
编程的思想应该在不断地实践中才能够体悟,这是我自己的感受。接触了好长一段时间的OOP,但是一直在实战中用到的很少。或许,平时我需要的仅仅是一些小脚本而已。今天总结一下学习Python OOP遇到的一个小模块,abc。 首先需要了解的是一个基类,abc.ABCMeta。最初看到与之相关的代码,我还把这个理解为了一个参数。这让我在读代码的时候有点不理解。查了一下文档,恍然大悟。原来,这原创 2017-08-12 10:31:28 · 14709 阅读 · 2 评论 -
Python中@符号的用法-1
首先参考了几篇网络上的文章或者教程,看完之后也没有弄明白这个功能是什么意思。于是查了一下Python的文档,相关的描述如下:A function definition may be wrapped by one or more decorator expressions. Decorator expressions areevaluated when the function is def原创 2017-08-11 00:15:07 · 22430 阅读 · 0 评论 -
Python编程中NotImplementedError的使用
Python编程中raise可以实现报出错误的功能,而报错的条件可以由程序员自己去定制。在面向对象编程中,可以先预留一个方法接口不实现,在其子类中实现。如果要求其子类一定要实现,不实现的时候会导致问题,那么采用raise的方式就很好。而此时产生的问题分类是NotImplementedError。 写一段代码如下:class ClassDemo: def test原创 2017-08-10 22:52:07 · 94723 阅读 · 4 评论 -
Python实现接受任意个数参数的函数
这个功能倒也不是我多么急需的功能,只是恰好看到了,觉得或许以后会用的到。功能就是实现函数能够接受不同数目的参数。 其实,在C语言中这个功能是熟悉的,虽说实现的形式不太一样。C语言中的main函数是可以实现类似的功能的,可以通过这种方式实现一个支持命令行参数的程序。 先写一段python实现相应功能的示范代码:defFuncDemo(*par):原创 2017-08-10 20:02:18 · 11716 阅读 · 0 评论 -
Python OOP容器设计时合理引入列表方法
面向对象编程的一个最大的优点就在于继承,通过继承可以重用很多已经设计好的功能。接下来,通过简单的一个代码模拟说明一下继承的优点。 首先,写一段代码如下:import random class Demo1(): def __init__(self): self.nums = [i for i in range(10)]原创 2017-08-09 23:25:09 · 344 阅读 · 0 评论 -
Python中list的extend方法
List的extend方法是一个扩充列表元素内容的方法,在一定程度上其行为有点像append。只是在接受的参数以及最终的效果上有些差异。 写如下示范代码:#!/usr/bin/python list1 = [1,2,4]list2 = [12,6] list1.extend(list2)print(list1) 程序执行结果:E:\0原创 2017-08-09 22:47:01 · 12661 阅读 · 0 评论 -
Python2与Python3中除法功能的异同
Python 2中的除法以及除法的取余功能跟C语言中的除法以及取余功能全都类似,作为C语言的程序员接受起来还是很简单的。但是Python 3中的除法默认改成了进行高精度的浮点计算,这样就有时候让人觉得有些不适应了。 我个人觉得,既然是高一些的版本,Python3肯定是最后的大势所趋。因此自己的电脑上安装的只有Python 3。慢慢脱离了Python 2只用Python 3,最终写代原创 2017-08-01 23:33:11 · 1880 阅读 · 0 评论 -
Python2与Python3中的list异同
这次仅仅从自己实践经验上来做一次简单的小结,Python 2与Python 3中的list在使用中的异同点做一个简单的总结。 跟随技术的脚步,我自己的机器上安装的是Python3,前阵子找到的最新版本。但是,现在很多地方大量用到的版本其实是2.X。我自己的Python学习最基础只是的掌握其实是从Python2开始的,最初的几个简单的功能掌握中就是list。在idle中输入list直原创 2017-07-27 23:09:22 · 1268 阅读 · 0 评论 -
求取两个数的最大公约数
之前我也实现过最大公约数的求解,采用了一种近乎穷举的方式来实现的。一次坐火车的时候带着高德纳的《计算机编程艺术》第一卷看了下,英语退步的厉害没有看懂太多东西,倒是看到了一个求取最大公约数的算法。看完之后,一下子觉得自己之前的算法是多么差。 下面使用Python简单进行一下算法实现:defCommDevisor(m,n): r = m % n wh原创 2017-07-22 22:07:11 · 1083 阅读 · 0 评论