博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[python] 之 函数简介
阅读量:7069 次
发布时间:2019-06-28

本文共 1423 字,大约阅读时间需要 4 分钟。

函数是对程序逻辑进行结构化或过程化的一种编程方法,详细的说明请参考《python学习手册》,不能及时详细解释,望见谅!。

一、创建函数

1.1 def语句

def function(args):

  "documentation"

  function_body_suite

1.2 声明、定义与参数

  声明指定义了函数名和参数(名),未定义函数主体代码块

  定义指定义函数主体代码块

  参数主要包含位置参数,默认参数,非关键字参数(*args),关键字参数(**kargs),且在创建函数时,必须遵循这个顺序。非关键字参数(*args),关键字参数(**kargs)在创建函数中使用,可收集参数;在调用中使用,可解包参数。谨记默认可变参数陷阱。

1.3 前向引用

  python中,函数不存在前向引用的规则(谁先定义无影响,甚至是无顺序的嵌套),只需要满足在调用前定义即可

  def foo()

    print('foo')

    bar()

  def bar()

    print('bar')

   foo()

1.4 属性

  通过句点属性标识法进行访问和添加属性,函数的属性与函数对象有关,和函数的作用域无关

1.5 内嵌函数

  在函数体内创建另一个函数

1.6 函数装饰器

  @decorator(dec_opt_args)

  def function(args):

    "doc"

    body_suite

  #for example

  @g

  @f

  def foo():

    pass

foo = g(f(foo))

1.7 偏函数

  from functools import partial

  add1 = partial(add, 1)  # add1(x) = add(1, x)

  baseTwo = partial(int,base=2) #将参数base=2,固定为int函数的固定参数。

1.8 闭包 函数

  如果在一个内部函数里,对在外部作用域(但不是在全局可作用域)的变量进行引用,那么这个内部函数就是一闭包,并具有记忆性。

1.9 递归

  如果函数包含了对其自身的调用,该函数就是递归函数

  def factorial(n):

    if n == 1 or n == 0:

      return 1

    else:

      return (n*factorial(n-1))

1.10 函数式编程

  lambda [arg1 [, arg2, ...]]:expr

  lambda表达式返回可调用的函数对象。

1.11 内建函数

  map(),filter(),reduce()均创建了迭代语境,类似与for

  map(func, seqs)遍历序列中的每一个元素,并通过func函数处理,返回所有值组成的列表

  filter(func, seqs)遍历序列中的每一个元素,保留函数返回为布尔真的元素,将所有的值添加到一个列表中并返回

  reduce(func, seqs)取出序列的前两个元素,传入二元函数func来获得一个单一的值,然后将该值同下一个元素,再次传入二元函数func,一次运算处理序列,直至结束。

转载于:https://www.cnblogs.com/xiaofeiIDO/p/6009667.html

你可能感兴趣的文章
Windows Server 2012 AD回收站(四)
查看>>
Windows系统管理笔记(3)
查看>>
(2)Zabbix对客户端监控+报警
查看>>
Twisted入门教程(7)--Deferred
查看>>
MAC下安装NDKR10e
查看>>
我的友情链接
查看>>
github/python/ show me the code 25题(二)
查看>>
Linux系统中常用操作命令
查看>>
expect交互式脚本
查看>>
puppet 安装及核心资源注解
查看>>
末日后老化的服务器五个理由是否该升级?
查看>>
win2003中SID号和GUID
查看>>
大话IS08583报文协议
查看>>
在局域网内知道计算机的名字查找计算机的IP
查看>>
Yii框架目录结构功能注释
查看>>
使用mysqldump工具备份还原Mysql数据库实例及参数详细说明
查看>>
我的友情链接
查看>>
苹果商店2014的对与错
查看>>
Volume Activation Overview
查看>>
Centos 6.4 安装
查看>>