自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小灰笔记

学习笔记,仅用于自我参考回忆!

  • 博客(34)
  • 收藏
  • 关注

原创 Python OOP面向对象编程在基类中使用__init__

__init__()方法在每次对象创建的时候就会调用,这个方法因此比较适合对一些对象的内部变量或者其他一些一次性过程进行初始化。      构造如下类:#!/usr/bin/python class MyBase:      def__init__(self,par1,par2):            self.par1= par1            self.p

2017-05-24 20:33:14 682

原创 Python3 OOP面向对象编程最基本的类

小米路由器出了问题告别了一天网络,也不知道是出了什么问题。真有些怀疑被黑了,用了一年的密码居然怎么也不好用了。把路由器恢复了出厂设置又把密码彻底更新了一遍。由于网络折腾,都两天没有好好学习了。      最近开始深入学习Python OOP,当然,目前还是一个起步的阶段。我觉得面向对象编程的技术我肯定要学,最好的选择或许是Python、Java、C#中的一个。前面了解了一下MATLAB面向对象

2017-05-24 19:55:25 779

原创 MATLAB面向对象编程指定类的优先级

前面总结了使用类的时候类的默认优先级,接下来总结练习一下指定类的优先级。      把之前用过的代码修改如下:classA.mclassdef classA    properties        a;    end    methods        function obj = classA(value)            obj.a = value;

2017-05-22 22:42:01 834

原创 MATLAB面向对象编程中类的默认优先级

通过简单的测试,我自己总结出来的默认规则是:在MATLAB面向对象编程的类使用中,如果出现同名的方法,那么在调用的过程中MATLAB会采用先入为主的方式来判断其优先级。      通过一个例子简单示范说明,首先定义两个类classA和classB,具体的代码如下:classA:classdef classA    properties        a;    end 

2017-05-21 23:54:43 961

原创 VIM编辑技巧之把单词大小写转换

遇到大小写转换的时候,我觉得首先一个不应该直接放弃的选择就是采用正则表达式以及文本替换功能。不过,针对单个单词的转换在VIM中还有更为简单的方式。      组合命令gUw可以实现把光标当前所在位置的一个单词转化为大写的功能,需要注意的是这个转换是从光标开始的位置到单词的结束。这样,如果需要从单词开始的地方开始转换那么还是得移动一下光标。    上面的这个功能是从书籍中学到的,我又想到了一

2017-05-21 23:24:50 2412

原创 使用Python向Excel中插入图片

使用Python向Excel文件中插入图片,这个功能之前学习xlwt的时候通过xlwt模块实现过。那时候是在公司做的尝试,印象中插入的图片最终缩小为了一个单元格,同时由于公司的加密系统如此实现了图片插入的Excel文件不能够再次打开。      这次试用XlsxWriter这个模块,推测这个模块应该是具有比xlwt强大的多的功能。代码实现如下:#!/usr/bin/python# -*

2017-05-21 17:30:14 32516 6

原创 使用XlsxWriter创建Excel文件并编辑

之前操作Excel使用过其他的方式,针对Excel的写入来说,使用过xlwt模块,也直接使用过win32com接口。如果说哪个最能够发挥Excel的威力,那么肯定是win32com接口实现的方式,然而这种方式需要的是Office软件支持。至于xlwt,我觉得我们平时用到的功能基本上都有了,通常这个基本就能够满足我个人的要求。      今天使用了一下XlsxWriter模块,暂时没有找到什么比

2017-05-21 17:13:55 7161 2

原创 MATLAB面向对象编程get与set方法实现

在MATLAB面向对象编程中,set与get分别是重新定义参数设置以及查询功能的方法,类似于Java中类似的功能。在实现方式上,有一点区别差异。另外,在实现方式上,暂时没有发现MATLAB可以直接像eclipse中编辑Java代码那样生成默认的方法。      写一个简单的例子演示set与get功能,创建以下类:classdef GetSetDemo    properties  

2017-05-19 01:18:12 4128 1

原创 MATLAB面向对象编程属性初始化方法

在MATLAB面向对象编程的类构建中,属性的初始化一般有两种方法:一种是使用构造函数,另一种则是在定义属性的时候初始化。      使用构造函数的例子:classdef DemoClass    properties        age;        hight;    end    methods        function obj = DemoClass

