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

相关推荐

  • 通过paramiko模块远程抓取日志

        最近一直在学习python,可是工作中一直缺少机会用到这块功能.最近接到一个需求需要拉取6台客户端的某一天jetty日志.因为jetty的日志是保存在jetty的log目录下,以yyyy_mm_dd.stderrout.log的形式保存,所以我们只要创建一个脚本,传入需要查询日志的日期和需要查询日志的主机IP及…

    Python干货 2016-01-16
  • python学习第七周个人总结

    LEGB、递归函数、匿名函数、生成器函数、生成器应用、高阶函数、柯里化、装饰器、类型注解、functools.个人总结,加深印象。

    2018-04-22
  • enumerate用法和转置矩阵求解、效率测试

    enumerate用法和转置矩阵求解、效率测试

    2018-04-08
  • Python内置数据结构——字符串

    知识结构图 学习笔记 字符串 字符组成的有序序列,字符的集合 使用单引号、双引号、三引号引起来的字符序列 不可变对象 Unicode类型 定义 单引号、双引号、三引号 r、R:引号内的字符原样输出 元素访问 索引访问 可迭代 join连接 “string“.join(iteratable) 使用string作为分隔符将可迭代对象连接起…

    2018-03-31
  • Python第二周小结

    不知不觉已经正式学习接触Python两周了,第二周主要开始了Python内置数据结构的学习,包括从一开始的列表list,元组tuple,字符串string,再到后来的bytes, bytearray, 以及最后的集合set。这些数据结构可以说Python最为基础的几种类型,想要用Python写出漂亮的代码离不开对他们的熟练掌握与深刻理解。这几个结构各有各的特…

    Python笔记 2018-03-31
  • python基础

      shell作业 1. 取出文件基名     法一:cat 1.txt | egrep -o “[^/]+$”     法二:awk -F/ ‘{print $NF}’ 1.txt 2. 取ip地址     法一:ifconfig eth0 | grep “inet addr” | awk ‘{print $2}’ | cut -d: -f2  …

    2017-09-17