python函数知识点,你掌握几个?

python函数的简单介绍和用法

python 函数
构成:由若干语句组成的语句块、函数名称、参数列表构成,他是组织代码的最小单位。
作用:1、结构化编程对代码的最基本的封装,一般按照功能组织一段代码
2、复用
3、代码更加简洁美观,可读易懂

def语句定义函数:
def 函数名(参数列表)
函数体(代码块)
return 返回值
可以没有return语句,隐式会返回None值
函数调用:函数名(),括号内写参数

 

参数:
定义中的参数为形参,只是一种符号的表达。调用中的参数为实参,是真正的值。定义要在调用前。
函数参数:分为 位置参数、关键字参数、可变参数(可变位置参数 *,可变关键字参数 **)、      keyword-only参数(可变位置参数之后)。
位置可变参数收集实参形成一个tuple,关键字可变参数收集实参形成一个dict
参数默认值:可以在未传入足够的实参的时候,对没有给定的参数赋值为默认值
位置参数要在关键字参数之前传入,可变参数要放在最后,keyword-only在位置可变参数后。
参数结构:
给函数提供实参时,可以在集合类型前使用*或者**,把集合类型的结构解开,提取出所有元素作为函数的实参。提取出的元素数目和类型要和参数的要求匹配。

 

函数的返回值:
用return语句返回 返回值,如果没有return,默认返回None
return语句并不一定是函数语句块的最后一条语句
一个函数可以存在多个return语句,但只会执行一条
如果函数执行了return语句,函数就会返回,之后的语句就不会被执行
函数不能同时返回多个值

 

函数嵌套:
在一个函数中定义了另外一个函数。
作用域:
一个表示符的可见范围,就是表示符的作用域,一般常说的是变量的作用域。
全局作用域:在整个程序运行环境中可见
局部作用域:在函数、类等内部可见。局部变量使用范围不能超过其所在的局部作用域。
外层变量作用域在内层作用域可见,相反不可见。
全局变量global:使用global关键字的变量,将内部作用域的变量声明为全局作用域中定义的变量。
闭包:出现在嵌套函数中,指的是内层函数引用到了外层函数的自由变量(自由变量:本层没有定义定    义在外层)但外层不能是全局,形成闭包。使用nonlocal关键字。

默认值的作用域:用(标识符.__defauits__)查看默认值。默认值本身不会变,但是默认值引用一个可变 类型(如list),引用类型的元素可以变动。
可以使用None作为默认参数,通过值的判断就可以灵活的选择创建或者修改传入对象 。
例子:def foo(x=None):
if x is None:
x=[]

函数的销毁:
全局函数销毁:重新定义同名函数、del 语句删除、程序结束时
局部函数销毁:重新在上一级作用域定义同名函数、del语句删除、上级作用域销毁时

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/87808

赞 (0)
10590628461059062846
上一篇 2017-10-14 17:31
下一篇 2017-10-14 21:44

相关推荐

  • 装饰器

    装饰器 需求 一个加法函数,想增强它的功能,能够输出被调用过以及调用的参数信息 def add(x, y): return x + y 增加信息输出功能 def add(x, y): print(“call add, x + y”)  # 日志输出到控制台 return x + y p 上面的加法函数是完成了需求,但是有以下的缺点 打…

    Python笔记 2018-04-23
  • 函数与生成器

    函数 由若干语句组成的语句块,函数名,参数列表构成,是组织代码的最小单元,完成一定的功能,结构化编程对代码的最基本的封装,封装的目的是为了复用 函数中没有return,隐式会返回一个none值 定义中的参数列表成为形式参数,只是一种形式表达,简称形参 调用时写的参数是实际参数,是实实在在传入的值,简称实参 函数的定义,只是声明了参数,不会执行,可以进行调用,…

    2018-04-16
  • DevOps如何重构IT战略

    翻译: 至尊宝 原文: http://www.citeworld.com/article/2897738/development/how-devops-can-redefine-your-it-strategy.html?page=2   DevOps究竟是昙花一现还是你一直在寻找的竞争优势?我们咨询了一些专家,对于这种趋势他们的想法是什…

    Python干货 2015-03-26
  • Python爬虫入门

    自己在网上学习的一些内容,分享给大家,希望大家和我一样,可以快速掌握Python爬虫 一、爬虫入门 1. Python爬虫入门一之综述 2. Python爬虫入门二之爬虫基础了解 3. Python爬虫入门三之Urllib库的基本使用 4. Python爬虫入门四之Urllib库的高级用法 5. Python爬虫入门五之URLError异常处理 6. Pyt…

    2018-01-23
  • Python数据结构

    数据结构个人总结,方便以后查找。

    Python笔记 2018-04-01
  • 基于Python和MoviePy库实现数据的动态展示

    基于Python和MoviePy库实现数据的动态展示 (翻译:以马内利)  原文链接:Data Animations With Python and MoviePy   Python拥有很多实现数据可视化的库,但是很少可以展示GIFs的动态视图。 这篇博客主要介绍怎样使用MoviePy库作为一个其他可视化库的通用插件。 Movi…

    2015-03-26