美文网首页
python学习干货教程(16):函数

python学习干货教程(16):函数

作者: 追逐AI奇点 | 来源:发表于2019-05-09 15:35 被阅读0次

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

定义函数

函数的第一行语句可以使用文档字符串———用于存放函数说明。

语法:

def 函数名(参数列表):

       函数体

参数

关键字参数:(调用时指定传参对象)使用关键字参数允许函数调用时参数的顺序与声明时不一致。

不定长参数

调用时传入的比当初声明时更多的参数,叫做不定长参数。传参时可以不传入不定长参数。

基本语法如下:

def functionname([formal_args,] *var_args_tuple )::     # 星号 * 的参数会以元组(tuple)的形式导入,存放所有未命名的变量参数。

    "函数_文档字符串" 

    function_suite

    return [expression]

参数带两个星号 **基本语法如下:

def functionname([formal_args,] **var_args_dict ):       # 两个星号 ** 的参数会以字典的形式导入。

     "函数_文档字符串"

     function_suite

     return [expression]

声明函数时,参数中星号 * 可以单独出现,如果单独出现星号 *,那它后面的参数必须用关键字传入。

参数传递

变量和类型 传参(传对象) 传不可变对象 传可变对象

匿名函数

python 使用 lambda 来创建匿名函数。匿名,意即不再使用 def 语句这样标准的形式定义一个函数。写在一行

lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。仅仅能在lambda表达式中封装有限的逻辑进去。

不等同于(C或C++的内联函数——目的是调用小函数时不占用栈内存从而增加运行效率。)

语法:

lambda [arg1 [,arg2,.....argn]]:表达式

return语句

用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。

None是python中的一个特殊的常量,表示一个空的对象,None和任何对象比较返回值都是False,除了自己。

变量作用域

在Python程序中创建、改变、查找变量名时,都是在一个保存变量名的空间中进行,我们称之为命名空间,也被称之为作用域。python的作用域是静态的,在源代码中变量名被赋值的位置决定了该变量能被访问的范围。即Python变量的作用域由变量所在源代码中的位置决定。

Python的作用域一共有4种,分别是:

L (Local) 局部作用域

E (Enclosing) 闭包函数外的函数中

G (Global) 全局作用域

B (Built-in) 内置作用域(内置函数所在模块的范围)

以 L –> E –> G –>B 的规则查找,即:在局部找不到,便会去局部外的局部找(例如闭包),再找不到就会去全局找,再者去内置中找。

作用域

Python 中只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域,其它的代码块(如 if/elif/else/、try/except、for/while等)是不会引入新的作用域的。也就是说这些语句内定义的变量,外部也可以访问。

全局变量和局部变量

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。

局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。

global 和 nonlocal关键字

内部作用域想修改外部作用域的变量时,可以用global关键字:

global 外部作用域变量

要修改嵌套作用域(enclosing 作用域,外层非全局作用域)中的变量则需要 nonlocal 关键字:

相关文章

  • python学习干货教程(16):函数

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 定义函数 函数的第一行语句可以使用文档字符串—...

  • Python

    教程类 Python 教程 官方教程Python 标准库ctypes --- Python 的外部函数库pyt...

  • Python实用教程系列——推导式和Lambda表达式

    上次推文我们一起学习了python中的高级函数——Python实用教程系列——高阶函数Map、Filter、Red...

  • 05.最后任务---生成照片墙

    学习一个知识python匿名函数(lambda表达式) 参见python基础教程 了解一个函数point 准备 1...

  • python:基础知识详解

    $课程笔记 python相关函数查询 官方API文档 菜鸟教程python w3school教程python 一....

  • Python初级教程(16): 函数的参数

    在Python中,函数参数的数目是可以变化的。在本文中,您将学习如何使用函数的参数。 在上一节Python初级教程...

  • (python)if __name__ == '__ma

    学习的python教程是Python-100-Days 在学习第6课“函数与模块的使用”时遇到了这样一道例题: #...

  • Python入门

    Python3教程 安装Python 第一个Python程序 Python基础 函数 高级特性 函数式编程 模块 ...

  • Python:3.函数

    调用函数 定义函数 函数的参数 递归函数 参考 廖雪峰的Python教程

  • python进阶

    教程地址:python进阶 - 慕课网 python函数式编程 变量可以指向函数: f = absprint(f)...

网友评论

      本文标题:python学习干货教程(16):函数

      本文链接:https://www.haomeiwen.com/subject/ezbvoqtx.html