python每日笔记
9.28
查看python包路径:
sys.path
9.4 sorted高级用法:
>>> class Student:
def __init__(self, name, grade, age):
self.name = name
self.grade = grade
self.age = age
def __repr__(self):
return repr((self.name, self.grade, self.age))
>>> student_objects = [
Student('john', 'A', 15),
Student('jane', 'B', 12),
Student('dave', 'B', 10),
]
>>> sorted(student_objects, key=lambda student: student.age) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
9.3 random的重要方法:
random.randint(1,10) 返回一个给定区间的整数
random.sample(seq, n) 随机返回序列中的N个值, 获取的值不重复!!
choice(seq) 从序列seq中返回随机的元素
random.random()函数是这个模块中最常用的方法了,它会生成一个随机的浮点数,范围是在0.0~1.0之间。
random.uniform()正好弥补了上面函数的不足,它可以设定浮点数的范围,一个是上限,一个是下限。
random.randint()随机生一个整数int类型,可以指定这个整数的范围,同样有上限和下限值,python random.randint。
random.choice()可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。
random.shuffle()如果你想将一个序列中的元素,随机打乱的话可以用这个函数方法。
9.2 itertools
http://python.jobbole.com/84206/
定义了一系列的方法,能帮助我们创建能够进行高效遍历迭代的迭代器,里面包含不少有意思并且有用的方法,比如像chain, izip/izip_longest, combinations, ifilter等等。
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001415616001996f6b32d80b6454caca3d33c965a07611f000
9.1 lambda
用法: f = lambda x:x+1, x为变量即调用的时候传入的参数值f(x), 结果为x+1
f = lambda : time.time(), 即生成一个函数,不需要传入参数, 返回time.time()
lambda x:x+2(3), 直接返回5
f = lambda x,y,z : x*y +z , 用f(1,2,3)来调用
8.31 python sorted的详细超好用用法:
http://www.jb51.net/article/57678.htm
http://www.cnblogs.com/sysu-blackbear/p/3283993.html
8.31 py2到py3的差别
http://blog.csdn.net/samxx8/article/details/21535901
8.31 python 代码对象/编译 complie!!!
http://blog.csdn.net/u010786109/article/details/51504139
py2 funcA.func_code
py3 funcA.__code__
~~~~~
是否可以调用:
callable(dir)
callable('a')
8.27继续:http://blog.csdn.net/orangleliu/article/details/8752058
8.26
经常看到 __all__ 变量再各种 __init__.py 文件中,谁能解释为什么那么做呢?
解答
它是一个string元素组成的list变量,定义了当你使用 from <module> import * 导入某个模块的时候能导出的符号(这里代表变量,函数,类等)。
举个例子,下面的代码在 foo.py 中,明确的导出了符号 bar, baz
__all__ = ['bar', 'baz']
waz = 5
bar = 10
def baz(): return 'baz'
8.26
py2打印不换行 print x,
py3打印不换行,print(x,end='')
8.26
Python strip()函数: 只要s的开头或者结尾有RM里面的任何一个字母,就会一直删除下去,直到下一个字母不包含在RM中
s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符
s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符
s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符
注意:
1. 当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
2.
>>> a='123123ab1234123'
>>> a.strip('312')
'ab1234'
8.26
闭包: 如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure).
def get1(a):
print(a)
def get2(b):
print('this is b: ', b)
return get2
s=get1(1) ##返回的是一个函数
s(22)
详解:
http://www.jb51.net/article/54498.htm
装饰器也是类似闭包的实现, 即通过返回一个函数来操作这个函数的签名
python每日笔记的更多相关文章
- Python学习笔记(十三)
Python学习笔记(十三): 模块 包 if name == main 软件目录结构规范 作业-ATM+购物商城程序 1. 模块 1. 模块导入方法 import 语句 import module1 ...
- Web Scraping with Python读书笔记及思考
Web Scraping with Python读书笔记 标签(空格分隔): web scraping ,python 做数据抓取一定一定要明确:抓取\解析数据不是目的,目的是对数据的利用 一般的数据 ...
- python学习笔记整理——字典
python学习笔记整理 数据结构--字典 无序的 {键:值} 对集合 用于查询的方法 len(d) Return the number of items in the dictionary d. 返 ...
- VS2013中Python学习笔记[Django Web的第一个网页]
前言 前面我简单介绍了Python的Hello World.看到有人问我搞搞Python的Web,一时兴起,就来试试看. 第一篇 VS2013中Python学习笔记[环境搭建] 简单介绍Python环 ...
- python学习笔记之module && package
个人总结: import module,module就是文件名,导入那个python文件 import package,package就是一个文件夹,导入的文件夹下有一个__init__.py的文件, ...
- python datetime笔记
python datetime笔记 http://mint-green.diandian.com/post/2011-09-09/4892024 获取当前时间,并通过字符串输出. 格式为:%Y-%m- ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- python学习笔记--Django入门四 管理站点--二
接上一节 python学习笔记--Django入门四 管理站点 设置字段可选 编辑Book模块在email字段上加上blank=True,指定email字段为可选,代码如下: class Autho ...
- python学习笔记--Django入门0 安装dangjo
经过这几天的折腾,经历了Django的各种报错,翻译的内容虽然不错,但是与实际的版本有差别,会出现各种奇葩的错误.现在终于找到了解决方法:查看英文原版内容:http://djangobook.com/ ...
随机推荐
- [转] js实现对图片的二进制流md5计算
//计算图片md5 function img_MD5(img_path,callback) { plus.io.resolveLocalFileSystemURL(img_path, function ...
- 038 lock wait timeout exceeded;try restarting transaction
场景:有两个会话,其中会话1在事务操作,会话2在等待这个事务操作完成,然后会有这个报错产生. 通过查询资料,在这里整理一下. 一:总结timeout参数的作用 1.操作 2.具体解释 1)connec ...
- Http和RPC区别
本文转自:https://blog.csdn.net/mou_it/article/details/79873612 RPC(即Remote Procedure Call,远程过程调用)和HTTP(H ...
- 怎样将一个Long类型的数据转换成字节数组
直接上代码: //先写进去 long n = 1000000L; ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutpu ...
- Spring错误小结
之前在做项目的时候发现无法解析xml文件导致项目运行失败的问题,其实是无法找到导入的Schema约束,在配置Schema约束的时候在XML Catalog 中key配置*.xsd网址,location ...
- MySql与python交互
No1: 引入MySql:python2是Mysqldb,python3是pymysql No2: Connection对象 用于建立与数据库的连接 创建对象:调用connect()方法 conn=c ...
- 如何让自己的Dev C++用上C++11,c++14标准
首先确保Dev C++版本是最新的5.11版 其实用C++11和C++14标准的语法去运行还是会出现结果的,最多warning一下 但完美主义者是不允许这样的 我们可以点击菜单栏的“工具”-> ...
- Strange Towers of Hanoi POJ - 1958(递推)
题意:就是让你求出4个塔的汉诺塔的最小移动步数,(1 <= n <= 12) 那么我们知道3个塔的汉诺塔问题的解为:d[n] = 2*d[n-1] + 1 ,可以解释为把n-1个圆盘移动到 ...
- CUDA版Grabcut的实现
在上次用 CUDA实现导向滤波 后,想着导向滤波能以很小的mask还原高分辨率下的边缘,能不能搞点事情出来,当时正好在研究Darknet框架,然后又看到grabcut算法,用opencv试了下,感觉效 ...
- js算法初窥07(算法复杂度)
算法复杂度是我们来衡量一个算法执行效率的一个度量标准,算法复杂度通常主要有时间复杂度和空间复杂度两种.时间复杂度就是指算法代码在运行最终得到我们想要的结果时所消耗的时间,而空间复杂度则是指算法中用来存 ...