初识函数
目录
1.函数的简介
2.函数的定义
3.返回值return
4.形参和实参
形参(位置参数、默认参数、不定参数)
实参(位置参数、关键字参数、混合参数)
5.第一类对象
6.函数的嵌套
名称空间
作用域
global
nonlocal
一.函数的简介
对一段代码的封装(功能或者动作)
二.函数的定义
def 函数名():
函数体
函数名()
ps: def是定义函数的关键字,函数名相当于一个变量名,函数体主要定义的功能,函数名() 调用一段函数。
三.返回值return
遇到return之后的函数体就不会执行,return后面可以跟返回值,如果不跟返回值返回的结果为none,如果跟一个返回值就返回一个str,如果跟多个返回值就返回一个元组。调用者可以直接结构成多个变量。还可以用一个变量去接收return返回的值做进一步的判断。
def yue():
print("please take out your phone")
print("open the app for dating")
print("find a beautifull girl")
return "全都是old women"
print("ask for a data")
result = yue()
print(result)
def compare(a,b):
c = a if a > b else b
return c
result = compare(100,20)
print(result)
四.形参和实参和传参的概述
形参(位置参数、默认参数、不定参数)
写在函数声明的地方叫形参,相当于一个变量的存在,如果定义了形参那么必须给实参,否则会报错
1.位置参数:顾名思义按照位置来的。
2.默认参数:定义了默认参数的时候,调用的时候就不用给传参。
3.不定参数(动态参数)
*args:动态接手位置参数,以元组的形式保存
**kwargs:动态接手关键字参数,以字典的形式保存
执行顺序:位置 > *args > 默认值 > **kwargs
* ** 在形参表示聚合,在实参表示打散
实参(位置参数、关键字参数、混合参数)
执行函数时给的参数,相当于一个变量的值。
1.位置参数
2.关键字参数
3.混合参数
执行顺序:位置参数在前关键字参数在后。
传参 :在实参里给的值会被赋予给形参这个过程叫作传参。
五.第一类对象
函数的本质就是变量,因此除了不能做运算以外,可以实现变量能做的所有操作。
六.函数的嵌套
名称空间
1.内置名称空间:解释器内部的一些东西如:input len range 等......
2.全局名称空间:在全局py文件中定义...(变量,函数)
3.局部名称空间:在函数内部的变量及函数
作用域
全局作用域:可以到处调用(内置名称空间+全局名称空间)globals()查看全局
局部作用域:局部使用,函数内部,局部名称空间 locals()查看当前作用域
global
1.在局部创建全局变量
2.在局部引入全局变量
nonlocal
在局部,内层函数引入外层函数的变量