1. 函数参数-默认参数

  python函数也可以跟C语言一样,在函数的形参中设定默认值。

  >>> def test(flag, port = 8080)

  ... print port,flag

  默认参数可以节省比较多的时间,一般设定都是比较合适的值。

2.函数参数-可变长参数

  有时候可能需要传入的参数是不确定的,这时候可以使用可变长度的参数列表,类似C语言中的varargs参数,python的可变长度参数有2种形式:非关键字的可变长度参数和关键字的可变长度参数。

  非关键字可变长度参数:指参数是元组类型(tuple)。一般参数前面使用*表示。

  

def test(flag, *testtuple):

  print flag

  print testtuple

test(1)

输出:

>>>
1
()

test(1,4,5,6,7)

输出:

>>>
1
(4, 5, 6, 7)

  关键字可变长度参数:指参数是字典类型,一般参数前面使用**表示,具有键-值对。

def test(flag, **testdict):     print flag     print testtuple

test(1)

输出:

>>>
1
{}

3. 函数式编程

  lambda表达式:是一个快速的函数表达方式,必须是在一行,不是代码块。

  >>> f=lambda a,b,c:a+b+c
  >>> f(2,3,5)
  10

  filter函数:对给定的序列进行筛选,如果结果为真,将被添加到一个新的序列中。

  

  >>> def f1(x):

    if x>5:

       return True

    else:   return False

  >>> ls=[1,3,0,-2,5,8,2,56,6,2,9]

  >>> filter(f1,ls)

  [8, 56, 6, 9]

  map函数:对给定的序列调用对应函数,将结果对应到序列的每个位置上,得到一个具有所有返回值的序列。map(func,seq1,seq2...),如果func为空,则相当于zip的功能。

  >>> l1=[0,1,2,3,4,5]
  >>> l2=[2,3,4,5,6,7]
  >>> map(f2,l1,l2)
  [2, 4, 6, 8, 10, 12]

  reduce函数:reduce(func,seq1,seq2...), 即为化简,将上一次迭代的结果与下一个seq序列执行二元func函数。最终获得一个值,化繁为简。

  >>> from functools import reduce

   >>> def f3(x,y):  return x+y

  >>> sum = reduce(f3,(12,3,4))

  >>> print sum

  19

转载于:https://www.cnblogs.com/Daisy123/p/5969731.html

python 基础学习3-函数相关推荐

  1. Python基础学习四 函数

    1.内置函数 Python内置了很多有用的函数,是可以直接调用的. 参考链接:https://docs.python.org/3/library/functions.html 调用函数的时候,如果传入 ...

  2. Python基础学习8 函数

    1.函数的基础: 这里定义了一个计算斐波那契数列的函数.其中第二列是函数的说明,通过调用__doc__ 这个属性,或者用help,来读取. 这个函数有参数,有返回值. 如果返回值有多个,会以元祖的形式 ...

  3. Python基础学习_函数数def_返回值及返回值类型_函数块

    一. 返回值 函数作用:显示输出.处理数据并返回数据结果 函数返回值的定义:函数返回值被称为返回值 写法: 函数体内 return 返回值 (将值返回到调用函数的代码行) 返回值类型: "& ...

  4. Python基础学习之 函数

    阅读目录 第一篇:  函数初识 第二篇:  函数命名空间 作用域 闭包 第三篇:  装饰器 第四篇:  装饰器 面试题错误点 第五篇:  迭代器生成器 第六篇:  生成器进阶 第七篇:  递归 第八篇 ...

  5. Python基础学习(函数、模块、面向对象)

    一.高阶函数 #1.一个函数作为另一个函数的返回值 #2.一个函数作为另一个函数的参数 #3.函数内部在定义一个函数 #1 def fj():print('我fj被调用')return 'fj' de ...

  6. python导入模块的语法结构_python学习第五讲,python基础语法之函数语法,与Import导入模块....

    python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 函数,就是一个代码块,这个代码块是别人写好的.我们调用就可以. 函数也可以称为方法. 1.函数语法定义 ...

  7. python心得体会-终于懂得python基础学习心得

    为了提高模块加载的速度,每个模块都会在__pycache__文件夹中放置该模块的预编译模块,命名为module.version.pyc,version是模块的预编译版本编码,一般都包含Python的版 ...

  8. python开发需要掌握哪些知识-Python基础学习需要掌握哪些知识

    1.1Python的对象 python的内置对象类型有很多,包括数字,字符串,列表,集合,元组,字典等等,在Python中,一切皆对象 pickle腌制--在Python中,如果有一些对象需要持久性存 ...

  9. Python基础day05【函数(局部变量、全局变量、多函数执行流程、函数返回值、函数参数)、拆包、引用、可变与不可变类型、函数注意事项】

    视频.源码.课件.软件.笔记:超全面Python基础入门教程[十天课程]博客笔记汇总表[黑马程序员] Python基础day05[函数(函数传参的两种形式.函数形参).拆包.引用.可变与不可变类型.引 ...

  10. Python基础学习笔记三

    Python基础学习笔记三 print和import print可以用,分割变量来输出 import copy import copy as co from copy import deepcopy ...

最新文章

  1. [译] RxJS: 避免 takeUntil 造成的泄露风险
  2. latex目录标题中间空一个字符
  3. 深度学习的实用层面 —— 1.13 梯度检验
  4. 另辟蹊径第二弹,时间规律里的秘密
  5. 前后端开发的心得体会_社招后端三面总结以及学习经验感言(操详细)
  6. 使用 Python爬虫+OpenCV 通过摄像头 二维码识别 来得到官方接口的反馈数据 从而实现实时准确地 检测健康码状态(获取JS动态数据)
  7. 分享几个设计精美电路图的工具
  8. Android网络框架情景分析之NetworkManagementService和Netd交互深入分析二
  9. Pandas高级教程之:自定义选项
  10. python爬虫beautifulsoup爬当当网_利用python爬虫可视化分析当当网的图书数据!
  11. linux kfifo的使用
  12. 舒亦梵:这十个小技巧,教你炒黄金长久获利
  13. Bongo Cat桌面小猫咪单手双手全键盘,写代码效果太舒服
  14. 优先使用TimeUnit类中的sleep()(转自 ImportNew - 刘志军 翻译自 javarevisited)
  15. Ubuntu 17.10/内核4.13.0 vmware 提示 Not Enough Physical Memory 解决方法
  16. 用noMeiryoUI为Windows10换个OPPO Sans字体吧
  17. 百度云盘和谐下载和云播
  18. 博彦科技JAVA笔试题及答案
  19. 区块链知识整理之系统架构及各层功能
  20. 移动端常用的几种适配方案

热门文章

  1. Oracle计算时间差表达式
  2. 4.3.2 IP数据报分片
  3. Aurora 8B/10B、PCIe 2.0、SRIO 2.0三种协议比较
  4. linux编辑conf文件命令,redhat linux7.3字符模式下: vi ***.conf 文件,又用什么命令才可编辑文件啊!!!!??...
  5. 如何区分直连串口线和交叉串口线?
  6. 云上人第七代产品简单的代码
  7. 给Resnet加人工经验提升30%的准确率
  8. Oracle 12C 利用Rman Duplicate搭建 Data Guard
  9. WCF 4.0 进阶系列 – 第十二章 实现单向操作和异步操作(下)
  10. 在ASP.NET MVC里对Web Page网页进行权限控制