2017-05-19 00:38:46 5960

原创 向DOS批处理文件传入任意个数的参数方法实现

关于Windows下的DOS批处理我虽然使用的不多,但是有限的几个熟悉的命令倒也使用的不少。在一些使用受到很多限制的Windows电脑上,我时常会通过bat文件实现其他脚本语言或者程序提供给用户的工具接口。      简单的举个例子,由于时常需要创建多个代码文件,我喜欢使用touch命令。然而,平时能够用到的Windows电脑上名没有Windows版本的shell工具也不给我随便添加软件的机会

2017-05-19 00:06:37 1458

原创 MATLAB面向对象编程import导入信息冲突解决方案

在使用MATLAB面向对象编程的包管理import导入时,如果出现导入的两个包中存在相同的类时就会出现我们期待之外的软件行为。因为,MATLAB的导入遵循的是“先入为主”的生效方式,也就是说后面的导入时无效的。然而,我们在新的一次导入结束后通常希望使用的都是新导入的类。这样,如果不使用合适的处理方式我们的设计目的就无法达成。      在MATLAB包管理import导入的时候,为了避免类似导

2017-05-18 23:37:43 1205

原创 MATLAB面向对象编程import导入信息冲突问题

MATLAB中使用import导入信息的时候有时候会遇到一点混乱现象。比如,当我们尝试导入的两个包中存在同名但是内容并不相同的类时,两者肯定是会产生冲突的。那么,导入的类到底以哪个稳准呢?      在之前搭建的包测试环境上做一下测试如下:      从上面的结果看,最终MyClassA是按照Pack1中的类来执行的。而Pack导入要在Pack2之前。由此可见,这种导入过程中并

2017-05-18 23:29:47 742

原创 MATLAB面向对象编程import使用

类似于Python以及Java,针对模块库或者包中的内容可以通过import指令进行模块或者功能的导入。这样,可以在一定程度上简化代码,提高可读性。      例如之前在博客中实现的包管理例程,进行一个常用类的导入,可以通过以下方式:      这样,如果直接使用MyClassA即可实现调用Pack1中的类。此时如果要使用Pack2中的类,依然需要指明包。      如果有

2017-05-18 23:19:43 2674

原创 MATLAB面向对象编程命名空间的使用

命名空间可以理解为专门的内存分区,在MATLAB面向对象编程中,命名空间通常通过包文件夹来实现。包文件夹是以+开头的,简称为包。      创建以下包结构:├─+Pack1│     MyClassA.m│     MyClassB.m│└─+Pack2       MyClassA.m       MyClassB.m      Pack1中文件中的代码分别如

2017-05-18 01:50:19 1340

原创 PPT中实现不退出播放的情况下打开嵌入的文件

我是一个Office使用菜鸟,很多功能生疏的很。最早实现一个能够链接本地磁盘文件的超链接已经觉得很高大上了。但是,后来发现别人的PPT拷贝的时候不需要处理一大堆本地文件。      慢慢摸索后发现,原来可以直接把文件嵌入到PPT中。嵌入的方法是在功能选项卡的插入选项卡中选择对象;之后选择由文件创建;然后选择需要插入的文件。之后确认就基本可以了,如果想要漂亮一点可以选择显示图标等额外的功能。

2017-05-18 01:26:11 6036 2

原创 VIM编辑器删除指定个数的单词

在VIM中具有daw这样可以删除一个单词的命令操作,但是有时候我们的需求会是删除多个单词。这样,daw的功能就多少有点不够用。当然,如果对句点这个重复操作以及回退功能使用的娴熟,只知道这么一个命令也基本上够用了。      然而,在VIM中还有一种更为简单的方式,就是对操作使用数量词。比如:      daw可以理解为是删除一个单词;      d2w可以实现删除两个单词的功能; 

2017-05-18 01:00:48 1601

原创 VIM单词删除技巧

今天突然间想尝试使用一下Emacs,结果折腾了半个晚上觉得还是放弃了。似乎,VIM还是值得我坚持下去的,至少现在看来VIM在我手中还是能够做个编辑器使用。Emacs使用上手难度似乎还是高了一点,我折腾了好半天还是没能掌握最基本的操作。加上在我现在的Windows上连续几次死机,Emacs看来还是暂时不尝试了。      其实,不得不说Windows下诸如Source Insight之类的软件确

