自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

量变到质变

python学习记录

  • 博客(83)
  • 资源 (1)
  • 收藏
  • 关注

转载 转发:如何查看 EntityValidationErrors 详细信息的解决方法

使用EF框架,封装很好,但是今天就在提交数据的时候,发现了 EntityValidationErrors,却不知道很多个字段到底是哪个错了。找到以下链接:https://www.cnblogs.com/aaronguo/archive/2012/03/29/2423353.html提示用以下方式提出异常信息try { }catch (System.Data.Entity.Validati...

2020-02-18 16:10:31 505

原创 《C#程序设计及应用教程》第三版 (马骏主编 )的一个bug

《C#程序设计及应用教程》第三版 (马骏主编 )的一个bug时钟动画的一个BUG原著283页,有如下代码: private void ClearCanvas() { if (acList != null) { foreach (var ac in acList) {...

2018-11-03 10:00:05 2928 1

原创 pyqt5自定义拖放功能的实现解说

样例仍然来自《Rapid GUI Programming with Python and Qt》一书。 中文版240页对拖放的支持有一段很重要的说明,但是有点语焉不详,所以结合代码部分重新给自己解释一下。 书中说: setAcceptDrops()方法从QWidget继承而来,不过setDragEnabled()则不是,因此在默认情况下,只有部分窗口部件中它才是可用的。如果打算创建一个

2018-02-06 09:18:06 4603 1

原创 PyQt5 QSettings的几个坑

关于PyQt5中QSettings的一个坑为什么这么多坑,其中一个原因是文档不全,资料最全的是qt4,但是按4来学习,则有跳坑无数。 其中几个,在用python3+PyQt5改写Python Qt GUI快速编程的第6章实例主窗口一文中已经写了很多。 其实这一章我也是走过的,但是对settings没有测试。 但是今天一个问题困了一天的时间。 其中保存是这样的:

2018-02-03 19:05:27 5370

原创 关于pyuic的使用方法

关于pyuic5,有时提供的是pyuic5.exe, 有时是pyuic5.bat,用法都一样。重要的参数有2个,一个是o,一个是x(嗯,确实是有点那个)pyuic $FileName$ -o ui_$FileNameWithoutExtension$.py -x意思是,将 file.ui这个文件,生成一个名字为ui_file.py的文件,这个文件可直接执行(-x)的意思。那么生成的

2018-02-03 08:22:56 17551

原创 chrome被hao123主页绑架的解决

有些东西,本身也许不讨厌,但是你强迫我,那就非解决不可。比如,hao123,用什么东西后台修改chrome的快捷方式,将hao123的主页作为启动参数来绑定,这样修改chrome本身的设定无效。查到百度的各种方案都无效,问了下谷歌,只扫到一个答案,非常简洁,用 AdwCleaner可除。果然,附带清了很多广告。附上我的清除记录……等下,把QQ也整个删除了?QQ,你到

2017-03-08 08:08:43 6542 2

翻译 python数据结构与算法 39 树的遍历

树的遍历在学习完成树的基本结构以后,我们开始研究一些树的应用模式。访问树的全部节点,一般有三种模式,这些模式的不同之处,仅在于访问节点的顺序不同。我们把这种对节点的访问称为“遍历”,这三种遍历模式叫做前序、中序和后序。下面我们对遍历模式作更仔细的定义,同时研究使用这延续模式的例子。前序遍历

2014-06-07 17:18:05 2795

翻译 python数据结构与算法 38 分析树

