
Python
文章平均质量分 59
Allen-Liu
君子终日乾乾,夕惕若,厉无咎。——自勉。
展开
-
华为编程题-加密解密
问题描述:__time__ = "2017/9/15"'''This program used to '''#print('a' + 1)def jiami(in1): out1 = [] for i in in1: out1.append(i) for i in range(len(out1)): if (out1[i].原创 2017-09-15 16:54:32 · 881 阅读 · 0 评论 -
用正则表达式实验计算器功能
本文介绍怎样用正则表达式实现一个简单的计算器。(文章中的代码为Python3)1.问题描述用正则表达式实现一个简单计算器的功能:输入为一个字符串(含有加减乘除,正负和整数及浮点数的计算公式),输出为运算结果。2.想要达到的效果输入计算公式:1.2+-(2*4+(2+5))-3.4,结果为:-10.4。也就是说我们允许用户输入整数和小数,计算包括加减乘除,当然如果用户想要注明数的正负原创 2017-07-29 16:47:44 · 2146 阅读 · 0 评论 -
Python之文件读写
本文介绍Python语言中的对于文件的读写等操作。(本文使用python3)对于文件的操作就离不开open()函数(这个函数是Python的io模块中的一个内建函数)。首先建议使用help(open)查看下这个函数的基本信息(很多),部分结果如下:可以看到这个函数的作用是打开一个文件并且返回一个数据流。在执行失败时会触发IOError。基本用法如上所示,file是必须给出的原创 2017-07-27 14:27:59 · 911 阅读 · 0 评论 -
python中用字典实现三级菜单
下面的代码为用字典数据类型实现一个三级菜单查找的功能,基本操作如下:1. 菜单分为:省—市—县(区)三级。2. 在任何一级的时候,用户都可以通过输入‘q’或者‘Q’结束(quit)程序。3. 在省这一级的时候用户可以通过数据省的编号进入下一级菜单,输入无效字符会出现提示,并留在当前菜单。4. 在市这一级的时候用户可以通过输入市的编号查看下属县(区),或者输入‘u’返回上一级(省)菜原创 2017-07-26 13:42:00 · 1333 阅读 · 0 评论 -
Python中的编码与格式转换
本文转自:http://www.cnblogs.com/luotianshuai/articles/5735051.htmlPython编码详解--呕心沥血在2.7环境中咱们要写上这一行#-*- coding:utf-8 -*- 为什么我们要加这一行呢?这一样的意思是置顶编码类型为utf-8编码!首先在看这个问题之前,咱们是否曾想过一个问题?为什么我们转载 2017-07-25 16:52:01 · 4466 阅读 · 0 评论 -
Python3中的print函数以及与python2的比较
本文首先介绍在python3中print函数的应用,然后对比在pyhton2中的应用。原创 2017-07-24 10:05:17 · 10075 阅读 · 1 评论 -
Python3中的input函数
下面介绍python3中的input函数及其在python2及pyhton3中的不同。python3中的ininput函数,首先利用help(input)函数查看函数信息:以上信息说明input函数在python中是一个内建函数,其从标准输入中读入一个字符串,并自动忽略换行符。也就是说所有形式的输入按字符串处理,如果想要得到其他类型的数据进行强制类型转化。默认情况下没有提示字符原创 2017-07-23 21:45:53 · 48213 阅读 · 2 评论 -
迭代器与生成器
学习Python的时候接触到迭代器与生成器,转载了一篇比较基础的好理解的博客,地址:http://www.cnblogs.com/coder2012/p/4305935.html迭代器迭代器是一个实现了迭代器协议的对象,Python中的迭代器协议就是有next方法的对象会前进到下一结果,而在一系列结果的末尾是,则会引发StopIteration。在for循环中,Py转载 2017-07-18 22:48:39 · 438 阅读 · 0 评论 -
Python中常见的异常(类)
下面是Python中的一些常见的异常(exception):1. Exception:所有异常的基类。2. AttributeError:特性引用或者赋值失败时引发。3. IOErrot:试图打开不存在的文件时引发。4. IndexError:在使用序列中不存在的索引时引发。5. KeyError:在使用映射中不存在的键时引发。6. NameError:再找不到名字(变量)原创 2017-07-15 15:48:55 · 1309 阅读 · 0 评论 -
Python中的列表方法
Python中作用于列表的方法分为改变列表/不改变列表非方法两种。具体如下:1. 不改变列表的方法:(1)index(x):返回列表中与x值相等的第一个值的索引。(2)count(x):返回列表中x出现的次数。2. 不改变列表的方法:(1)append(x): 在列表的末尾添加元素。(2)pop(x):删除列表末尾的元素,并返回此参数。(3)extend(x):原创 2017-07-04 22:14:48 · 1366 阅读 · 0 评论 -
java中常用的包package
Java采用包结构来组织和管理类和接口文件,那么java中有哪些常用的包呢?现总结如下:java.lang:java的核心类库,包含了运行java程序必不可少的系统类,如基本数据类型、基本数学函数、字符串处理、线程、异常处理类等,系统缺省加载这个包。 java.io:java语言的标准输入/输出类库,如基本输入/输出流、文件输入/输出、过滤输入/输出流等。 java.util:ja原创 2017-05-26 22:14:59 · 5350 阅读 · 1 评论 -
求解汉诺塔问题
下面介绍汉诺塔问题以及给出其求解方法和java代码。n阶汉诺塔问题:假设有三个塔座,假设为x, y, z. 现在在x塔座上有n个直径各不相同的圆盘,且满足从下到上直径依次减小。问题是需要借助y塔座,将所有圆盘移动到z塔座,且不改变原有顺序。在移动时需要满足的规则是:1.每次只能移动一个圆盘。2.圆盘可以移动到x,y,z任何一个塔座。3.任何时刻都应该满足下面的圆满的直径大于上面的圆原创 2017-05-25 22:43:52 · 948 阅读 · 0 评论 -
反转字符串的所有方法-Python实现
本文章转自: http://blog.youkuaiyun.com/caroline_wendy/article/details/23438739大神总结的很好,分享给大家。Python实现字符串反转一共包含5种方法, 其中第一种最简单, 即步长为-1, 输出字符串,这个也叫作“分片法”;方法如下5种方法的比较:1. 简单的步长为-1, 即字符串的翻转(常用);2. 交换前后字母的转载 2017-05-19 23:11:08 · 2532 阅读 · 0 评论 -
递归实现字符串反转
递归的定义:函数调用自身的运算。例如:下面代码均以Python为例def f(n):...f(n-1)想要使用递归解决问题必须弄明白两点:1. 如何将问题分成小的部分,每部分可以使用函数来解决,然后再把问题“重新组合”。2. 确定函数的递归调用应该在何时结束,什么时候递归“触底”。下面使用递归的方法实现字符串反转:不妨将字符串反转的函数定义为reverse(s原创 2017-05-19 22:29:11 · 9982 阅读 · 0 评论 -
常见异常
下面以python为例进行介绍。Python是面向对象语言,所以程序抛出的异常也是类。所以异常也有“继承”关系,下面这张图来自《The Practice of Computing Using Python》这本书,很好的总结了Python常见异常以及之间的“继承”关系。具体介绍如下:Exception:常规错误的基类GeneratorExit:生成器发生异常来通原创 2017-05-19 22:02:22 · 590 阅读 · 0 评论 -
Python可变/不可变数据类型
本文介绍python中的可变与不可变数据类型。首先介绍下可变/不可变数据类型的定义:不可变数据类型:表示这种类型的数据一旦被创建后(一般是通过赋值语句创建),其内容就不能再修改。可变数据类型:表示该数据类型在创建后可以进行修改(例如添加或者改变当前值)。python中的不可变数据类型:int、float、string、tuple。python中的可变的数据类型:list、dic原创 2017-05-15 22:23:28 · 892 阅读 · 0 评论 -
python3内置方法
本文总结了python3中的内置方法转载 2017-07-31 20:09:25 · 445 阅读 · 0 评论 -
Python之文件内容修改
本文将介绍在python中在不改变原文件内容的条件下,插入新的内容。或者删去原创 2017-08-01 16:25:20 · 12263 阅读 · 0 评论 -
python跨目录调用
本文介绍pyhton的跨目录调用问题。原创 2017-08-01 19:52:11 · 5082 阅读 · 0 评论 -
Python中内置的字典函数
以下为python3中内置的字典函数:len(dict) :计算字典元素个数,即键的总数。str(dict) :输出字典可打印的字符串表示。type(variable) :返回输入的变量类型,如果变量是字典就返回字典类型。dict.clear() :删除字典内所有元素。dict.copy(): 返回一个字典的浅复制。dict.fromkeys() :创建一个新字典,以序列s原创 2017-08-27 17:37:48 · 553 阅读 · 0 评论 -
字符串常用内置方法-python3
我们常常要对字符串进行处理,那么看看python3中都有哪些内置方法呢?String.capitalize():将字符串的第一个字母大写String.count():获得字符串中某一字符串的数目String.find():获得字符串中某一字符串的起始位置String.isalnum():检测字符串是否仅包含0-9原创 2017-08-27 16:28:58 · 536 阅读 · 0 评论 -
python和ruby的垃圾回收机制
很高兴能够看到这样详细生动的文章,特来分享给大家。为了表示对原文的尊重,本文修改了个别书写和表述错误。画说 Ruby 与 Python 垃圾回收英文原文: visualizing garbage collection in ruby and python中文:画说 Ruby 与 Python 垃圾回收本文基于我在刚刚过去的在布达佩斯举行的RuPy上的演讲。我觉得趁热转载 2017-08-21 16:22:26 · 786 阅读 · 0 评论 -
二分查找及python实现
首先介绍二分查找,然后介绍其python实现(代码返回查找的次数,这也是很多笔试题会问到的)。二分法:也称二分搜索(binary search)、折半搜索(half-interval search)、对数搜索(logarithmic search),是一种在有序数组中查找某一特定元素的搜索算法。二分查找的实现步骤:1.首先查找数组必须是有序的(假设为升序)。2.取查找数组中间的数作原创 2017-08-20 21:14:20 · 839 阅读 · 0 评论 -
归并排序(python3)
本文介绍归并排序及python3实现,原理部分稍后补上,pyhton3代码如下:__author__ = "Allen Liu"__time__ = "2017/8/13"'''This program used to '''import random# 归并排序def merge(data, low, mid, high): i = low j = mid + 1原创 2017-08-14 23:15:08 · 1749 阅读 · 2 评论 -
快速排序代码python3
本文介绍快速排序的思想,以及python3实现:__author__ = "Allen Liu"__time__ = "2017/8/13"'''This program used to '''import randomdef quick_sort(data, left, right): if left < right: mid = partition(data原创 2017-08-14 20:23:06 · 831 阅读 · 0 评论 -
python3实现选择排序和插入排序
选择排序和插入排序与我们上一篇博客讲的冒泡排序在实践复杂度上相近,都是效率比较低的排序算法。这里提供两者的python3代码,具体的算法原理待以后补充:__author__ = "Allen Liu"__time__ = "2017/8/13"'''This program used to '''import random# 选择排序def select_sort(li):原创 2017-08-14 18:19:13 · 589 阅读 · 0 评论 -
详解冒泡排序及Python3代码实现
下面详细介绍冒泡排序的思想以及python3代码实现。首先是这样一个常识:在水中两个相同深度的气泡,大的气泡上浮的快,最先上浮到水面。然后假设有一个列表保存着一组数据,如下所示:左端为里表中的元素,右端为索引。为什么要竖着放,这样可以给你‘冒泡’的感觉。当然我们很容易看出来8是最大的会最先浮出水面,但是计算机不会想我们这样‘看’。它只会一步步来,首先假设第一个数(索引为0的数为原创 2017-08-14 18:11:45 · 17169 阅读 · 0 评论 -
全局解释器锁(GIL)Cpython
本文介绍Cpython中的全局解释器锁(global interpreter lock)。(只有在Cpython中才有奥,Jpython中没有这一机制)Python中的线程是操作系统的原生线程,Python虚拟机使用一个全局解释器锁(Global Interpreter Lock)来互斥线程对Python虚拟机的使用。为了支持多线程机制,一个基本的要求就是需要实现不同线程对共享资源访问的互转载 2017-08-12 22:45:32 · 628 阅读 · 0 评论 -
线程与threading模块(python)
本篇文章首先介绍进程和线程的概念,然后介绍两者之间的关系和区别。原创 2017-08-12 13:48:00 · 956 阅读 · 0 评论 -
socketserver模块介绍
本文为转载文章,源地址为http://www.cnblogs.com/kellyseeme/p/5525023.html。其中的代码为python2,在python3上需要稍微改动。1、 socketserver模块简介在python的socket编程中,实用socket模块的时候,是不能实现多个连接的,当然如果加入其它的模块是可以的,例如select模块,在这里见到的介绍下soc转载 2017-08-10 20:57:26 · 2655 阅读 · 0 评论 -
python之socket编程举例
本文介绍pyhton中的socket编程。原创 2017-08-10 16:37:49 · 656 阅读 · 0 评论 -
windows系统上安装paramiko模块
因为要在windows7上用到paramiko模块,现在将安装步骤分享如下:首先假设你已经安装并配置好了你的python。1. win+r——>输入cmd进入命令行模式。2. 直接输入命令>pip install paramiko安装最新版本paramiko。(最新版本会自动解决包依赖问题,这时候不需要先安装PyCrypto模块,一切都变得美好了^^)对了,如果系统提示你pip非内原创 2017-08-03 10:59:33 · 1247 阅读 · 0 评论 -
类属性和实例属性详解(python)
本文介绍python中的类变量和实例变量。原创 2017-08-02 22:53:26 · 2208 阅读 · 1 评论 -
装饰器详解(python)
本文将介绍装饰器的内容,并举例说明。()原创 2017-08-01 21:46:32 · 353 阅读 · 0 评论 -
深拷贝与浅拷贝
以python为例:浅拷贝:只复制引用,而不复制对象本身的情况。例如下面这个例子:我们发现虽然没有改变list1的值,但是list1的值随着list2发生了改变。问题就出在第二行的时候并没有复制列表【1,2,3】本身,只是将名字list2指向了[1,2,3]。深拷贝:复制对象本身的情况,例如下面这个例子:这时候改变list1的值并不会影响list2,因为在第二行的时原创 2017-05-11 20:46:13 · 526 阅读 · 0 评论