[python] 之 函数简介

函数是对程序逻辑进行结构化或过程化的一种编程方法,详细的说明请参考《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,一次运算处理序列,直至结束。

时间: 2024-12-14 21:44:32

[python] 之 函数简介的相关文章

python常用函数简介

匿名函数,lambda函数 a = lambda x,y:x+y print(a(1,2)) b = map(a,(1,),(2,)) print(list(b)) map()函数在python3中返回一个迭代器,需要用list方法才能取出值 函数中带有默认参数时,不填写则拥有默认参数,关键参数必须放在位置参数后面 def func(name,age,country = 'CN'): print("name",name) print("age",age) print

python min函数

一.python min函数简介 min函数返回给定参数的最小值,参数可以为序列语法: min( x, y, z, .... ) 返回值:返回参数中的最小值: 二.python min函数使用 # !usr/bin/env python # -*- coding:utf-8 _*- """ @Author:何以解忧 @Blog(个人博客地址): shuopython.com @WeChat Official Account(微信公众号):猿说python @Github:ww

(转)python生态环境简介

Python生态环境简介 作者: Mir Nazim 原文: Python Ecosystem - An Introduction 译者: dccrazyboy  原译: Python生态环境简介 当开发人员从PHP,Ruby或者别的开发环境转换到Python时,所面对的最大问题是缺乏对Python开发的生态环境的充分理解.开发人员非常想得到一份关于完成大多数任务的指南或资源,而不论使用的方法是否规范. 下文所讲到的基本上都来源于我的网站,那存储着Python环境下对于网络应用开发的一些基本资料

python装饰器简介

在了解装饰器的之前一定要先了解函数作为参数传递, 什么是函数内嵌,请参考我之前写的博客函数简介 python装饰器思想有点类似设计模式的装饰模式, 其意图是动态地给函数对象添加额外的功能.比如像增加日志打印的功能,有点面向切面编程(AOP)的感觉. 装饰器语法 以@开头,接着后面跟着的是装饰器的名字和可选的参数.装饰器语法是一种语法糖. 格式如下 @decomaker(deco_args) def foo(func_opt_args) 可以组合,等价于foo = g(f(foo)) @g @f

Python面向对象编程——简介

Python面向对象编程--简介 编程范式 编程是程序员用特定的语法+数据结构+算法组成的代码来告诉计算机如何执行任务的过程 . 一个程序是程序员为了得到一个任务结果而编写的一组指令的集合,正所谓条条大路通罗马,实现一个任务的方式有很多种不同的方式, 对这些不同的编程方式的特点进行归纳总结得出来的编程方式类别,即为编程范式. 不同的编程范式本质上代表对各种类型的任务采取的不同的解决问题的思路, 大多数语言只支持一种编程范式,当然也有些语言可以同时支持多种编程范式. 两种最重要的编程范式分别是面向

python基础——函数(1)

1.1函数简介 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数使用包含两个步骤: 1,定义函数——封装 独立的功能 2,调用函数——享受封装的成果(如果是在另一个py文件中调用,需要使用import关键字导入原包含函数的py文件才可以调用使用函数) 函数的作用:在开发时,使用函数可以提高编写的效率以及代码的重用 1.1.1 函数的定义 定义函数的格式如下: def 函数名(): 函数封装的代码 ..... 1,def是英文define的缩写 2,函数名称应该能够表达

python update函数(20)

在前一篇文章  python ChainMap中我们介绍了关于python内置函数 ChainMap的使用,ChainMap函数和update函数类似,都是对字典操作,也是将多个字典合并,那么问题来了?ChainMap和update两者区别在哪呢? 一.update简介 python 字典(Dictionary) update() 函数把字典dict的键/值对更新到另外一个dict里. dict1= {"a":"zhangsan","b":&qu

python isinstance函数(21)

1. 简介 isinstance() 函数是 python 中的一个内置函数,主要用于检测变量类型,返回值是bool值 ,在python内置函数中,与该函数相似的还有另外一个内置函数  type(). 2.语法 isinstance(object,classinfo) 参数: object : 实例对象. classinfo : 可以是直接或者间接类名.基本类型或者由它们组成的元组. 返回值:如果对象的类型与classinfo类型相同则返回 True,否则返回 False. a = 2 isin

python all函数(26)

一.all函数简介 语法: all(iterable) 参数:iterable迭代器,元组或者列表 返回值:如果iterable迭代器中的所有元素全部都为真,返回true:反之返回false; 提示:只要列表中的元素不含有 0.None.False 外都算 True,即便是空元组或者空列表也为true: a = list() # 空列表list print("{}".format(all(a))) # true a = [None,] # 列表中含有None 元素 print(&quo