分析树树的结构完成以后,该是时候看看它能做点什么实事儿了。这一节里,我们研究一下分析树。分析树能够用于真实世界的结构表示,象语法或数学表达式一类的。图1一个简单语句的分析树图1所示是一个简单语句的层级结构,把语句表示为树结构可以让我们用子树来分析句子的组成部分。图2 ((7+3)∗(5−2))的分析树我们也可以把数学表达式如((7+3

2014-05-12 16:11:37 2295 1

翻译 python数据结构与算法 37 树的实现

树的实现记住上一节树的定义,在定义的基础上,我们用以下的函数创建并操作二叉树:BinaryTree() 创建一个二叉树实例 getLeftChild() 返回节点的左孩子 getRightChild() 返回节点的右孩子 setRootVal(val) 把val变量值赋给当前节点 getRootVal() 返回当前节点对象。 insertLeft(val) 创建一个新二叉树作为当前

2014-05-07 13:13:49 2723

翻译 python数据结构与算法 36 树的基本概念

树学习目标理解什么是树及使用方法 学会使用树实现映射 用列表实现树 用类和引用实现树 用递归实现树 用堆实现优先队列树的例子前面我们学习过栈和队列这类线性数据结构,并且体验过递归,现在我们学习另一种通用数据结构,叫做树。树在计算机科学中应用广泛,象操作系统、图形学、数据库系统、网络等都要用到树。树和他们在自然界中的表哥——植物树——非常相似,树也有根,有分枝,有叶子

2014-05-06 16:01:41 2002

翻译 python数据结构与算法 35 快速排序

快速排序快速排序也使用了分而治之的策略来提高性能,而且不需要额外的内存,但是这么做的代价就是,列表不是对半切分的,因而,性能上就有所下降。快速排序选择一个数值,一般称为“轴点”,虽然有很多选取轴点的方法,我们还是简单地把列表中第一个元素做为轴点了。轴点的作用是帮助把列表分为两个部分。列表完成后,轴点所在的位置叫做“切分点”,从这一点上把列表分成两部分供后续调用。图12所示,54将作

2014-05-03 20:37:52 1522

翻译 python数据结构与算法 34 归并排序

归并排序在提高排序算法性能的方法中,有一类叫做分而治之。我们先研究其中第一种叫做归并排序。归并排序使用递归的方法,不停地把列表一分为二。如果列表是空或只有一个元素,那么就是排好序的(递归基点),如果列表有超过1个的元素,那么切分列表并对两个子列表递归使用归并排序。一旦这两个列表排序完成,称为“归并”的基本操作开始执行。归并是把两个有序列表合并成一个新的有序列表的过程。图10是我们熟悉的列表

2014-04-30 14:12:13 1352

翻译 python数据结构与算法 33 希尔排序

希尔排序希尔排序,有时称为递减增量排序,是在插入排序基础上,把列表拆成几个较小的子表,然后对每个子表使用插入排序的方法。选出子表的方法是希尔排序的关键,它并不是把列表的中相近的元素取出来组成子表,而是使用了一个增量值I,有时也叫做“间隙”,然后每隔一个间隙选中一个元素来组成子表。这可以从图6中看出来,列表中有9个元素,如果我们使用增量3,就有3个子表,每个子表单独做插入排序。完成之后的

2014-04-29 09:38:41 1450 1

翻译 python数据结构与算法 32 插入排序

插入排序插入排序虽然仍然是O(n2),但工作模式就有稍微不同。它总是在列表的低端保持一个有序的子列表,后面的元素被逐个“插入”到前面的有序子表,这样有序的子表就逐渐变大。图4是插入排序的过程,阴影部分是排好序的子列表。开始的时候我们假设一个只有一个元素(在0位上)的列表而且是有序的,每次遍历的时候,从1到n-1的每个元素,与有序的子列表进行比较。当回顾已经排序的子表时候,比

2014-04-23 09:57:30 1375 1

翻译 python数据结构与算法 29-3 用哈希表实现映射

实现map抽象数据类型字曲是python里最有用的数据集合之一,回想一下,字典是一对键值-数据的组合,键值是用来查找相应的数据,我们把这种思想称为“映射”映射的抽象数据类型定义如下,这是一个无序的键-值对集合,键值总是唯一的以便建立与数据的对应关系。映射的操作方法如下:·            Map() 创建一个新的空的映射,返回一个空集合。·            put(

2014-04-22 14:41:02 9084

翻译 python数据结构与算法 29-2 冲突解决

冲突解决现在返回到前面提到的冲突问题。当两个元素的哈希值指向同一个槽位,就应该有个系统的方法把第二个元素放进表中。这个过程叫做“冲突解决”。我们前面说过的,如果哈希函数是完美的,不会发生冲突。但完美无缺的事很少,所以冲突解决就成为哈希算法中的重要部分。一种方法是为引起冲突的元素找到另一个位置。简单的做法就是从原来的位置开始,顺序向前查找,直到遇到一个空闲的槽位为止。注意的是我们可能需要

2014-04-22 13:27:19 1486

翻译 python数据结构与算法 29-1 哈希查找

前面的章节中,我们利用数据集中元素的相对位置信息来提高查找算法的性能。比如知道列表是有序的,可以使用二分查找。本节我们走得更远一些,创建一个数据结构,使得查找性能提高到O(1),称为哈希查找。

2014-04-22 08:20:16 5958 1

翻译 python数据结构与算法 31 选择排序

选择排序选择排序是冒泡排序的改进,一次遍历只做一次交换。它在一次遍历中找到最大的元素,结束时放到合适的位置,正如冒泡排序一样,一次遍历后最大的元素就位。第二次遍历后,第二大的元素就位,这样持续进行,需要n-1个遍历来为n个元素排序。图3显示了一整个的排序过程,一次遍历,剩余最大的元素被选中并正确就位,所以第一次选择了93,第二次选择77,第三次55,等等。后面是代码.d

2014-04-19 21:24:25 1282

翻译 python数据结构与算法30 冒泡排序

排序排序是将集合中的元素以某种规律放置的过程。例如,一个单词的列表,可以按字母顺序排列或按长度排列;一个城市的列表可以按人口,面积,邮政编码来排序。对有序列表的好处,前面在研究二分查找等案例时领略过的。有许多许多的排序算法被开发和研究,这也说明排序在计算机科学中的重要性。大数据量的排序要占用海量的计算资源,象查找一样,排序的算法效率与元素的数量有关,对小的数据集来说,复杂的排序方法不值

2014-04-18 19:54:10 1744

翻译 python数据结构与算法28 二分查找

二分查找在有序表的查找算法中,比较的过程用好了,可以从有序的特性中获得更多好处。在顺序查找中,与第一个元素比较之后,后面还有n-1个要比较。与顺序查找不同的是,二分查找从中间元素开始比对,如果中间元素就是要找的,完成;如果不是,就要考虑到有序的特性,如果要找的数据比中间项要大,那么列表的前半部分可以忽略,如果这个数据确实在列表里,那也一定在后半部分。在后半部分继续这个过程,从中间元素开

2014-04-17 15:52:09 1827

翻译 python数据结构与算法27 排序与查找 顺序查找

排序与查找目标Ø  理解并实现顺序查找和二分查找Ø  理解并实现选择排序,冒泡排序,合并排序,快速排序,插入排序和shell排序Ø  理解哈希表用于查找的技术Ø  介绍映射的抽象数据类型Ø  用哈希表实现映射的抽象数据类型查找现在我们转向排序与查找的内容,这一节研究查找,后半章研究排序。查找是在一个数据集里找到某个特定元素的算法过程。查找的结果可

2014-04-15 17:31:03 2420

转载 程序员成长攻略

前言你是否觉得自己从学校毕业的时候只做过小玩具一样的程序?走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍(朋友的抱怨:学校课程总是从理论出发,作业项目都看不出有什么实际作用,不如从工作中的需求出发)建议:不要乱买书,不要乱追新技术新名词,基础的东西经过很长时间积累而且还会在未来至少10年通用。回顾一下历史,看看历史上时间线上技术的发展,你才能明白明天会是什么样。一

2014-04-15 07:07:27 1682

翻译 python数据结构与算法 26 动态规划

动态规划很多程序的目的在数值优化。象计算两地之间的最短距离,一个点集的最佳拟合曲线,符合某些条件的最小集合等。这些问题有很多的求解方法,本节的目标就是向你展示不同的问题解决策略。动态规划就是优化问题的解决方法之一。找零问题是数值优化的经典问题之一,假设你是一个自动售货机厂商的程序员,公司决定,为每次找交易的找零,计算需要的最小的硬币数量,从而实现流程化。如果一个顾客投入了1美元,买了3

2014-04-14 15:54:26 3439 1

翻译 python数据结构与算法 25 探索迷宫

探索迷宫这一节我们研究与机器人探索有关的问题:怎样走出迷宫?如果在宿舍用过真空吸尘器(哪位不是大学生?),就可以用本节学到的知识给它重新编程。我们的问题是要帮助小乌龟走出一个虚拟迷宫。迷宫问题可追溯到古希腊神话,提修斯被派到一个迷宫去杀死牛头怪,提修斯用线球一边走一边放线,在完成任务以后沿着线走出来。在现在这个问题中,我们假设小乌龟被扔到迷宫的某处,必须找到出口以逃出生死。如图2所示。

2014-04-04 13:47:23 8391 3

原创 socket编程,半双工对话

这是一个初级的实现,因为只能在客户端和服务器之间对话服务端程序:# Echo server programimport socketHOST = ''  # Symbolic name meaning all available interfacesPORT = 50007  # Arbitrary non-privileged ports = socket.soc

2014-04-02 19:37:48 1402

转载 给新手高管的10条建议

In my old age, I would like to believe that some of the things I have learned might help those who are now plowing the fields I once worked. So here are 10 suggestions I wish someone had given me when

2014-04-01 08:04:00 1722

翻译 python数据结构与算法 24 汉诺塔问题(河内塔问题)

复杂递归问题前面几节我们研究了几个相对比较容易的问题,有些有趣的图形问题可以在脑子里建立模型,让我们了解递归的过程。这一节开始我们要研究几个用迭代法比较难而用递归比较容易的问题,然后是一个看起来很简单但实际上很难的问题来结束。河内塔问题河内塔(汉诺塔的译法比较通行,但不对)问题是法国数学家Edouard Lucas于1883年受一个传说的启示提出的。据说是印度神庙里传授给年轻僧侣的

2014-03-31 15:12:01 2641

翻译 python数据结构与算法 23 宾斯基三角形

宾斯基三角形另一个演示自相似分形图的是宾斯基三角形,如图3所示。宾斯基三角形说明了一种三通递归算法。这种图形手绘非常简单。从一个大三角形开始,连接三个边的中点,把三角形分成4个。不管中间的三角形,把其余三个再次应用前述的过程。每一次都新建一些三角形,再把每个同样的过程递归应用到小三角形上,只要你的铅笔够细,这个过程可以无限进行下去。在读下面的代码之前,一定要拿出笔来,亲手画一遍。

2014-03-30 20:15:38 5060

翻译 python数据结构与算法 22 递归图形

递归图形上节中我们已经知道有些问题,如果用递归解决变得非常容易。但是仍然很难在大脑里形成一种模型或可视化的方法,让我们直觉地明白函数递归过程到底发生了什么。这一节我们引入几个例子,用递归的方法画几个有趣的图形,通过观察图形的生成,也许能帮助你洞察递归的过程,从而学会递归的方法。我们要用的工具是python的图形模块turtle,这个模块伴随python的全部版本而且很容易使用,语法也简

2014-03-26 16:20:29 3935

翻译 python数据结构与算法 21 递归的实现和应用

把一个整数变成一个任意进制的字符串假设你要把一个整数转变成一个从2到16进制的数字组成的字符串,例如,把整数10变成十进制是“10”,二进制就是“1010”。虽然很多算法能够实现,包括在栈的应用中我们讨论过一个算法,但是递归的算法仍然是最简洁的。先来看个例子,十进制数769。我们有一个字符串,含有10个数字的字符串,类似covString=”0123456789”。那么把一个小于10的

2014-03-25 15:50:58 1965

翻译 python数据结构与算法 20 递归和递归三定律

递归本章目标理解很多复杂问题,如果不用递归就很难解决,用递归也许非常简单 学会怎样进行递归编程 理解并应用递归三定律 理解递归也是一种迭代 建立一个问题的递归方法 理解递归在计算机系统内是如何进行的。什么是递归?递归是解决问题的一种方法,它把问题拆解得越来越小,直到变得非常容易,一般情况下,递归过程要包括一个自我访问的函数。与表面看起来似乎不一样,其实递归允许我们写出非常简

2014-03-24 17:13:56 3658 3

翻译 python数据结构与算法 19有序列表 ADT及实现

有序列表ADT我们开始讨论有序列表。就如上节中我们讨论的列表,如果数据项按升序排列,就要写成17,26,31,54,77,93。17是最小的,就是第一个数据项,93是最大的,就占最后的位置。有序列表的数据结构是数据项的集合,数据项之间保持其相对位置,而且这个位置是根据数据项的某个潜在特征排列的。典型的排列方法一般就是升序或降序或其他定义好的比较方法。有序列表的操作大部分与无序列表很象。

2014-03-24 12:30:19 3697

原创 关于python数据结构与算法一书译稿的声明

发现有的网站在转载我的译稿,且不注明出处和译者。作者不得不声明一下:因为译者并没有得到原作者授权,只是根据网上公开的资料进行学习记录。所以版权归原作者或其中文版授权方。转发者请慎重。我本人只是边读边记录,并未校对。在得到授权或获得出版邀请之前,也没有精校的计划。阅读者也请慎重。如果原作者或出版社有合作计划,请联系QQ71048190

2014-03-23 22:42:10 3246

翻译 python数据结构与算法 18 无序列表的实现

无序列表的实现:链表为了实现无序列表,先要实现我们通常称为“链表”的结构。前面说过我们保持列表元素之间的相对位置。当然,在连续存储的情况下不需要额外保存相对位置(如数组),但是如果数据以图1这样的随机方式保存,这就需要为每个元素配置额外的信息,指明它下一个元素的位置(图2),这样每个元素的相对位置,就通过一个元素到另一个元素的链接实现了。图1 元素不固定

2014-03-22 22:26:41 3665 1

原创 Qt设计师与主程序调用方法

本能地对手写代码作UI不感冒。因为UI要作专业设计啊,你用代码写的同事怎么美化?但是对设计师作的ui文件,又不太会用。勉强套一个代码的样式,对一个ui会用了,有两个代码就又乱了。rapid gui programing with python and qt第五章,终于有了一个主窗口和子窗口的例子。虽然书上用的代码,我用设计师也做出来了。先画好两个UI,只布元素,

2014-03-22 17:02:40 2081 1

原创 汇率计算器的代码

"""代码来自Rapid GUI with PyQt4,时间变了,很多东西的变化,调试好累"""__author__ = 'dd'import sysimport urllib.request  # 注意python3.3 的urllib格式变化。from PyQt4.QtCore import *from PyQt4.QtGui import *class

2014-03-22 10:48:41 2426

翻译 一个计算器的代码,只做注释

"""rapid_GUI program with pyqt,这本书的一些代码,整理一下,文字全部体现在注释里。"""from __future__ import divisionfrom PyQt4.QtCore import *from PyQt4.QtGui import *from math import *import sysclass Form(

2014-03-21 22:30:06 1729

翻译 python数据结构与算法 17 列表

列表回顾我们对简单数据结构的讨论,一直都是用了python语言的列表来实现抽象数据类型。虽然列表是是功能强大,使用简单的集合工具,也被广泛使用,不过,不是所有的编程语言都包括了列表工具。这种情况下,列表的概念就需要程序员自己实现。列表是是一种数据集合,其数据元素保持之间的相对位置,更清楚地说,我们把这种列表叫做无序列表,这种列表有第1个元素,第2个元素,第3个元素等等。我们能够引用列表

2014-03-20 16:54:19 1296

翻译 python数据结构与算法 16 队列应用之 打印任务

打印机任务队列的模拟程序,python语言,队列的应用

2014-03-20 12:46:28 3158 2

原创 PyQt4之对话框示例

话说PyQt4,是不是版本有点乱啊,一个功能学了几个地方,都不一样,有的没反应,有的出错,总算拼出来了。示例文档是表现这个对话框当然是用designer画出来的,转换成py文件。下面是主程序代码import sysfrom PyQt4 import QtGui, QtCorefrom pyqt.dialog_ui import Ui_notepad  #

2014-03-19 21:28:58 2049

空空如也

空空如也

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

TA关注的人

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