Python
道法—自然
不积跬步,无以至千里;不积小流,无以成江海。——荀子
展开
-
数据结构与算法-排序算法
排序与搜索排序算法(英语:Sorting algorithm)是一种能将一串数据依照特定顺序进行排列的一种算法。排序算法的稳定性稳定性:稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。当相等的元素是无法分辨的,比如像是整数,稳定性并不是一个问题。然而,假设以下的数对将要以他们的第一个数字来排序。(4, 1) (3, 1) (3, 7)(5, 6)在原创 2020-08-10 08:28:06 · 262 阅读 · 0 评论 -
数据结构与算法-队列
队列队列(queue)是只允许在一端进行插入操作,而在另一端进行删除操作的线性表。队列是一种先进先出的(First In First Out)的线性表,简称FIFO。允许插入的一端为队尾,允许删除的一端为队头。队列不允许在中间部位进行操作!假设队列是q=(a1,a2,……,an),那么a1就是队头元素,而an是队尾元素。这样我们就可以删除时,总是从a1开始,而插入时,总是在队列最后。这也比较符合我们通常生活中的习惯,排在第一个的优先出列,最后来的当然排在队伍最后。队列的实现同栈一样,队列原创 2020-08-09 21:09:38 · 191 阅读 · 0 评论 -
数据结构与算法-栈
栈栈(stack),有些地方称为堆栈,是一种容器,可存入数据元素、访问元素、删除元素,它的特点在于只能允许在容器的一端(称为栈顶端指标,英语:top)进行加入数据(英语:push)和输出数据(英语:pop)的运算。没有了位置概念,保证任何时候可以访问、删除的元素都是此前最后存入的那个元素,确定了一种默认的访问顺序。由于栈数据结构只允许在一端进行操作,因而按照后进先出(LIFO, Last In First Out)的原理运作。栈结构实现栈可以用顺序表实现,也可以用链表实现。栈的操作原创 2020-08-09 20:43:15 · 148 阅读 · 0 评论 -
数据结构与算法-队列的代码实现
class Queue(object): """队列""" def __init__(self): self.__list = [] def enqueue(self,item): """往队列中添加元素""" self.__list.append(item) def dequeue(self): """从队列头部删除元素""" return self.__list.pop(0) .原创 2020-08-09 16:02:37 · 217 阅读 · 0 评论 -
数据结构与算法-双向链表
双向链表一种更复杂的链表是“双向链表”或“双面链表”。每个节点有两个链接:一个指向前一个节点,当此节点为第一个节点时,指向空值;而另一个指向下一个节点,当此节点为最后一个节点时,指向空值。操作is_empty() 链表是否为空 length() 链表长度 travel() 遍历链表 add(item) 链表头部添加 append(item) 链表尾部添加 insert(pos, item) 指定位置添加 remove(item) 删除节点 search(item) 查找节点是否原创 2020-08-09 13:43:26 · 246 阅读 · 0 评论 -
数据结构与算法-单循环链表
单向循环链表单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。操作is_empty() 判断链表是否为空 length() 返回链表的长度 travel() 遍历 add(item) 在头部添加一个节点 append(item) 在尾部添加一个节点 insert(pos, item) 在指定位置pos添加节点 remove(item) 删除一个节点 search(item) 查找节点是否存在实现class Node(ob原创 2020-08-09 11:39:07 · 359 阅读 · 0 评论 -
数据结构与算法
链表为什么需要链表顺序表的构建需要预先知道数据大小来申请连续的存储空间,而在进行扩充时又需要进行数据的搬迁,所以使用起来并不是很灵活。链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。链表的定义链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是不像顺序表一样连续存储数据,而是在每一个节点(数据存储单元)里存放下一个节点的位置信息(即地址)。单向链表单向链表也叫单链表,是链表中最简单的一种形式,它的每个节点包含两个域,一个信息域(元素域)和一个原创 2020-08-08 22:53:09 · 99 阅读 · 0 评论 -
数据结构与算法-单链表结构的代码实现
代码实现:class Node(object): """节点""" def __init__(self, elem): self.elem = elem self.next = Noneclass SingleLinkedNode(object): """单链表的结点""" def __init__(self,node=None): # _item存储数据元素 self._head = None .原创 2020-08-08 22:50:02 · 150 阅读 · 0 评论 -
数据结构与算大-顺序表
顺序表在程序中,经常需要将一组(通常是同为某个类型的)数据元素作为整体管理和使用,需要创建这种元素组,用变量记录它们,传进传出函数等。一组数据中包含的元素个数可能发生变化(可以增加或删除元素)。对于这种需求,最简单的解决方案便是将这样一组元素看成一个序列,用元素在序列里的位置和顺序,表示实际应用中的某种有意义的信息,或者表示数据之间的某种关系。这样的一组序列元素的组织形式,我们可以将其抽象为线性表。一个线性表是某类元素的一个集合,还记录着元素之间的一种顺序关系。线性表是最基本的数据结构之一,在实原创 2020-08-08 21:17:43 · 118 阅读 · 0 评论 -
数据结构与算法的引入概念
数据结构与算法(Python)Why?我们举一个可能不太恰当的例子:如果将最终写好运行的程序比作战场,我们码农便是指挥作战的将军,而我们所写的代码便是士兵和武器。那么数据结构和算法是什么?答曰:兵法!我们可以不看兵法在战场上肉搏,如此,可能会胜利,可能会失败。即使胜利,可能也会付出巨大的代价。我们写程序亦然:没有看过数据结构和算法,有时面对问题可能会没有任何思路,不知如何下手去解决;大部分时间可能解决了问题,可是对程序运行的效率和开销没有意识,性能低下;有时会借助别人开发的利器暂时...原创 2020-08-08 20:53:55 · 227 阅读 · 0 评论 -
使用Python操作MySQL数据库的封装类
#coding:utf-8import pymysqlclass MysqlHelper(object): config={ "host":"localhost", "user":"root", "password":"123123", "db":"db_test", "charset":"utf8" } def __init__(self): self.connection=N.原创 2020-08-06 07:47:49 · 678 阅读 · 0 评论 -
用Python操作MySQL数据库代码实现
#coding:utf-8import pymysqlimport datetime#创建数据库连接connection = pymysql.connect("localhost","root","123123","test")# 创建 cursorcursor =connection.cursor()sql="select * from emp"#cursor执行sqlcursor.execute(sql)# 获取cursor执行sql之后第一行结果emp = cur.原创 2020-08-05 23:09:09 · 356 阅读 · 0 评论 -
python中numpy库介绍
Numpy1.Numpy是什么?NumPy(Numerical Python的缩写)是一个开源的Python科学计算库。使用NumPy,就可以很自然地使用数组和矩阵。 NumPy包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。这个库的前身是1995年就开始开发的一个用于数组运算的库。经过了长时间的发展,基本上成了绝大部分Python科学计算的基础包,当然也包括所有提供Python接口的深度学习框架。2.为什么使用Numpy?a)便捷:对于同样的数值计算任务,使用Nu.原创 2020-08-05 23:07:01 · 1351 阅读 · 0 评论 -
Python中单项链表代码实现
#coding:utf-8class Node(object): """链表结构的节点对象""" def __init__(self,item): self.item=item self.next=Noneclass SingleLinkedList(object): def __init__(self): self.__head=None def insert_head(self,item): .原创 2020-08-05 23:04:53 · 144 阅读 · 0 评论 -
Python中的二叉树遍历
#coding:utf-8class Node(object): """二叉树中的节点对象""" def __init__(self,item): self.item=item self.lchild=None self.rchild=Noneclass BinaryTree(object): """二叉树""" def __init__(self): self.root=None def.原创 2020-08-05 23:03:49 · 194 阅读 · 0 评论 -
二分查找
#coding:utf-8def search(myList,item,first,last): if first>last: return -1 mid_index=(first+last)//2 if myList[mid_index] ==item: return mid_index elif myList[mid_index] > item: return search(myList,item,first.原创 2020-08-05 23:02:46 · 116 阅读 · 0 评论 -
快速排序算法
"""1、快速排序法最优时间复杂度:nlog2n == o(nlogn)2、快速排序最坏的时间复杂度:n**2 === o(n**2),当你每一趟选择的中间值恰好最小(大)3、快排怎么调优: 想办法选择一个相对靠中间的值作为中间值 1、随机法:每次从列表中随机选择一个值作为中间值; 2、选择列表中第一个值,和最后一个值,和中间一个值,比较这三个只。从三个值中选择一个中间值作为快排的中间值4、快排是稳定的吗?不稳定的。"""def quick_sort(myList,f.原创 2020-08-05 22:32:10 · 140 阅读 · 0 评论 -
选择排序法
"""每一趟从列表中选择一个最小的值,然后和第一个值交换位置。所以第一趟比较了n次以此类推第二趟比较了n-1一共比较了多少趟:n-1趟选择排序的时间复杂度为n趟*每一趟比较的n次。所以最坏时间复杂度为O(n**2)"""def select_sort(myList): n=len(myList) for j in range(1,n): min_index=j-1 #min是列表中最小值的下标位 for i in range(j,n): .原创 2020-08-05 22:07:16 · 119 阅读 · 0 评论 -
用Python写冒泡排序
"""冒泡排序法:比较n-1趟,每一趟要比较n-2次一共比较的步骤:(n-1)**2 ==冒泡排序的时间复杂度最优时间复杂度:n-1 == o(n)最坏时间复杂度为:(n-1)**2 == o(n**2)下标为i: list[i],list[i+1] = list[i+1],list[i]-->(1,2) = (2,1)"""def bubble_sort(myList): n=len(myList) flag=True for j in range(1,.原创 2020-08-05 20:48:35 · 384 阅读 · 0 评论 -
Python中队列实现
class Queue(object): """队列的数据结构,队列就是容器,先进先出""" def __init__(self): self.__mylist=[] def add(self,item): """往队列中放入元素,假设选择列表的尾部作为队列的插入端""" self.__mylist.append(item) #在列表中,如果是push,则是从尾端推进去的,顶部作为尾端,pop则是从头部取出的;但是使用add.原创 2020-08-05 20:28:45 · 317 阅读 · 0 评论 -
python中对于栈的操作
class Stack(object): """栈的数据结构,栈就是容器,先进后出""" def __init__(self): self.__mylist=[] def push(self,item): """压栈:往栈顶放入元素,假设选择列表的尾部作为栈顶""" self.__mylist.append(item) def pop(self): """从栈顶弹出一个元素""" return.原创 2020-08-05 19:39:13 · 386 阅读 · 0 评论 -
Python中的函数
#给予一个数列长度,生成一个斐波那契数列;eg:1,1,2,3,5,8def createNumList(l): attr=[] def getNum(i): if(i<2): return 1 else: return getNum(i-1)+getNum(i-2) for i in range(0,l): attr.append(getNum(i)) return a.原创 2020-08-03 08:49:00 · 115 阅读 · 0 评论 -
使用Python书写九九乘法表
#打印九九乘法表n=1while n<10: c=1 while c<=n: print("%d * %d=%d"%(c,n,c*n),end="\t") if c==n: print() c+=1 n+=1原创 2020-08-03 07:40:40 · 160 阅读 · 0 评论 -
Python3环境的安装
下载https://www.python.org/downloads/解压tar -zxvf Python-3.6.0.tgz修改名字mv Python-3.6.0 python创建安装文件目录mkdir /app/python3安装cd /app/python./configure --prefix=/app/python3makemake ins...原创 2019-01-01 22:23:02 · 194 阅读 · 0 评论 -
安装Python3、安装setuptools,安装pip
1、安装Python3.0下载Python3.0的包tar解压安装新建文件夹:/usr/local下进入Python3,执行:./configure --prefix=目录测试:python32、安装setup tools下载,解压安装,进入,之后执行:Python setup.py buildPython setup.py install3、安装pip...原创 2019-01-02 00:20:28 · 1591 阅读 · 0 评论 -
Linux系统下Python3的安装
由于centos7原本就安装了Python2,而且这个Python2不能被删除,因为有很多系统命令,比如yum都要用到。[root@VM_105_217_centos Python-3.6.2]# pythonPython 2.7.5 (default, Aug 4 2017, 00:39:18)[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)] on li...原创 2019-02-25 15:39:35 · 233 阅读 · 0 评论 -
Python中init方法和del方法的使用
import timeclass Animal(object): def __init__(self,name): print("init 方法被调用") self.name = name def __del__(self): print("del 方法被调用") print("%s对象马上被干掉了"%self.n...原创 2018-11-12 00:17:44 · 765 阅读 · 0 评论 -
Python中的类与实例属性
类属性与实例属性在了解了类基本的东西之后,下面看一下python中这几个概念的区别先来谈一下类属性和实例属性在前面的例子中我们接触到的就是实例属性(对象属性),顾名思义,类属性就是类对象所拥有的属性,它被所有类对象的实例对象所共有,在内存中只存在一个副本,这个和C++,java中类的静态成员变量有点类似。对于公有的类属性,在类外可以通过类对象和实例对象访问。 类属性:所属类,这...原创 2018-11-12 00:24:31 · 157 阅读 · 0 评论 -
Python中的多态
classF1(object): def show(self): print'F1.show' classS1(F1): def show(self): print'S1.show' classS2(F1): defshow(self): print'S2.show' # 由于在Java或C#中定义函数参数时,必须指...原创 2018-11-12 00:23:52 · 124 阅读 · 0 评论 -
Python中的多继承
# 定义一个父类classA:def printA(self): print('----A----') # 定义一个父类classB:def printB(self): print('----B----') # 定义一个子类,继承自A、Bclass C(A,B):def printC(self): print('----C----') obj_C = C() obj_C...原创 2018-11-12 00:22:58 · 251 阅读 · 0 评论 -
Python中的继承
ass Cat(object):# def __init__(self, name = '动物',color = "白色"):# self.name = name# self.color = color# def test(self):# print(self.__name)# print(self.co...原创 2018-11-12 00:18:12 · 148 阅读 · 0 评论 -
Python中的取值赋值方法
class People(object): def __init__(self,name): self.__name = name def getName(self): return self.__name def setName(self,newName): if len(newName)>=5: ...原创 2018-11-12 00:18:01 · 985 阅读 · 0 评论 -
Python中的str方法
class Car(object): def __init__(self, newWwheelNum,newColor): self.wheel = newWwheelNum self.color = newColor def __str__(self): msg = "嘿,我的颜色是:"+self.color+"我有"+str(s...原创 2018-11-12 00:17:53 · 704 阅读 · 0 评论 -
凝思系统安装Python环境遇到的问题及解决
1.创建临时目录,存储安装时需要用的过程文件[root@localhost ~]# cd /usr[root@localhost usr]# mkdir tools[root@localhost usr]# cd tools2.先行安装python所依赖的模块(重要,必须执行)yum -y install zlib-devel bzip2-devel openssl-devel nc...原创 2019-02-26 10:12:48 · 2695 阅读 · 0 评论 -
Ideal中安装python环境
首先是安装python与ideal,安装完成之后,配置环境变量打开ideal,之后file——》settings——plugins安装完成之后重启ideal重启之后,选择新建python项目project在自己建立的project下可以建立自己的model一路下一步再在自己建立的model下建立file文件建立好文件之后,写代码,然后右键选择...原创 2019-03-31 21:51:05 · 2506 阅读 · 0 评论 -
Idea安装python插件
喜欢用IDE做开发的程序员必然不会错过JetBrains家族的IDE。JB出品,必属精品,任何一款产品都是IDE中的神兵利器。在它们中间,最为著名的当属Intellij Idea。它原是Java语言开发的集成环境,但是它的旗舰版,经过改造以后可以成为当今世界绝大多数语言的理想IDE。现在我们来谈谈如何利用它来构建python的IDE。题外:为什么不直接用pycharm?pycharm...原创 2019-03-31 21:55:16 · 1959 阅读 · 0 评论 -
python利用setup.py手动安装第三方类库
python 利用 setup.py 手动安装第三方类库python 利用 setup.py 手动安装第三方类库由于我在mac使用时,装了python3,默认有python2的环境,使用 pip 安装第三方类库时,老是安装到 python2的环境上;在想办法安装到python3上时,费了不少力气;在家里的windows电脑上安装了python3,在使用pip安装类库时,虽然安装在了py...原创 2019-05-24 01:50:34 · 4444 阅读 · 0 评论 -
./configure && make && make install 编译安装和卸载 (Linux)
正常的编译安装/卸载:源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)。configure文件是一个可执行的脚本文件,它有很多选项,在待安装的源码目录下使用命令./configure –help可以输出详细的选项列表。其中--prefix选项是配置安装目录,如果不配置该选项,安装后可执行文件默认放在/usr /loc...原创 2019-05-24 01:44:10 · 341 阅读 · 0 评论 -
pip install安装模型库所报的错及pip安装模型库的原理
root@linx:/home/d5000/fujian/ZhongKeRuan/soft/libffi-3.2.1# pip install pyaudioDEPRECATION: Python 2.7 will reach the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 w...原创 2019-05-24 00:40:32 · 1740 阅读 · 0 评论 -
python项目部署
William:检查pip版本gcc版本g++版本python版本系统版本包的版本William:安装Python安装pip安装setuptools原创 2019-05-23 01:07:46 · 189 阅读 · 0 评论