<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[蚂蚁]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/hao8986</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hao8986]]></copyright><item><title><![CDATA[类]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/86004044</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/86004044</guid><author>hao8986</author><pubDate>Mon, 07 Jan 2019 17:20:57 +0800</pubDate><description><![CDATA[用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。

面向对象3要素：封装、继承、多态

1.类对象：类的定义就会生成一个类对象

2.类的属性：类定义中的变量和类中定义的方法都是类的属性

3.类变量


class Person:
    x = &quot;abc&quot; #类属性

    def __init__(self, name, age=18):#初始化函数，...]]></description><category></category></item><item><title><![CDATA[插入排序]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/85707875</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/85707875</guid><author>hao8986</author><pubDate>Thu, 03 Jan 2019 18:10:28 +0800</pubDate><description><![CDATA[直接插入排序（Direct insertion sort）原理：

        在未排序序列中，构建一个子排序序列，直至全部数据排序完成

        将待排序的数，插入到已经排序的序列中合适位置

       增加一个哨兵，放入待比较值，让它和后面已经排好序的序列比较，找到合适的插入点


m_list = [1, 9, 8, 5, 6, 7, 4, 3, 2]
nums = [0] ...]]></description><category></category></item><item><title><![CDATA[函数]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/85698976</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/85698976</guid><author>hao8986</author><pubDate>Thu, 03 Jan 2019 17:38:18 +0800</pubDate><description><![CDATA[1.定义：由若干语句组成的语句块、函数名称、参数列表构成，是组织代码的最小单元，完成一定的功能

2.作用：简单的封装，为了复用

3.分类：内建函数，如max()、reversed()等

              库函数，如math.ceil()等

               自建函数

4.函数定义、调用

         定义： def 函数名（参数列表）:

          ...]]></description><category></category></item><item><title><![CDATA[字符串]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/85684944</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/85684944</guid><author>hao8986</author><pubDate>Thu, 03 Jan 2019 12:32:20 +0800</pubDate><description><![CDATA[1.字符串是不可变对象

2.字符串是Unicode类型

3.单引号、双引号、三引号

4.有转义字符时可在字符串前加“R”或“r”

5.字符串支持使用索引访问

6.字符串是有序的字符集合、字符序列

7.可迭代

8.字符串连接：“+”，“string”.join(iterable),&quot;*&quot;

9.字符串分割

    split(sep=None,maxsplit=-1)

      ...]]></description><category></category></item><item><title><![CDATA[冒泡排序法]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/85684411</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/85684411</guid><author>hao8986</author><pubDate>Thu, 03 Jan 2019 11:34:15 +0800</pubDate><description><![CDATA[
nums = []
i = 0
while True:
    i += 1
    num = input(&quot;请输入数字{}:&quot;.format(i))
    if num == &quot;&quot;: #输入空时退出输入
        break
    else:
        nums.append(int(num))
# flag = False
tmp = 0
count_swap = 0
co...]]></description><category></category></item><item><title><![CDATA[元组]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/85679569</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/85679569</guid><author>hao8986</author><pubDate>Thu, 03 Jan 2019 10:54:46 +0800</pubDate><description><![CDATA[1.元祖定义：


 tuple()
 tuple(iterable)


t = tuple() # 工厂方法
t = ()
t = tuple(range(1,7,2)) #iteratable
t = (2,4,6,3,4,2)
t = (1,) #一个元素元祖的定义必须加逗号
t = (1,)*5
t = (1,2,3)*6

2.元祖元素的访问：

（1）支持索引

（2）正负索引

通...]]></description><category></category></item><item><title><![CDATA[vb.net二次开发AutoCAD中画圆示例]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7915779</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7915779</guid><author>hao8986</author><pubDate>Tue, 28 Aug 2012 13:39:45 +0800</pubDate><description><![CDATA[Imports Autodesk
Imports Autodesk.AutoCAD.Interop
Imports Autodesk.AutoCAD.Interop.Common
imports Autodesk.AutoCAD.ApplicationServices
Imports Autodesk.AutoCAD.DatabaseServices
Imports Autodesk.A]]></description><category></category></item><item><title><![CDATA[.NET平台的AutoCAD二次开发]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7915752</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7915752</guid><author>hao8986</author><pubDate>Tue, 28 Aug 2012 13:33:54 +0800</pubDate><description><![CDATA[当前AutoCAD的二次开发工具主要有：VisualLisp、VBA和ObjectARX等。其中，VisualLisp与VBA较为简单，特别是VBA，使用方便且开发速度较快，但其功能相比ObjectARX有所不足，尤其是对面向对象的功能支持不好。而ObjectARX基于VC平台，在C++的支持下，其功能非常强大，可以很好地运用各种面向对象技术，但其缺点是发开速度比较慢，同时对开发人员的能力要求较高]]></description><category></category></item><item><title><![CDATA[VB.NET中的线程操作(Thread，Mutex)]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7182479</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7182479</guid><author>hao8986</author><pubDate>Fri, 06 Jan 2012 21:24:05 +0800</pubDate><description><![CDATA[VB.NET中的线程操作(Thread，Mutex)

By Tyouvivi 2008/04/16

VB.NET 2005 中线程操作稍有点麻烦，Abort()方法调用时会产生System.Threading.ThreadAbortException异常信息，而继续已挂起的线程方法Resume()和挂起方法Suspend()也不再支持，线程的暂停、再开、结束不是很方便，在此使用Mute]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（十五）—动态事件处理方法?]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178324</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178324</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:54:36 +0800</pubDate><description><![CDATA[“大李哥，”我不免为自己问了如此多的问题而不好意思起来，“您刚才所说的事件的委托是怎么回事呀？”

　　大李显然是明白我会提问的：“我所说过事件驱动设计中的三要素你还记得吧？”

　　“当然，就是指对象、事件和事件处理程序。”我流利地回答道。

　　“对象和事件处理程序我们已经分析过了。要想彻底了解事件驱动程序的来龙去脉，我们必须了解事件的构成。”见到我又一次茫然地摇头，他就接着说，“]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（十四）—动态关联事件与处理程序]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178315</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178315</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:52:24 +0800</pubDate><description><![CDATA[“要解释新的事件处理程序的方法，我们需要先说几个重要的问题。”大李开始严肃起来，我也只得挪动一下身子，表现出正襟危坐的架势。
“我们首先讨论一下事件是怎么产生的。事件是对象发送的消息，以发信号通知操作的发生。操作可能是由用户交互，例如鼠标单击引起的，也可能是由某些其他的程序逻辑触发的。引发事件的对象叫做事件发送方（啊，听到这，Henry突然明白了事件处理程序中的第一个参量为什么叫Sender了，]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（十三）—标准事件处理程序]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178311</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178311</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:51:56 +0800</pubDate><description><![CDATA[“感兴趣就好！”大李微微点点头，然后问我道，“你知道程序是怎么知道哪些对象可以引发何种事件，以及怎么样把事件和事件处理程序关联起来？”
见到我迷茫的眼神，大李用鼠标点击打开被Region合起来的“Windows 窗体设计器生成的代码”，指着中间的一句自动生成的代码：
    Friend WithEvents Button1 As System.Windows.Forms.Button]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（十二）―事宜驱动]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178307</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178307</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:51:27 +0800</pubDate><description><![CDATA[内容摘要:
...当自己写代码来调用某事件程序时，就要写明sender是何物了......比如Mousedown事件，系统需要断定mouse的位置、判断是左中右哪个键点击了、判断点击了几下品等，因此该e就必需是System.Windows.Forms.MouseEventArgs类的范例...... “足以这样说，你难道看不出VB.NET提供给我们的是更通盘、更直接的克制吗？再说e，表示的是事件]]></description><category></category></item><item><title><![CDATA[vb.net之旅（十一）可视继承]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178302</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178302</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:51:00 +0800</pubDate><description><![CDATA[闭关修练了一晚上VB.NET的继承程序的我，早上进入公司时自信满满。白经理看到我，问了一句：“学习得怎么样？对VB.NET是不是已经可以上手了？”我点了点头：“应该可以做点事了吧。”“好的，”白经理拍了拍我肩膀说，“再跟大李好好学习几天，会有机会的。”

得到领导的指示，我冲了杯咖啡，恭敬地走向大李，放在他的桌上。大李嘴角一翘，笑着说：“别这么客气，来，坐。让我看看你昨天继承学习得怎么样。今天]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（十）—何时用接口]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178298</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178298</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:50:11 +0800</pubDate><description><![CDATA[大李没告诉我接口与抽象类的区别，什么时候用接口，什么时候用实现继承。弄得我中饭也没吃好，老在琢磨这事，这不，一吃完饭，我就冲上楼，一个房间一个房间转，到处找大李。
过了好一阵，这老哥才和几个同事说说笑笑地回到办公室，我立即走上前，半请半拉地把他拽到电脑旁。“大李哥，我实在想得头晕，既然在VB.NET中接口有了这么大的发展空间，在形式上与抽象类如此相似，那么它们有什么区别？什么时候用接口呢？”]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（九）—接口继承]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178293</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178293</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:49:34 +0800</pubDate><description><![CDATA[大李拍了拍我的肩膀说：“你真有想象力，不过的确，有很多文献把这种用Implements来实现接口的方法就称为接口继承。其实，接口自己也是可以进行继承的，在VB.NET中把接口间的继承形式称为接口继承。”
我不禁跟着笑了起来：“接口继承要成为继承，当然要用Inherits，对吧？”
大李点点头说：“既然你都清楚了，那你来模拟一个下拉框Combobox的接口吧。”
“Combobox？”我不禁一]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（八）—接口]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178292</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178292</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:48:59 +0800</pubDate><description><![CDATA[“还有两种继承方法？”我是真正被VB.NET的强大功能所折服了。求知的渴望驱使着我向大李露出了一个最灿烂的笑容，“行了，别傻笑了，我告诉你不就成了。”大李不禁也笑了起来。
“刚才我说到‘脆弱的基类’时，就提到实现继承最大的问题，就在于基类与派生类之间的关系过于紧密，还记得吧？基类实现细节往往会泄露出来，这不是我们愿意看到的封装情况，所以有很多程序设计师就想尽方法来改进这一问题，其中最出名的，就是]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（七）—脆弱的基类]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/7178289</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/7178289</guid><author>hao8986</author><pubDate>Thu, 05 Jan 2012 14:47:58 +0800</pubDate><description><![CDATA[“既然说是脆弱，当然是指它象蛋壳一样不堪一击喽。这个问题其实很好理解。程序总是由人来设计与编写的，所以工作开始时考虑不到某些问题当然也是很正常的事。所以可能在工作进行了一段时间后发现基类需要变更。你想，如果我在基类中更改了成员的数据类型，以及那些允许重写的那些方法和属性，那派生类及其子类还能正常工作吗？尤其是当一个团队中的多个开发人员一起来创作基类和派生类时，就更是要命了。很多情况下，大家可能已经]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（六）—重载与隐藏]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/6894072</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/6894072</guid><author>hao8986</author><pubDate>Fri, 21 Oct 2011 15:13:44 +0800</pubDate><description><![CDATA[大李坐在转椅上左右晃动着，手中的一个硬币在他指间灵巧地翻滚着。“hi, Henry。你对重写与重载的意思理解是怎么样的呢？”
　　我正盯着他手中的硬币发愣呢，“哦，重写，就是您刚才举的示例中，在派生类中用Overrides重新编写有Overridable标识的基类的方法或属性；重载么，就是我们可以用同样的名称，在一个类中用不同的参数列表来创建多个方法和属性，在调用时就可以适应不同参数类型的要求。]]></description><category></category></item><item><title><![CDATA[VB.NET之旅（五）—类的继承]]></title><link>https://blog.youkuaiyun.com/hao8986/article/details/6894065</link><guid>https://blog.youkuaiyun.com/hao8986/article/details/6894065</guid><author>hao8986</author><pubDate>Fri, 21 Oct 2011 15:12:57 +0800</pubDate><description><![CDATA[“类的继承？”大李点点头，“以前很多人批评VB的功能不完善时，都会加上这个条件。但是现在VB.NET中已经是比较完善的面向对象编程方法了。刚才我们也提到过，类与 VB.NET 的结构类似，让我们可以定义封装一组相关项的数据类型。然而与结构的一个重要区别就是，VB.NET 类可以继承和扩展其他类的特性。作为新类的基础的类称为‘基类’。从基类派生的类称为‘派生类’。派生类继承基类中定义的所有字段、属性]]></description><category></category></item></channel></rss>