在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数。万能的python就自带了argprase包使得这一工作变得简单而规范。PS:optparse包是类似的功能,只不过写起来更麻烦一些。如果脚本很简单或临时使用,没有多个复杂的参数选项,可以直接利用sys.argv将脚本后的参数依次读取(读进来的默认是字符串格式)。比如如下名为test.py的脚本:importsysprint"Inputargumentis%s"%(sys.a
系统 2019-09-27 17:48:12 1843
python解释器运行代码的流程启动python解释器(相当于文本编辑器)打开文件,显示这个字符并检查语法(涉及字符编码,a=1只是一个很普通的字符)解释字符(涉及字符编码,再去内存空间生成一个a=1的变量)python2用的是ascii,python3默认是utf8读取字符#coding:gbk会告诉python3解释器用gbk编码读取字符python3(了解)你看到的其实是unicode但是终端帮你把这个unicode的0和1做一个转换,从unicod
系统 2019-09-27 17:48:12 1843
推荐系统中经常需要处理类似user_id,item_id,rating这样的数据,其实就是数学里面的稀疏矩阵,scipy中提供了sparse模块来解决这个问题,但scipy.sparse有很多问题不太合用:1、不能很好的同时支持data[i,...]、data[...,j]、data[i,j]快速切片;2、由于数据保存在内存中,不能很好的支持海量数据处理。要支持data[i,...]、data[...,j]的快速切片,需要i或者j的数据集中存储;同时,为了
系统 2019-09-27 17:48:09 1843
这货很强大,必须掌握文档链接http://docs.python.org/2/library/itertools.htmlpymotw链接http://pymotw.com/2/itertools/基本是基于文档的翻译和补充,相当于翻译了itertools用于高效循环的迭代函数集合组成总体,整体了解无限迭代器复制代码代码如下:迭代器参数结果例子count()start,[step]start,start+step,start+2*step,...count
系统 2019-09-27 17:47:57 1843
本系列Python文章基于Python3版本,关于python的安装和配置自行百度,这里不做详细介绍。接下来将介绍Python基础——数据类型和变量。数据类型在Python中,能够直接处理的数据类型有以下几种:整型Python中可以处理任意大的整数,包括负整数。支持二进制(如0b100,换算成十进制是4)、八进制(0o100,换算成十进制是64)、十六进制(0x100,换算成十进制为256)的表示法。浮点型浮点数也就是小数,之所以称为浮点数,是因为按照科学
系统 2019-09-27 17:47:56 1843
在学习python的过程中,用来练习代码,并且复习数据结构的#coding:utf-8#author:ElvisclassStack(object):def__init__(self,size=8):self.stack=[]self.size=sizeself.top=-1defis_empty(self):ifself.top==-1:returnTrueelse:returnFalsedefis_full(self):ifself.top+1==se
系统 2019-09-27 17:47:55 1843
很多书籍里面讲的Python备份都是在linux下的,而在xp上测试一下也可以执行备份功能,代码都差不多相同,就是到执行打包的时候是不一样的。而且要用到winrar,其他的压缩文件也是一样的。首先我们要把winrar的路径添加到path里面,这里添加完了要重启机子才有效。这里要注意:把winrar的路径添加到path里面之后一定要重启,否则path的设定不会起作用,打包就会失败!这里用到得命令是:winraraxxx.zipxxxxxxx为任意字符实例代码
系统 2019-09-27 17:47:53 1843
在任何语言中,都会规定某些对象(属性、方法、函数、类等)只能够在某个范围内访问,出了这个范围就不能访问了。这是“公”、“私”之分。此外,还会专门为某些特殊的东西指定一些特殊表示,比如类的名字就不能用class,def等,这就是保留字。除了保留字,python中还为类的名字做了某些特殊准备,就是“专有”的范畴。私有函数在某些时候,会看到有一种方法命名比较特别,是以“__”双划线开头的,将这类命名的函数/方法称之为“私有函数”。所谓私有函数,就是:私有函数不可
系统 2019-09-27 17:47:33 1843
好程序员Python学习路线分享实现快速排序算法,快速排序算法是一种基于交换的高效的排序算法,由C.R.A.Hoare于1962年提出,是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divideandconqueralgorithm)。分治法的基本思想将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的基本思想先找到一个基准点(一般指数组的中部),然后数组被该基准点分为
系统 2019-09-27 17:47:30 1843
rindex()方法返回所在的子str被找到的最后一个索引,可选择限制搜索的字符串string[beg:end]如果没有这样的索引存在,抛出一个异常。语法以下是rindex()方法的语法:str.rindex(str,beg=0end=len(string))参数str--此选项指定要搜索的字符串。beg--这是开始索引,默认情况下为0len--这是最后的索引,默认情况下它等于字符串的长度。返回值此方法如果找到返回最后一个索引,否则如果没有找到str引发一
系统 2019-09-27 17:47:10 1843