Python语言精要---下
def make_closure(a):def closure():print("I know the secret: %d" % a)return closure()closure = make_closure(5)
def say_hello_then_call_f(f,*args,**kwargs):print("arg is " + str(args))print("kwargs is %s "% kwargs)print("hello now i am gonna to call %s" % f)return f(*args,**kwargs)def g(x,y,z = 1):return (x+y) / zsay_hello_then_call_f(g,1,2,z = 5)print(say_hello_then_call_f(g,1,2,z = 5))print(g(1,2,z = 5))
def add_numbers(x,y):return x+yadd_five = lambda y: add_numbers(5, y)print(add_five(2))#这里的add_numbers的第二个参数是柯里化的,就是定义了一个可以调用现有函数的新函数而已#还可以使用下面的模块函数简化这个过程from functools import partialadd_five_ = partial(add_numbers,5)print(add_five_(9))
#计算时间序列x的60日移动平均ma60 = lambda x:pandas.rolling_mean(x,60)#计算data中所有时间序列的60日移动平均data.apply(ma60)
def squares(n=10):print('Generating squares from 1 to %d' % (n**2))for i in range(1,n+1):yield i**2gen = squares()print(gen)#直到从生成器中请求元素时候,才会执行代码for x in gen:print(x)'''<generator object squares at 0x000000BD50384518>Generating squares from 1 to 100149162536496481100'''
gen= (x ** 2 for x in range(100))print(gen)print(sum(x**2 for x in range(100)))print(dict((i,i**2) for i in range(7)))'''<generator object <genexpr> at 0x0000007F13491938>328350{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36}'''
import itertoolsfirst_letter = lambda x: x[0]names = ['jason','peggy','charles','heather','whitney','thea','ana','jane','aya']for letter,name in itertools.groupby(names,first_letter):print(letter,list(name))'''j ['jason']p ['peggy']c ['charles']h ['heather']w ['whitney']t ['thea']a ['ana']j ['jane']a ['aya']'''
with open('temp_temp.txt','w') as handle:handle.writelines(x for x in open('temp.txt') if len(x)> 1)open('temp_temp.txt').readline()
Python语言精要---下的更多相关文章
- 解决python语言在cmd下中文乱码的问题
解决python语言在cmd下中文乱码的问题: a = "再见!"print (a.decode('utf-8').encode('gbk')) #解决在cmd下中文乱码的问题
- Python语言精要---上
下面的记录根据: 麦金尼. 利用Python进行数据分析[M]. 机械工业出版社, 2014. 这本教材的附录部分总结而来 Python的设计特点是重视可读性,简洁性以及明确性 Python不推荐 ...
- 【Python基础学习一】在OSX系统下搭建Python语言集成开发环境 附激活码
Python是一门简单易学,功能强大的编程语言.它具有高效的高级数据结构和简单而有效的面向对象编程方法.Python优雅的语法和动态类型以及其解释性的性质,使它在许多领域和大多数平台成为编写脚本和快速 ...
- selenium webdriver从安装到使用(python语言),显示等待和隐性等待用法,切换窗口或者frame,弹框处理,下拉菜单处理,模拟鼠标键盘操作等
selenium的用法 selenium2.0主要包含selenium IDE 和selenium webDriver,IDE有点类似QTP和LoadRunner的录制功能,就是firefox浏览器的 ...
- 第 2 章 Python 语言入⻔
目录 2.1低而长的学习曲线 2.2Python的优势 2.3在你的计算机中安装Python 2.4如何运行Python程序 2.5文本编辑器 2.6寻求帮助 Python语言是一种流行的编程语言,在 ...
- [Python学习] Linux环境下的Python配置,必备库的安装配置
1.默认Python安装情况 一般情况,Linux会预装Python的,版本较低,比如Ubuntu15的系统一般预装的是Python2.7.10. 使用命令:which python可以查看当前的py ...
- [Python学习笔记1]Python语言基础 数学运算符 字符串 列表
这个系列是我在学习Python语言的过程中记录的笔记,主要是一些知识点汇总,而非学习教程,可供有一定编程基础者参考.文中偏见和不足难以避免,仅供参考,欢迎批评指正. 本系列笔记主要参考文献是官网文档: ...
- 如何系统地自学一门Python 语言(转)
转自:http://www.phpxs.com/post/4521 零基础情况下,学一门语言充实下自己,Python,简洁.优美.容易使用,是一个很好的选择.那么如何系统地自学Python呢? 有的人 ...
- python语言的优点和缺点
python作为一门高级编程语言,它的诞生虽然很偶然,但是它得到程序员的喜爱却是必然之路. 龟叔给Python的定位是"优雅"."明确"."简单&qu ...
随机推荐
- nginx 优化
隐藏nginx版本号:在http标签内写server_tokens off; 隐藏apache版本号:ServerTokens Prod ServerSignature Off 更改nginx默认的用 ...
- linux设备驱动归纳总结(二):模块的相关基础概念【转】
本文转载自:http://blog.chinaunix.net/uid-25014876-id-59415.html linux设备驱动归纳总结(二):模块的相关基础概念 系统平台:Ubuntu 10 ...
- ch1:python3 查看版本号、安装目录和工作空间目录
查看python版本: 每次打开python顶端会显示版本号 在程序中判断版本号可以通过import sys sys.version 在dos下可以通过python -V查看 安装目录:C:\Pyt ...
- E2PROM与Flash的引脚图
E2PROM(24C02):
- Access数据库导入到SQL Server 2005 Express中
安装好SQL Server 2005 Express后,再安装SQL Server Management Studio Express CTP就可以很方便的使用控制台进行数据库的管理.但SQL Ser ...
- loading等待载入正在加载的动画GIF图片圆形图标
http://www.wtoutiao.com/p/GdfbdM.html
- 利用BAT批处理安装服务程序
@echo off @echo off set filename=LXServer.exe set servicename=Service1 set Frameworkdc=%SystemRoot%\ ...
- 为博客启用MetaWeBlog API
最近想写一个博客系统,主要有以下几点功能. 能够使用Live Writer来发布.修改文章 使用MongoDB作为持久化 对于博客中的图片.CSS.JS文件,使用CDN加速 后期可加上Radis 使用 ...
- js声明
var a = 2; //我们习惯把这条语句当做一条声明 但是js引擎把它当做两条声明. var a; //在编译时执行 同时var a;存在提升 a = 2;//在运行是执行 赋值lhs不会提升 ...
- Java四种线程池newCachedThreadPool,newFixedThreadPool,newScheduledThreadPool,newSingleThreadExecutor
1.new Thread的弊端 执行一个异步任务你还只是如下new Thread吗? Java new Thread(new Runnable() { @Override public void ru ...