
python编程
hxpjava1
毕业于武汉理工大学计算机系,12年开发架构经验,擅长java,k8s
展开
-
那些在线的Jupyter
Jupyter如果你是python的初学者, 非常推荐Jupyter.Juypter是一个交互式的编程环境, 号称The Notebook has support for over 40 programming languages, including Python, R, Julia, and Scala.支持超过40种语言, 其中包括Python, R, Julia和Sc...转载 2019-02-04 15:16:59 · 2552 阅读 · 0 评论 -
Python Fileinput 模块
fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行。【默认格式】 fileinput.input (files='filename', inplace=False, backup='', bufsize=0, mode='r', openhook=None)1 files: #文件的路径列转载 2017-06-17 15:24:21 · 377 阅读 · 0 评论 -
python数据格式化之pprint
简介pprint模块 提供了打印出任何Python数据结构类和方法。模块方法:1.class pprint.PrettyPrinter(indent=1,width=80,depth=None, stream=None) 创建一个PrettyPrinter对象 indent --- 缩进,width --- 一行最大宽度, depth --转载 2017-06-17 13:56:33 · 9811 阅读 · 1 评论 -
Python的object和type理解
1、节选自Python Documentation 3.5.2的部分解释Objects are Python’s abstraction for data. All data in a Python program is represented by objects or by relations between objects. (In a sense, and in conforman转载 2017-04-21 20:00:29 · 721 阅读 · 0 评论 -
Python——类属性/实例属性
一、类属性 类属性仅与其被定义的类相绑定。类数据属性仅当需要有更加“静态”数据类型时才变得有用,它和任何实例都无关。 1. 类的数据属性 数据属性仅仅是所定义的类的变量。这种属性已被 OO 程序员所熟悉,即静态变量,或者是静态数据。它们表示这些数据是与他们所属的类对象绑定的,不依赖于任何类实例。静态成员通常仅用来跟踪与类相关的值。转载 2017-04-21 19:50:50 · 419 阅读 · 0 评论 -
python中的类属性和实例属性
属性就是属于一个对象的数据或者函数,我们可以通过句点(.)来访问属性,同时 Python 还支持在运作中添加和修改属性。 而数据变量,类似于: name = 'scolia' 这样的形式,会称其为字段;而类里面的函数,又称为方法。而方法又分为实例方法,类方法和静态方法,这些我们以后在讲。 我们先来看看类里面的普通字段:class Test(object):转载 2017-04-21 19:46:43 · 559 阅读 · 0 评论 -
Python运算符重载
在Python语言中提供了类似于C++的运算符重在功能:一下为Python运算符重在调用的方法如下:Method Overloads Call for__init__ 构造函数 X=Class()__del__ 析构函数 对象销毁__add__ +转载 2017-01-07 12:46:28 · 329 阅读 · 0 评论 -
微软100题第9题(判断整数序列是不是二元查找树的后序遍历结果)
1scala版本package ms/** * 第9题(树)判断整数序列是不是二元查找树的后序遍历结果题目:输入一个整数数组,判断该数组是不是某二元查找树的后序遍历的结果。如果是返回true,否则返回false。例如输入5、7、6、9、11、10、8,由于这一整数序列是如下树的后序遍历结果: 8 / / 6 10 / / /原创 2017-01-17 14:37:03 · 564 阅读 · 0 评论 -
python重载
说起python重载,大家学过其他的语言比如说C#语言的话,应该知道有方法重载和运算符重载的概念,但是python重载的话,有它自己的特殊性,下面我说说自己的一点看法,希望大家踊跃拍砖。python 的重载主要包括方法重载和运算符重载。1.python 方法重载: 其他的语言一般对于方法重载的话,主要是根据参数的类型不同或者是数量不同来区分同名的方法。而python则比较特殊,它本转载 2017-02-10 09:41:19 · 564 阅读 · 0 评论 -
微软100题21题(要求将其中所有的可能组合列出来)
scala版本package msimport scala.collection.mutable.ListBuffer/** * 第21题(数组)2010年中兴面试题编程求解:输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来. */class ExtractSum{ var result:Li原创 2017-01-19 11:04:23 · 546 阅读 · 0 评论 -
微软100题第18题(求出在这个圆圈中剩下的最后一个数字)
1scala版本package ms/** * 第18题(数组):题目:n个数字(0,1,…,n-1)形成一个圆圈,从数字0开始,每次从这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,从被删除数字的下一个继续删除第m个数字。求出在这个圆圈中剩下的最后一个数字。 */class Circle(){ var start=N原创 2017-01-18 15:41:21 · 531 阅读 · 0 评论 -
微软100题第16题(输入一颗二元树,从上往下按层打印树的每个结点,同一层中按照从左往右的顺序打印)
1python版本'''Created on 2017-1-18@author: admin'''from _overlapped import NULLclass BinaryTree: def __init__(self): self.root=self.Node(0) self.root.left=self.Node(1)原创 2017-01-18 14:14:45 · 885 阅读 · 0 评论 -
微软100题15题(输入一颗二元查找树,将该树转换为它的镜像)
1scala版本package ms/** * 第15题(树):题目:输入一颗二元查找树,将该树转换为它的镜像,即在转换后的二元查找树中,左子树的结点都大于右子树的结点。用递归和循环两种方法完成树的镜像转换。 例如输入: 8 / / 6 10 // //5 7 9 11输出: 8 / / 10 6 // //11 9 7 5定义二元查找树的结点原创 2017-01-18 12:52:21 · 650 阅读 · 0 评论 -
使用PyQt来编写第一个Python GUI程序
简介许多人在学习如何创建一个 GUI 应用的时候都感到十分的困难。其中最重要的原因是,他们不知道应该从何下手。大多数的教程都只有文字,但事实上仅仅依靠文字很难学会 GUI 编程,因为 GUI 应用大多数都是基于视觉上的。我们将通过创建一个简单的 GUI 应用来避免上面提到的这些问题,并且向你展示着手开始这件事其实是多么的简单。一旦你明白了这些基本的知识,以后的进一步学习将会变得十分转载 2017-06-17 15:33:12 · 801 阅读 · 0 评论 -
python开发_python操作mysql数据库
如果你还没有准备好开发环境,你不妨花上一小点时间去看看:python开发_mysqldb安装本篇blog是有关python操作mysql数据的相关内容。我做了一个demo:先看运行效果:mysql中情况:======================================================代码部分:===转载 2017-06-17 18:51:13 · 469 阅读 · 0 评论 -
Python Twisted介绍
Twisted是用Python实现的基于事件驱动的网络引擎框架。Twisted诞生于2000年初,在当时的网络游戏开发者看来,无论他们使用哪种语言,手中都鲜有可兼顾扩展性及跨平台的网络库。Twisted的作者试图在当时现有的环境下开发游戏,这一步走的非常艰难,他们迫切地需要一个可扩展性高、基于事件驱动、跨平台的网络开发框架,为此他们决定自己实现一个,并从那些之前的游戏和网络应用程序的开发者中学习,转载 2017-06-17 19:11:18 · 487 阅读 · 0 评论 -
【ValueError: math domain error】
摘要:写python程序时,出现错误:ValueError:mathdomainerror原因:某些操作不符合数学定义,如对负数取对数,对负数开平方。 写python程序时,出现错误: ValueError: math domain error 原因:某些操作不符合数学定义,如对负数取对数,对负数开平方。 ...转载 2019-01-27 16:58:25 · 2516 阅读 · 0 评论 -
安装theano时候发现报错:cannot install ''numpy'.It is a distutils installed project and thus we cannot ...
发现我安装theano的时候需要numpy需要1.9以上版本,而我之前自带的numpy是1.8版本,所以版本有问题。根本原因是theano需要的numpy版本不符合要求,但是numpy已经安装过了,所以无法进行直接卸载。提供两个解决方法:解决方法1:直接找到numpy的安装目录,直接通过sudo rm 去对文件夹进行删除。(如果找不到文件夹,可以通过下面截图方式,一般都在dist-packag...转载 2019-01-27 16:58:39 · 328 阅读 · 0 评论 -
/usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22)
/usr/lib/python2.7/site-packages/requests/__init__.py:80: RequestsDependencyWarning: urllib3 (1.22)[root@iZwz9bhan5nqzh979qokrkZ ~]# salt '*' cmd.run 'ls -l'/usr/lib/python2.7/site-packages/request...转载 2019-01-27 16:59:00 · 1457 阅读 · 0 评论 -
Celery 框架学习笔记
学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式。生产者消费者模式在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为消费者。单单抽象出生产者和消费者,还够不上是生产者消费者模式。该模式还需要有一个缓冲区处于生产...转载 2019-01-27 16:59:25 · 250 阅读 · 1 评论 -
Centos7安装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 linux...转载 2018-06-13 11:03:34 · 455 阅读 · 0 评论 -
【python】pycharm中文字符的问题
变量中含有中文字符或者print中含有中文字符时会报错变量:str = "你好";1或print:print "你好";1控制台显示为:G:\python\python.exe C:/Users/llz/PycharmProjects/HelloWord/New.py File "C:/Users/llz/PycharmProj转载 2017-07-07 23:02:11 · 2374 阅读 · 0 评论 -
Python之数组(array)使用方法总结与Numpy中的数组用法
Python: array使用方法: Type code C Type Minimum size in bytes ‘c’ character 1 ‘b’ signed integer 1 ‘B’ unsigned integer 1 ‘u’ Unicode character 2 ‘h’ signed intege转载 2017-06-18 22:33:33 · 1793 阅读 · 0 评论 -
python中的list和array的不同之处
Python中的list和array的不同之处 python中的list是python的内置数据类型,list中的数据类不必相同的,而array的中的类型必须全部相同。在list中的数据类型保存的是数据的存放的地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储和消耗cpu。转载 2017-06-18 22:30:26 · 1549 阅读 · 0 评论 -
python中计时工具timeit模块的基本用法
测试一行代码的运行时间,在Python中比较方便,可以直接使用timeit:Timer 类:__init__(stmt="pass", setup="pass", timer=default_timer) stmt 是执行语句,setup 是导入执行语句环境print_exc(file=None)timeit(number=default_number)转载 2017-06-18 22:03:46 · 782 阅读 · 0 评论 -
Python Socket 网络编程
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页、QQ 聊天、收发 email 等等。要解决网络上两台主机之间的进程通信问题,首先要唯一标识该进程,在 TCP/IP 网络协议中,就是通过 (IP地址,协议,端口号) 三元组来标识进程的,解决了进程标识问题,转载 2017-06-17 20:11:45 · 400 阅读 · 0 评论 -
《Python网络编程基础》笔记(一)----底层网络
一. 客户端,服务器网络1.TCP是一些协议的合集。Internet是在一些共享的线路上发送数据的。2.TCP把你要发送的数据流分解成很多小信息包在Internet上传输。为了实现这个信息包的机会,TCP需要(1)识别远程机器(IP地址)(2)识别机器的通信程序(端口号)(3)仅仅为了设计需要/用户需求(DNS,用DNS替代IP)3.TCP可靠性的实现:(1转载 2017-06-17 20:05:59 · 655 阅读 · 0 评论 -
对比Tornado和Twisted
做Python的人,一定知道两个性能优秀的异步网络框架:tornado,和twisted。 那么,这两个著名的框架,又有什么异同呢?tornado和twisted,我都用在几个游戏项目中,做过后端,觉得它俩其实大同小异。今天花一些时间,来分析它们之间的异同。如果有误,请大家指正:对比结果: tornado 和 twisted,作为异步框架,是转载 2017-06-17 19:12:46 · 1058 阅读 · 0 评论 -
微软100题14题(在数组中查找两个数,使得它们的和正好是输入的那个数字)
1scala版本package ms/** * 第14题(数组):题目:输入一个已经按升序排序过的数组和一个数字,在数组中查找两个数,使得它们的和正好是输入的那个数字。要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。例如输入数组1、2、4、7、11、15和数字15。由于4+11=15,因此输出4和11 */object MicroSoft014 {原创 2017-01-18 11:39:41 · 1100 阅读 · 0 评论 -
微软100题13题(输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针)
1python版本'''Created on 2017-1-18@author: admin第13题(链表):题目:输入一个单向链表,输出该链表中倒数第k个结点。链表的倒数第0个结点为链表的尾指针。链表结点定义如下: struct ListNode{ int m_nKey; ListNode* m_pNext;};'''from _overlapped imp原创 2017-01-18 10:15:26 · 764 阅读 · 0 评论 -
微软100题第11题(求二叉树中节点的最大距离)
1scala版本package msimport scala.util.Random/** * 第11题(树)求二叉树中节点的最大距离...如果我们把二叉树看成一个图,父子节点之间的连线看成是双向的,我们姑且定义"距离"为两节点之间边的个数。写一个程序,求一棵二叉树中相距最远的两个节点之间的距离。 * */class RandomBinaryTree{ var r原创 2017-01-17 17:10:51 · 761 阅读 · 0 评论 -
python实现希尔排序
'''Created on 2017-1-6@author: admin'''def shellSort(source): gap=len(source) while gap//2!=0: insertSort(source,gap//2) gap=gap//2def insertSort(source,gap): for i原创 2017-01-06 14:48:42 · 645 阅读 · 0 评论 -
选择排序python实现
'''Created on 2017-1-6@author: admin'''def selectSort(source): for i in range(len(source)): mins=source[i] index=i for j in range(i,len(source)): if(mins>s原创 2017-01-06 14:10:35 · 588 阅读 · 0 评论 -
python实现插入排序
'''Created on 2017-1-6@author: admin'''def insertSort(source): for i in range(1,len(source)): for j in reversed(range(1,i+1)): if source[j]<source[j-1]: tm原创 2017-01-06 14:02:31 · 622 阅读 · 0 评论 -
python实现快速排序
'''Created on 2017-1-6@author: admin'''def quickSort(source,start,end): if start==end: return index=shuffle(source, start, end) if(index-1>start): quickSort(source, s原创 2017-01-06 13:51:50 · 454 阅读 · 0 评论 -
冒泡排序python实现
'''Created on 2017-1-6@author: admin'''def bubbleSort(source): for i in reversed(range(len(source))): for j in reversed(range(len(source)-i,len(source))): if source[j]<so原创 2017-01-06 12:52:58 · 568 阅读 · 0 评论 -
用python实现归并排序
'''Created on 2017-1-6@author: admin'''from builtins import range, intdef mergeSort(source,start,end): if(start>=end): return middle=int((start+end)/2) mergeSort(source, st原创 2017-01-06 11:51:18 · 522 阅读 · 0 评论 -
PyQt事件例子
#coding=utf-8'''Created on 2013年12月14日@author: hxp(hxpwangyi@163.com)'''import sysfrom PyQt4 import QtGui,QtCore class SignalFrame(QtGui.QWidget): ''' classdocs ''' def __in原创 2013-12-14 19:43:20 · 3358 阅读 · 0 评论 -
wxpython画板例子
#coding=utf-8'''Created on 2013年12月13日@author: hxp(hxpwangyi@163.com)'''import wximport SketchWindowimport cPickleimport osclass MenuSketchFrame(wx.Frame): ''' classdocs '''原创 2013-12-14 14:15:54 · 1505 阅读 · 0 评论 -
inno setup一个典型脚本
inno setup一个典型脚本 [Setup]AppName=phpStudyAppVerName=phpStudy 1.1.5 Build 070312AppPublisher=phpshaoAppPublisherURL=http://phpshao.cublog.cnAppSupportURL=http://phpshao.c转载 2010-02-24 00:00:00 · 1731 阅读 · 0 评论