2017-05-17 01:13:11 27015 3

原创 MATLAB面向对象编程类和对象的创建

在此之前对面向对象编程了解不多,更不用说MATLAB面向对象编程。不过,在第一份工作的经历中还是遇到过一点使用,只是那时候我还不是很清楚。那一次使用是为了实现Simulink中模型的使用。      今天简单做一个类的构建以及对象的创建。首先实现一个类的定义,代码如下:classdef Person    properties        name;        age;

2017-05-16 08:27:34 13253 1

原创 can not locate win32ui.pyd问题解决

使用Pythonwin的时候遇到了can not locate win32ui.pyd的问题,还是排查了好长时间。具体的问题如下面的截图;       在网络上寻找,没有找到解决方案。后来,突然发现原来自己机器上安装的Python软件居然是32位的!而pythonwin则是64位的。终于找到了因由所在,动态链接库实现的CPU类型不一致。       重新安装了32位的p

2017-05-14 23:29:04 2951 1

原创 使用Python通过win32 COM实现Word文档的写入与保存

通过win32 COM接口实现软件的操作本质上来看跟直接操作软件一致,这跟我之前经常用的通过各种扩展的组件或者库实现各种文件的处理有较大的差异。如果有过Windows下使用Word的经历,那么使用win32 COM应该说是更为便捷的一种方式。      先前通过拼凑网络上的代码实现过Word文档的处理,今天通过读文档从头开始做一次新的尝试。简单实现一个Word文件的创建、写入与存储。   

2017-05-10 19:34:14 13184 2

原创 个人代码管理方法V0.0.1

写了这么多年的代码,自己工作之余写的代码管理的乱七八糟。有些似乎没有什么因由就发现丢失了,想想实在是有点可惜。今天突然间想到,是不是自己的代码也该好好管理一下。鉴于自己写的代码并不是特别多,代码量不大,VCS似乎也没有什么必要。简单给自己定几条规则吧,试用一段时间,不行再进行修正。      1,代码暂时不使用版本管理工具管理,直接使用文件夹目录。每隔一段时间进行一次总体的备份,不妨设定为3个

2017-05-10 19:14:23 2037

原创 使用Python通过win32 COM实现Excel的写入与保存

很久之前通过东拼西凑实现过使用Python通过win32 COM实现word文档的批量处理,后来那段程序功能在我的工作以及生活中被我使用了好多次。在批量处理的时候,不过是一个读写的过程,而读写过后还需保存。类比到Excel的操作中,自然也需要一个保存退出的动作。    我搜索了自己手头获得的只有几页的文档,没有相应的功能介绍,我也找不到程序的操作方式。只好借着自己的兴趣猜测尝试一下,仿照的自然

2017-05-08 22:03:14 12358 1

原创 使用Python通过win32 COM打开Excel并添加Sheet

对win32 COM不是很熟悉,不知道一个程序究竟有多少属性或者方法可以操作。仅仅是一个Sheet页的添加就费了我好长时间,因为这种成功来自于试探。      编辑代码如下:#!/usr/bin/python from win32com.client import Dispatch xlApp = Dispatch('Excel.Application')xlApp.V

2017-05-08 21:47:00 12517 3

原创 使用Python通过win32 COM接口实现Excel单元格写入

今天从电脑里找到一份不知道什么时候搜集的Python资料,主要介绍使用Win32 COM接口。简单看了几页发现这个还是很有用的,如果早点看了这个文档的话估计我的很多工作能够更早实现更高度的自动化。    由浅入深做简单的学习性总结,先实现一个简单单元格内容写入。      实现代码如下:#!/usr/bin/python from win32com.client import

2017-05-08 21:31:33 4469

原创 Windows上实现dos命令重命名

以前我曾经想使用这个功能,但是一直没有找到相应的实现方法。加上我用的脚本语言多少也能够实现类似的功能,在工作以及生活中也就没有继续深入探索。今天偶尔间找到了这个Windows内置的dos命令,使用起来还是比较方便的。      这个命令就是doskey,具体的功能是编辑命令,重新调用Windows命令并创建宏。      使用示范如下:直接调用Python:E:\WorkSpace

