python学习第9-10天,函数。

函数初识

为什么要使用函数?

函数最重要的目的是方便我们重复使用相同的一段程序。

将一些操作隶属于一个函数,以后你想实现相同的操作的时候,只用调用函数名就可以,而不需要重复敲所有的语句。

函数的定义与调用

定义:def 关键词开头,空格之后接函数名称和圆括号(),最后还有一个":"。

def 是固定的,不能变,他就是定义函数的关键字。)

空格 为了将def关键字和函数名分开,必须空(四声)当然你可以空2格、3格或者你想空多少都行,但正常人还是空1格。

函数名:函数名只能包含字符串、下划线和数字且不能以数字开头。虽然函数名可以随便起,但我们给函数起名字还是要尽量简短,并能表达函数功能。

括号(调用操作符):

    1. 不带括号时,调用的是这个函数本身 ,是整个函数体,是一个函数对象,不须等该函数执行完成。
    2. 带括号(参数或者无参),调用的是函数的执行结果,须等该函数执行完成的结果。

参数:接收不同的数据在同样的代码中执行。

注释:每一个函数都应该对功能和参数进行相应的说明,应该写在def定义函数下面第一行。以增强代码的可读性。

调用:就是 函数名() 要记得加上括号。

 

函数的参数

为了让函数能够重复使用。如果函数中重复的程序只有变量有所变化时,我们可以通过设置参数来改变同一段函数中运行的过程。

这个在调用函数时设置参数的过程就叫做传递参数。简称:传参。

在函数的定义与调用中。

定义时函数中的参数为:形式参数。

形式参数又简称形参,形参只是形式上设置参数,设置变量进入函数中进行运行时的位置。是一个变量名。

调用时函数中的参数为:实际参数。

实际参数又简称实参,实参是调用函数时实际使用的参数,通过传递实参给形参,使参数在代码中运行起来。

函数的注释

""" """ 官方推荐
运行: 查看注释: func名.__doc__
查看函数名: func名.__name__

函数的运行顺序

     加载顺序:
1.内置空间
2.全局空间
3.局部空间
取值顺序:
1.局部空间
2.全局空间
3.内置空间

函数的作用域

全局作用域

内置 + 全局局部作用域

局部

global : 在局部修改全部变量,如果没有就创建一个新的。

nonlocal : 在局部空间内,修改离自己最近的变量,如果上一层没有就继续向上找,直到找到局部变量的顶层,局部空间内没有可以修改的变量,就报错。

在内层函数中使用和全局空间中同名的变量:

只有两种方法:

  1. 直接使用
  2. 更改

TIP:如果直接使用一个变量,默认是全局的,不能在内层函数中对全局变量进行修改。

函数的返回值

  • return
  1. 结束整个函数
  2. 给函数的执行者(调用者)返回值。
    1.  不写return时,函数运行后的值为None
    2.  当return的值没有指定时,函数返回一个None。
    3.  当return的值为一个时,返回指定的值,并且值的类型不变。
    4.  当return的值为多个时,将所有的值加入一个空元组中,值的类型是元组。
原文地址:https://www.cnblogs.com/heimajia/p/10522730.html