冰箱里的猪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

02 2016 档案

摘要:f = open(r'e:\迅雷下载\TEK-071\test.txt','r') 在windows下\会被认为是转义字符,所以需要在字符串前加上r,来告诉计算机后面的字符串是没有转义的。 阅读全文
posted @ 2016-02-19 04:57 冰箱里的猪 阅读(1224) 评论(0) 推荐(0)

摘要:在Python中,安装第三方模块,是通过包管理工具pip完成的。 如果你正在使用Mac或Linux,安装pip本身这个步骤就可以跳过了。 如果你正在使用Windows,请参考安装Python一节的内容,确保安装时勾选了pip和Add python.exe to Path。 在命令提示符窗口下尝试运行pip,如果Windows提示未找到命令,可以重新运行安装程序添加pip。 注意:Mac或Linux... 阅读全文
posted @ 2016-02-17 04:19 冰箱里的猪 阅读(136) 评论(0) 推荐(0)

摘要:Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 在介绍函数参数的时候,我们讲到,通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。 functools.partial就是帮助我们创建一个偏函数的,不需要我们自己定义int2(),可以直接使用下面的代码创建一个新的... 阅读全文
posted @ 2016-02-17 04:17 冰箱里的猪 阅读(275) 评论(0) 推荐(0)

摘要:装饰器没学明白,记录一下,以后再学 阅读全文
posted @ 2016-02-17 03:38 冰箱里的猪 阅读(167) 评论(0) 推荐(0)

摘要:在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) 通过对比可以看出,匿名函数lambda x: x * x实际上就是: def f(x): return x * x 关键字lam... 阅读全文
posted @ 2016-02-17 03:20 冰箱里的猪 阅读(143) 评论(0) 推荐(0)

摘要:排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行排序: sorted([36, 5, -12, 9, -21]) 此外,sorted()函数也是一个高阶函数... 阅读全文
posted @ 2016-02-15 06:35 冰箱里的猪 阅读(556) 评论(0) 推荐(0)

摘要:map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。 def f(x): return x * x r = map(f... 阅读全文
posted @ 2016-02-15 05:58 冰箱里的猪 阅读(146) 评论(0) 推荐(0)

摘要:通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循... 阅读全文
posted @ 2016-02-15 05:42 冰箱里的猪 阅读(156) 评论(0) 推荐(0)

摘要:表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。 举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)): list(range(1, 11)) 写列表生成式时,把要生成的元素x * x放到前面,后面跟for循环,就可以把list创建出来,十分有用,多写... 阅读全文
posted @ 2016-02-03 21:57 冰箱里的猪 阅读(134) 评论(0) 推荐(0)

摘要:如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。 在Python中,迭代是通过for ... in来完成的。 for key in d: print(key) 因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。 默认情况下,dict迭代的是key。如果要迭代value,... 阅读全文
posted @ 2016-02-03 21:49 冰箱里的猪 阅读(226) 评论(0) 推荐(0)

摘要:L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。 L[0:3] 如果第一个索引是0,还可以省略: L[:3] 也可以从索引1开始,取出2个元素出来: L[1:3] 既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试: L[-2:] 创建1-99的序列 L = list(range(100)) tuple也是一种lis... 阅读全文
posted @ 2016-02-03 21:33 冰箱里的猪 阅读(145) 评论(0) 推荐(0)

摘要:默认参数 def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s 有几点要注意: 一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面); 二是如何设置默认参数。 当函数有多个参数时,把变化大的参数放前面,... 阅读全文
posted @ 2016-02-03 21:24 冰箱里的猪 阅读(539) 评论(0) 推荐(0)

摘要:在Python中,定义一个函数要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用return语句返回。 我们以自定义一个求绝对值的my_abs函数为例: def my_abs(x): if x >= 0: return x else: return -x 请自行测试并调用my_abs看看返回结果是... 阅读全文
posted @ 2016-02-03 06:11 冰箱里的猪 阅读(192) 评论(0) 推荐(0)

摘要:Python内置了字典:dict的支持,dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。 d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} 为什么dict查找速度这么快?因为dict的实现原理和查字典是一样的。假设字典包含了1万个汉字,我们要查某一个字,一个办法是把字典从第一页往后翻,直到找... 阅读全文
posted @ 2016-02-03 06:04 冰箱里的猪 阅读(541) 评论(0) 推荐(0)

摘要:set集合的应用 python的set和其他语言类似, 是一个无序不重复元素集, 基本功能包括关系测试和消除重复元素. 集合对象还支持union(联合), intersection(交), difference(差)和sysmmetric difference(对称差集)等数学运算. sets 支持 x in set, len(set),和 for x in set。作为一个无序的集合,... 阅读全文
posted @ 2016-02-03 05:45 冰箱里的猪 阅读(491) 评论(0) 推荐(0)

摘要:Python的循环有两种,一种是for...in循环,依次把list或tuple中的每个元素迭代出来,看例子: names = ['Michael', 'Bob', 'Tracy'] for name in names: print(name) range(101)就可以生成0-100的整数序列 第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算1... 阅读全文
posted @ 2016-02-03 05:34 冰箱里的猪 阅读(162) 评论(0) 推荐(0)

摘要:elif是else if的缩写,完全可以有多个elif,所以if语句的完整形式就是: if : elif : elif : else: if判断条件还可以简写,比如写: if x: print('True') 只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。 阅读全文
posted @ 2016-02-03 05:22 冰箱里的猪 阅读(186) 评论(0) 推荐(0)

摘要:list是一种有序的集合,可以随时添加和删除其中的元素。定义有序的集合: classmates = ['Michael', 'Bob', 'Tracy'] 用len()函数可以获得list元素的个数: len(classmates) 用索引来访问list中每一个位置的元素,记得索引是从0开始的: classmates[0] 当索引超出了范围时,Python会报一个IndexError错误,所以... 阅读全文
posted @ 2016-02-02 21:05 冰箱里的猪 阅读(338) 评论(0) 推荐(0)

摘要:原文地址:http://blog.csdn.net/hwhjava/article/details/22284399 ******************** PY核心模块方法 ******************** os模块: os.remove() 删除文件 os.unlink() 删除文件 os.r... 阅读全文
posted @ 2016-02-02 20:39 冰箱里的猪 阅读(174) 评论(0) 推荐(0)

摘要:>>> print('The quick brown fox', 'jumps over', 'the lazy dog') The quick brown fox jumps over the lazy dog print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的: name = input('please enter your name: '... 阅读全文
posted @ 2016-02-02 20:36 冰箱里的猪 阅读(368) 评论(0) 推荐(0)

摘要:python解析xml import xml.dom.minidom as minidom dom = minidom.parse("aa.xml") root = dom.getElementsByTagName("Schools") #The function getElementsByTagName returns NodeList. print(root.length) for no... 阅读全文
posted @ 2016-02-01 20:18 冰箱里的猪 阅读(250) 评论(0) 推荐(0)