2017-05-08 19:56:36 5391

原创 使用Python求解最小公倍数

简单分析了一下,最大公约数的求解方法跟最小公倍数的求解方法类似,只需要改一个简单的条件,然后做一点简单的其他计算。问题的解决也是基于分解质因式的程序。      程序实现以及测试case代码如下:#!/usr/bin/python from collections import Counter def PrimeNum(num):      r_value =[] 

2017-05-08 19:45:34 9665

原创 使用Python求解最大公约数

使用Python求解两个数的最大公约数的时候用到了以前写过的一个小程序,也就是分解质因式。其实,我写分解质因式程序的时候就是因为发现在实现最大公约数求解的过程中用到了这个功能。      比较令我开心的是之前学的一点Python集合处理功能居然在这个时候也派上了用场,小程序的完成让人感觉比较舒心。      代码实现如下:#!/usr/bin/python from colle

2017-05-08 19:35:39 7442

原创 使用Python实现质因式分解算法

本来想实现一个其它的基本数学算法问题,但是发现在实现之前必须得先完成分解质因式的算法。      没有去网上寻找什么比较好的求解算法,纯粹是按照自己的理解写了一个试探性求解算法。也就是在MIT公开课中教授提到的guess-try方法。代码实现如下:#!/usr/bin/python def PrimeNum(num):      r_value =[]      for i

2017-05-07 21:39:47 15084

原创 使用Python求取前100组勾股数

本来想采用穷举试探的方式来做这个算法,后来发现还是有点麻烦。从网络上找来了一种求解方法如下:      当a为大于1的奇数2n+1时,b=2n^2+2n,c=2n^2+2n+1。实际上就是把a的平方数拆成两个连续自然数。      编写代码如下:#!/usr/bin/python for n in range(1,101):      a = 2 * n +1     

2017-05-07 18:43:56 7764 1

原创 三角函数和差公式的推导

关于三角函数、二项式定理等曾经在高中课本上纯粹是公式一堆的知识我一直没有掌握,没能够学到家。由于根本就谈不上理解,以至于遇到类似的问题的时候就有点心理上的害怕,考试的时候遇到只敢碰碰运气。今天找出了简单的和差公式,看了半天脑子里也没有半天呢如何证明的思路。通过网络,发现这个证明其实还是建立在几何意义上的。简单的证明如下:仔细看一下,可以知道,其实几个和差公式最基础、最根本的

2017-05-06 17:56:11 36582 2

原创 使用Python实现拉马努金的三角函数正弦公式

最近其实是在看《数学女孩》的书籍,看着看着觉得中间的故事情节确实是累赘了。切换一下思维,找来了之前看过的拉马努金的故事。看到了其中的公式之后,简单实用程序实现了一下,做一下简单的验证。在我看到的文章中,有这么一个公式:简单使用Python实现如下:  1 #!/usr/bin/python   2   3 pi =3.1415926  4   5 def f

2017-05-06 12:05:04 4178

原创 C语言换行带来的问题

写代码的时候太随意,近期在自己的代码中发现一个有意思的Bug。代码中有一个只写了一半的语句,但是编译器却一点警告也没有直接放过了。为了说明问题,简单复现当时问题的示范代码如下:  1 #include "stdio.h"  2   3 int a;  4 int b;  5   6 int main(void)  7 {  8     a =  9  

2017-05-06 10:50:03 2848

原创 使用MATLAB加载csv格式数据

类似于文本数据的加载,MATLAB支持直接加载csv格式的数据。假如有以下数据:加载过程如下:>> B = load('data.csv')B =     1     5     3     6     2     4     3     1     4     1     5     9>> BB =

2017-05-05 08:35:34 12920

原创 使用MATLAB加载文本数据

体验了pandas数据加载的便捷性之后,突然间发现MATLAB原来也有类似的便捷功能。比如,文本文件data.txt中有如下数据:加载操作如下:>> A = load('data.txt')A =     1     5     3     6     2     4     1     3     5     7     9     8    

2017-05-05 08:26:28 1729

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除