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

相关推荐

  • Python 部分知识点总结(六)

    此篇博客只是记录第八周未掌握或不熟悉的知识点,用来加深印象。

    Python笔记 2018-05-02
  • Python学习第十三周总结

    网络协议和管理、http服务和Apache

    2018-06-03
  • 选择排序 以及 set、dict、习题练习

    习题练习 仅作参考

    2017-10-10
  • Python函数式编程指南(四):生成器

    生成器是迭代器,同时也并不仅仅是迭代器,不过迭代器之外的用途实在是不多,所以我们可以大声地说:生成器提供了非常方便的自定义迭代器的途径。 这是函数式编程指南的最后一篇,似乎拖了一个星期才写好,嗯…… 转载请注明原作者和原文地址:) 4. 生成器(generator) 4.1. 生成器简介 首先请确信,生成器就是一种迭代器。生成器拥有next方法并且行为与迭代…

    Linux干货 2015-03-11
  • Ipython封装解构

    IPython Shell命令 !command 执行shell命令 !ls -l , !touch a.txt file = !ls -l | grep py 魔术方法 使用%开头的,IPython内置的特殊方法 %magic 格式 %开头是line magic %% 开头是cell magic,notebook的cell %alias 定义一个系统命令的…

    2018-04-09
  • Python线程指南

    本文介绍了Python对于线程的支持,包括“学会”多线程编程需要掌握的基础以及Python两个线程标准库的完整介绍及使用示例。 注意:本文基于Python2.4完成,;如果看到不明白的词汇请记得百度谷歌或维基,whatever。 尊重作者的劳动,转载请注明作者及原文地址 >.< 1. 线程基础 1.1. 线程状态 线程有5种状态,状态转换的过程如…

    2015-03-13