Python成长之路
文章平均质量分 75
__learner
所有的努力都值得期许,每一份梦想都应该灌溉!
展开
-
python字符串排序方法
一般情况下,python中对一个字符串排序相当麻烦:一、python中的字符串类型是不允许直接改变元素的。必须先把要排序的字符串放在容器里,如list。二、python中的list容器的sort()函数没返回值。所以在python中对字符串排序往往需要好几行代码。具体实现方法如下:>>> s = "string">>> l = list(s)>>> l.原创 2016-11-17 12:19:09 · 14568 阅读 · 4 评论 -
python函数--默认参数指向不可变对象
先定义一个函数,传入一个list,添加一个END再返回:def add_end(L=[]): L.append('END') return L当你正常调用时,结果似乎不错:>>> add_end([1, 2, 3])[1, 2, 3, 'END']>>> add_end(['x', 'y', 'z'])['x', 'y', 'z', 'END']当转载 2017-04-01 17:17:21 · 662 阅读 · 0 评论 -
python函数—定义参数的几种方式
定义函数的时候,我们把参数的名字和位置确定下来,函数的接口定义就完成了。对于函数的调用者来说,只需要知道如何传递正确的参数,以及函数将返回什么样的值就够了,函数内部的复杂逻辑被封装起来,调用者无需了解。Python的函数定义非常简单,但灵活度却非常大。除了正常定义的必选参数外,还可以使用默认参数、可变参数和关键字参数,使得函数定义出来的接口,不但能处理复杂的参数,还可以简化调用者的代码。转载 2017-04-01 17:47:03 · 2945 阅读 · 0 评论 -
python—递归
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。举个例子,我们来计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出:fact(n) = n! = 1 x 2 x 3 x ... x (n-1) x n = (n-1)! x n = fact(n-1) x n所以,fact(n)可以表示为n x转载 2017-04-05 13:51:49 · 336 阅读 · 0 评论 -
python变量—内存存储
变量的概念基本上和初中代数的方程变量是一致的,只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头,比如:a = 1变量a是一个整数。t_007 = 'T007'变量t_007是一个字符串。Answer = True变量Answer是一个布尔值Tr转载 2017-03-20 16:49:55 · 4835 阅读 · 0 评论 -
Python SQLite使用详解
Python SQLITE数据库是一款非常小巧的嵌入式开源数据库软件,也就是说没有独立的维护进程,所有的维护都来自于程序本身。它使用一个文件存储整个数据库,操作十分方便。它的最大优点是使用方便,功能相比于其它大型数据库来说,确实有些差距。但是性能表现上,SQLITE并不逊色。麻雀虽小,五脏俱全, sqlite 实现了多数 sql-92 的标准,比如说 transaction 、 trigger转载 2017-05-24 09:15:22 · 788 阅读 · 0 评论 -
python字符串编码
今天,用Python写文件,发现中国人真不容易,任何编程问题都需要比老外多学一套应对编码的方法。JSP写完了吗?中文编码问题考虑一下;servlet中的url,转发的文本,都有可能与什么gb2312,isoxxxx,utf-8,unicode,ascii扯上关系。以至于,我们每每遇到运行异常,都会“一朝被蛇咬十年怕井绳”般思考“是不是又是编码导致的”。在python里,编码问题依然是个恶心转载 2017-05-21 10:14:22 · 513 阅读 · 0 评论 -
Windows安装BeautifulSoup及使用
windows安装BeautifulSoup1.下载 BeautifulSoup包。 网址:http://www.crummy.com/software/BeautifulSoup/bs4/download/4.3/这是BeautifulSoup4.3的下载地址。 如需下其它版本:http://www.crummy.com/software/BeautifulSoup/2.解压,然转载 2017-06-08 09:41:28 · 9295 阅读 · 0 评论 -
Python日志输出——loging模块
1. logging介绍 Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志记录方式。 logging模块与log4j的机制是一样的,只是具体的实现细节不同。模块提供lo转载 2017-07-09 16:40:47 · 862 阅读 · 0 评论 -
Python模块导入原理剖析
在Python用import或者from...import来导入相应的模块。模块其实就是一些函数和类的集合文件,它能实现一些相应的功能,当我们需要使用这些功能的时候,直接把相应的模块导入到我们的程序中,我们就可以使用了。 Python中的Module是比较重要的概念。常见的情况是,事先写好一个.py文件,在另一个文件中需要import时,将事先写好的.py文件拷贝到当前目录,或者是在转载 2017-07-31 15:21:41 · 2993 阅读 · 1 评论 -
Python 三种导入模块的方法和区别
方法一: import modname 模块是指一个可以交互使用,或者从另一Python 程序访问的代码段。只要导入了一个模块,就可以引用它的任何公共的函数、类或属性。模块可以通过这种方法来使用其它模块的功能。 用import语句导入模块,就在当前的名称空间(namespace)建立了一个到该模块的引用.这种引用必须使用全称,也就是说,当使用在被导入模块中定义的函数时,必须包转载 2017-07-31 16:04:30 · 1567 阅读 · 0 评论 -
Python3.0以上版本安装pip和MySQLdb
学习Python,pip和MySQLdb是必要的,一个便于安装常用模块,一个用来操作数据库。当时安装这两个模块时,由于没有人指导,花了很多的时间才安装好。安装pip时,按照网上的教程,先在链接https://pypi.python.org/pypi/pip里下载了pip8.1,按照常规方法,解压后执行python setup.py install。发现报错了“ImportError:N原创 2017-08-25 08:57:02 · 7437 阅读 · 3 评论 -
python2.7安装setuptools和pip及卸载
准备工作:已安装Python并配置好环境变量,可参考 http://blog.csdn.net/donggege214/article/details/52062855安装setuptools下载setuptools源码setuptools-25.2.0.tar.gz地址:https://pypi.python.org/pypi/setuptools 这是一转载 2017-08-06 12:49:29 · 28303 阅读 · 3 评论 -
Python2.7-pip install MySQL-python失败的问题
环境,windows64位下,python版本是2.7.0,因为操作数据库需要安装mysql-python,所以直接命令行下,命令:pip install mysql-python报错:_mysql.c(42) : fatal error C1083: Cannot open include file: 'config-win.h': No such file or d原创 2017-08-06 16:17:44 · 5637 阅读 · 0 评论 -
python元组(指向不变)
tuple另一种有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字:>>> classmates = ('Michael', 'Bob', 'Tracy')现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地转载 2017-03-20 17:40:00 · 602 阅读 · 0 评论 -
python字符编码
字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的最大转载 2017-03-20 17:18:36 · 306 阅读 · 0 评论 -
Python的可变与不可变数据类型
初学python的时候,可能会有很多疑惑,尤其是最先接触的所谓的“可变数据类型”和“不可变数据类型”。python与C/C++不一样,它的变量使用有自己的特点,当初学python的时候,一定要记住“一切皆为对象,一切皆为对象的引用”这句话,其实这个特点类似于JAVA,所以在python里面大家也不用担心类似于C/C++中的指针的复杂问题。下面本文将对python里面的“可变数据类型”和“不可变数据转载 2016-11-02 10:08:09 · 1149 阅读 · 0 评论 -
Python 列表排序方法reverse、sort、sorted详解
python语言中的列表排序方法有三个:reverse反转/倒序排序、sort正序排序、sorted可以获取排序后的列表。在更高级列表排序中,后两中方法还可以加入条件参数进行排序。reverse()方法将列表中元素反转排序,比如下面这样>>> x = [1,5,2,3,4]>>> x.reverse()>>> x[4, 3, 2, 5, 1]reverse列表反转原创 2016-11-30 08:52:28 · 16523 阅读 · 0 评论 -
三种方法删除列表中重复的元素及效率分析!
方法一:使用列表对象的sort()方法对列表进行排序,从最后一个元素开始循环迭代列表,判断相邻的两元素是否是否相等!def methodOne(list): list.sort() lenList = len(list) lastItem = list[lenList-1] for i in range(lenList-2,-1,-1):转载 2016-11-29 14:04:39 · 2348 阅读 · 0 评论 -
Python repr() 或str() 函数
repr() 输出对 Python比较友好,而str()的输出对用户比较友好。虽然如此,很多情况下这三者的输出仍然都是完全一样的尽管str(),repr()和``运算在特性和功能方面都非常相似,事实上repr()和``做的是完全一样的事情,它们返回的是一个对象的“官方”字符串表示,也就是说绝大多数情况下可以通过求值运算(使用内建函数eval())重新得到该对象,但str()则有所不同。str(原创 2016-11-29 10:51:32 · 614 阅读 · 0 评论 -
详解python的super()的作用和原理
Python中对象方法的定义很怪异,第一个参数一般都命名为self(相当于其它语言的this,比如:C#),用于传递对象本身,而在调用的时候则不必显式传递,系统会自动传递。今天我们介绍的主角是super(), 在类的继承里面super()非常常用, 它解决了子类调用父类方法的一些问题, 父类多次被调用时只执行一次, 优化了执行逻辑,下面我们就来详细看一下。举一个转载 2017-01-14 10:54:23 · 20798 阅读 · 0 评论 -
Python---round函数四舍五入详解之python2与python3版本间区别
round()方法返回 数值 的小数点四舍五入到n个数字。语法以下是round()方法的语法:round( x [, n] )参数 x --这是一个数值,表示round()方法返回 数值 的小数点四舍五入到n个数字。语法以下是round()方法的语法:round( x [, n] )参数 x --这是一个数值,表示需要格式化的数值转载 2016-11-28 17:27:13 · 8255 阅读 · 0 评论 -
Python时间获取及转换知识汇总
时间处理是我们日常开发中最最常见的需求,例如:获取当前datetime、获取当天date、获取明天 前N天、获取当天开始和结束时间(00:00:00 23:时间处理是我们日常开发中最最常见的需求,例如:获取当前datetime、获取当天date、获取明天/前N天、获取当天开始和结束时间(00:00:00 23:59:59)、获取两个datetime的时间差、获取本周/本月/上月最后一天转载 2016-11-28 15:21:49 · 1445 阅读 · 0 评论 -
Python中运算符"=="和"is"的差别分析
前言在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和valu前言在讲is和==这两种运算符区别之前,首先要知道Python中对象包含的三个基本要素,分别是:id(身份标识)、python type()(数据类型)和value(值)。is和==都是对对象进行比较判断作用的,但对对象比原创 2016-11-17 12:23:39 · 2554 阅读 · 0 评论 -
Python2和Python3中print的不同点
在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异主要体现在以下几个方面:1 python3中print是一个内置函在Python2和Python3中都提供print()方法来打印信息,但两个版本间的print稍微有差异主要体现在以下几个方面:1.python3中print是一个内置函数,有多个参数,而python2原创 2016-11-17 12:21:39 · 18313 阅读 · 0 评论 -
详解Python魔术方法__getitem__、__setitem__、__delitem__、__len__
Python的魔术方法一般以__methodname__的形式命名,如:__init__(构造方法), __getitem__、 __setitem__(subscriptable所需method), __delitem__(del obj[key]所需method), __len__(len(…)所需method)等。在Python中,如果我们想实现创建类似于序列和映射的类,可以通过原创 2017-02-07 11:24:18 · 8463 阅读 · 0 评论 -
深入理解Python生成器(Generator)
我们可以通过列表生成式简单直接地创建一个列表,但是受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,而且如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中转载 2017-02-14 14:34:02 · 1876 阅读 · 1 评论 -
PyCharm 断点调试
PyCharm 作为IDE,断点调试是必须有的功能。否则,我们还真不如用纯编辑器写的快。1,设置断点在代码前面,行号的后面,鼠标单击,就可以设置断点。如下:2,调试 断点点击那个绿色的甲虫图标(似乎甲虫已经成为debug专用图标了),进行断点调试。点击后,会运行到第一个断点。会显示该断点之前的变量信息。转载 2017-02-15 09:33:37 · 3492 阅读 · 0 评论 -
Python中time模块详解
在平常的代码中,我们常常需要与时间打交道。在Python中,与时间处理有关的模块就包括:time,datetime以及calendar。这篇文章,主要讲解time模块。在开始之前,首先要说明这几点:在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各转载 2017-03-18 10:00:04 · 647 阅读 · 0 评论 -
python类中super()和__init__()的区别
最近有同学问我关于Python类中的super()和__init__()共同点和不同点的问题, 我今天把它们两个的异同点总结了一下,希望可以帮助遇到同样困惑的同学。单继承时super()和__init__()实现的功能是类似的class Base(object): def __init__(self): print 'Base create'class chi转载 2017-01-14 11:33:26 · 1040 阅读 · 0 评论