- 博客(15)
- 资源 (8)
- 收藏
- 关注
原创 Python语句运行时间测试
可以使用timeit模块中的Timer对象来实现。 Timer接收两个参数,第一个参数是“多次执行的语句”,第二个参数是“只在开始执行一次的语句”e.g.我们为了测试list的append方法和set的add方法的性能差异。# -*-coding: utf-8 -*-from timeit import Timerpre_statement = "list1 = range(10000000);
2016-08-19 13:14:09 2754 1
原创 python函数参数
Python有四种函数参数:Required argumentsKeyword argumentsDefault argumentsVariable-length arguments第1,2,4种参数都是相对于调用来说的,第3种参数是相对于函数定义来说的。Required arguments Required arguments are the arguments passed to
2016-08-19 09:43:51 317
原创 Python高阶函数
简介有几个概念需要声明: - 变量可以指向函数 - 函数名也是变量典型的高阶函数:# 定义def add(x, y, func): return func(x)+func(y)# 调用add(1, -2, abs)map/reduce函数mapmap函数接收两个参数,一个是函数,一个是序列。 map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回。 代码示
2016-08-18 22:08:08 323
原创 python接收命令行参数
需要使用到sys库里的argv属性。 sys.argv 返回一个参数列表 len(sys.argv) 返回参数个数(其中第一个参数为文件名)我们看个例子: test.py# -*- coding: utf-8 -*-import sysprint 'you entered', len(sys.argv), 'arguments...'print 'they were:', st
2016-08-16 16:36:28 16436
原创 python文件open()函数参数:r和rb比较
读取文本文件时,不要使用rb模式打开文件,而应该仅使用r模式。使用r: 是推荐使用的打开文本文件的模式。因为使用此模式打开文本文件时,python默认为我们做了一些处理,比如:假设在windows下,将本来应该读入的换行符‘\r\n’处理成’\n’,方便我们处理。(值得一提的是,当你将\n写入文件时,python也会默认将其替换成\r\n,如果你是win系统的话)使用rb: 则python不会对
2016-08-16 14:31:22 20842 1
原创 <Python核心编程>条件和循环(包括迭代器、生成器)
1.条件表达式: X if C else Y ,比如 x if x < y else y2.会使用pass语句3.在while和for循环后使用else 只有当循环完成后,才执行else的语句,也就是说,break会跳过else语句块。4.列表解析式也可以写双重循环 >>> list1 = [1, 2, 3] >>> list2 = [4, 5, 6] >>> [x+y fo
2016-08-12 07:52:26 578
原创 Python数据结构(三)集合set
1.集合有可变集合set和不可变集合frozenset之分2.python集合操作符号和数学符号对应关系: 3.set.remove(obj)和set.discard(obj)的区别在于,当obj存在于set中时,都将其删除;但当obj不存在于set中时,remove()会报错,discard()不会。
2016-08-09 07:50:33 2405
原创 Python数据结构(二)序列类型list,tuple
1.可变对象的方法无返回值,比如list的sort(),extend(),reverse();如果需要返回,请使用sorted(),reversed()2.不要把list对象传给你不熟悉的API,请选择tuple,防止数据被无意更改。
2016-08-09 07:45:54 355
原创 浅拷贝和深拷贝
(参考自《Python核心编程》一书) 浅拷贝定义: 对一个对象进行浅拷贝其实是新创建了一个类型跟原对象一样,其内容是原来对象元素的引用,换句话说,这个拷贝的对象本身是新的,但是它的内容不是.生成浅拷贝的方式:完全切片操作[:]利用工厂函数,比如list(),dict()等使用copy 模块的copy 函数.注意:非容器类型(数字、字符串等)并无拷贝之说。如果元组变量只包含原子类
2016-08-08 00:20:18 966
原创 Unicode和UTF8
对于初学者,可以简单地这么理解(实际并不准确):Unicode是一个字符集,它将(各种语言的)一个字符映射为整数。 UTF-8是一种编码方式,它将Unicode字符集(字节序列)编码和解码。在python中,当我们决定要使用Unicode字符集时,请保证:程序中出现字符串时一定要加个前缀 u不要用 str()函数,用unicode()代替不要用过时的 string 模块 – 如果传给它的是非
2016-08-07 16:07:58 317
原创 <Python核心编程>笔记(一)
1.Python的类型也是对象,叫type对象。type(12)返回< type ‘int’> 2.所有的标准对象均可进行布尔测试。每个对象天生具有布尔True或False值。下列对象的布尔值是False: - None - False - 所有值为0的数 - “”(空字符串) - [] - () - {} 3.切片对象允许三种扩展的切片方式:多维切片、
2016-08-06 19:01:52 460
原创 Python垃圾回收
Python的垃圾回收器由引用计数器和循环垃圾收集器组成。引用计数器 用来记录对象的被引用次数。(此处不赘述,因为很容易理解)循环垃圾收集器 仅有引用计数器(计数器显示为0,那么此块内存可以被回收了)是不够的,因为可能会发生循环引用的情况。 一个循环引用发生在当你有至少两个对象互相引用时, 也就是说所有的引用都消失时, 这些引用仍然存在。考虑以下情况: [1] a = { } # a
2016-08-06 14:22:18 288
原创 关于python模块
典型的模块结构: 解释:(4)(5)(6)(7)被称为主程序,(7)被称为“直接运行模块”,我们可以在直接运行模块中调用测试代码。大部分的模块都是导入调用的。“直接运行模块”意味着不管你是导入整个模块还是运行整个模块,它都会被执行。__name__系统变量用来指示模块被如何加载: 如果模块被导入,__name__的值为模块名字 如果模块被直接执行,__name__的值为‘__main
2016-08-06 13:38:30 223
原创 Python连接mysql数据库
需要使用MySQLdb库 代码示例:# -*- coding: utf-8 -*-import MySQLdbconn = MySQLdb.connect(host='123.57.48.62', port=3307, user='nlp_user', passwd='NlpUser1234', db='nlp_data', charset='utf8')cursor = conn.curso
2016-08-06 10:53:23 395
原创 Python2向文件写入Unicode字符
1.向普通文本文件写入Unicode字符 python内置库中的open方法只能读写ascii码,如果想写入Unicode字符,需要使用codecs包代码示例:# -*- coding: utf-8 -*-import codecscontent = u'你好'f = codecs.open(r'c:/test.txt', 'wb', 'utf-8')f.write(content)我
2016-08-05 11:58:45 13877
邻接表存储的图的DFS,BFS遍历
2017-04-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人