每天十分钟,十二天入门Python(六)

偏函数 - 当函数的参数个数太多,需要简化时,使用functools.partial可以创建一个新的函数,这个新函数可以固定住原函数的部分参数,从而在调用时更简单。

import functools

int2 = functools.partial(int,base=2)

print int(‘1000000‘,2)

# 64

print int2(‘1000000‘)

# 64

简单总结functools.partial的作用就是,把一个函数的某些参数(不管有没有默认值)给固定住(也就是设置默认值),返回一个新的函数,调用这个新函数会更简单。

注意到上面的新的int2函数,仅仅是把base参数重新设定默认值为2,但也可以在函数调用时传入其他值:

int2(‘1000000‘, base=10)

1000000

创建偏函数时,要从右到左固定参数,就是说,对于函数f(a1, a2, a3),可以固定a3,也可以固定a3和a2,也可以固定a3,a2和a1,但不要跳着固定,比如只固定a1和a3,把a2漏下了。如果这样做,调用新的函数会更复杂,可以自己试试。

时间: 2024-11-03 21:33:13

每天十分钟,十二天入门Python(六)的相关文章

每天十分钟,十二天入门Python(十)

# __str__() class Dog(object): def __init__(self,name): self.name = name def __str__(self): return 'Dog object(%s)' % self.name print Dog('papa') # <__main__.Dog object at 0x1016b6cd0> # Dog object(papa) 这是__str__()添加前后的分别输出的结果 # __iter__() #!/usr/b

每天十分钟,十二天入门Python(四)

map()函数接收两个参数,一个是函数,一个是序列,map将传入的函数依次作用到序列的每个元素,并把结果作为新的list返回. def num(x):    return x*x print map(num,[1,2,3,4,5,6,7,8,9]) # [1, 4, 9, 16, 25, 36, 49, 64, 81] reduce()把一个函数作用在一个序列[x1, x2, x3...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算,其效果就是: def ad

十分钟快速入门 Python,看完即会,不用收藏!

本文以 Eric Matthes 的<Python编程:从入门到实践>为基础,以有一定其他语言经验的程序员视角,对书中内容提炼总结,化繁为简,将这本书的精髓融合成一篇10分钟能读完的文章. 读完本篇文章后,可对 Python 语言特性.编码风格有一定了解,并可写出简单的 Python 程序. 100?多位经验丰富的开发者参与,在 Github 上获得了近?1000?个?star?的开源项目想了解下吗?项目地址:github.com/cachecats/c- 一.安装与运行 各个系统的 Pyth

程序员带你十天快速入门Python,玩转电脑软件开发(二)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 上节课主要讲解了以下内容: 为什么学习Pyth

程序员带你十天快速入门Python,玩转电脑软件开发(三)

声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言.有梦想,立志做全栈攻城狮的你 . 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 这是高级程序员快速入门Python语言课程.助你快速学习Python语言.这是第三课. 程序员带你十天快速入门Python,玩转电脑软件开发(一) 程序员带你十天快速入门Python,玩转电脑软件开发(二) 因技术知识连贯性,还没有学习前两课的同学,建议点

程序员带你十天快速入门Python,玩转电脑软件开发(一)

关注今日头条-做全栈攻城狮,学代码也要读书,爱全栈,更爱生活.提供程序员技术及生活指导干货. 如果你真想学习,请评论学过的每篇文章,记录学习的痕迹. 请把所有教程文章中所提及的代码,最少敲写三遍,达到熟悉的效果. 声明:本次教程主要适用于已经习得一门编程语言的程序员.想要学习第二门语言的你.有梦想的你,立志做全栈攻城狮. 如果是小白,也可以学习本教程.不过可能有些困难.如有问题在文章下方进行讨论.或者添加QQ群538742639.群马上就满了,名额不多. 目录: 为什么学习Python? Pyt

Python语言十分钟快速入门

Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. AD:[51CTO技术沙龙]移动时代数据挖掘和行为分析—让用户数据更精彩! [简介] Python(蟒蛇)是一种动态解释型的编程语言.Python可以在Windows.UNIX.MAC等多种操作系统上使用,也可以在Java..NET开发平台上使用. python logo [特点] 1 Python使用C语言开发,但是Python不再

十分钟-Nginx 入门到上线

转载:https://gold.xitu.io/post/58846fceb123db7389d2b70e 前言 ??由于微信小程序要使用Https,但是又不能修改已有线上的配置.所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器.Nginx由于其优良的性能.一台4核16GB的内存完全可以支撑日均百万pv级别的访问. 基础知识 ??Nginx由于使用了 epoll模型,要求linux的内核必须在2.6以上.要了解epoll模型,可以看看知乎上的这篇文章I

十分钟-Nginx入门到上线

前言 ??由于微信小程序要使用Https,但是又不能修改已有线上的配置.所以最简单的方法就是使用nginx转发,在nginx上使用https,然后再转发到内部服务器.Nginx由于其优良的性能.一台4核16GB的内存完全可以支撑日均百万pv级别的访问.基础知识??Nginx由于使用了 epoll模型,要求linux的内核必须在2.6以上. 使用 uname -a 查看Linux 内核版本,如下是Centos 6.5的显示: Linux VM_26_145_centos 2.6.32-504.30