本节内容:
1.什么是函数
2.函数的定义,函数名,函数体以及函数的调用.
3.函数的返回值
4.函数的参数
一.什么是函数
我们可以定义一个事情或功能,等到需要的时候去用就好了,那么这里定义的东西就是一个函数.
函数:对代码块和功能的封装和定义
二.函数的定义
函数名,函数体,以及函数的调用,我们使用def关键字来定义函数的
定义语法:
def 函数名( 形参 )
函数体
函数名( ) #调用函数
例题:
def yue( )
print("约定一起看电影!")
yue ( ) #调用函数===>结果就是打印"约定一起看电影"
三.函数的返回
执行函数之后,可以使用return 来返回结果
1.函数中遇到return,此函数结束,不再继续执行下面的代码
def yue( )
print("约你")
print("约他")
return
print("哈哈") #前面有returu,所以ruturn后面的代码不会被执行.
2.给函数的调用者一个访问结果
def yue( )
print("约你")
return "美女一枚","宝宝" #return返回值可以有多个结果
girl = yue()
print("gril") ===>则会输出"美女一枚","宝宝"
总结:
1.遇到return,此函数结束,函数后面的东西将不再执行
2.return 返回值
关于返回值:
如果return什么都不写或没有写return,返回NONE
如果return后面写了一个值,则调用者可以接受一个结果.
如果return后面写了多个结果,则最终结果是将所有的返回值放在一个tuple元祖中存放.
四.函数参数
def yue( chat )
print("打开"+ chat)
yue ( 微信 ) #调用函数的地方给出一个实参,传递给函数位置的形参数,然后,形参在函数被调用的过程中写入到程序中.
#例子中"微信"被传递并调用,则最终输出结果是---"打开微信"
关于参数:
1.形参
函数声明位置的变量叫做形参
2.实参
函数调用是传递给函数的参数,叫做实参
3.传参
在整个函数被调用的过程中,将实参传递给形参数的过程就叫做传参.
参数的分类:
首先我们看看实参:
4.11位置参数
在函数被调用的过程中,将形参的值直接给出来,如: "宝宝",22,"女",1 分别和定义函数时的name,age,sex,id 一一对应
def fn(name,age,sex,id):
print("名字:%s 年龄:%s 性别:%s id:%s " % (name,age,sex,id))
return "我的"
se = fn("宝宝",22,"女",1)
print(se)
4.1.2关键字参数
在函数被调用的过程中,分别把每个变量的值都给出来,如: name="宝宝",22,sex="女",id=1 (顺序可以改变) 和定义函数位置的 (name,age,sex,id)是互相对应的.def fn(name,age,sex,id):
print("名字:%s 年龄:%s 性别:%s id:%s " % (name,age,sex,id))
return "我的"
se = fn(name="宝宝",22,sex="女",id=1)
print(se)
4.13混合参数
在函数被调用过程中,有些变量的值是位置参数按照顺来一一赋值的,而有一部分的值是关键字参数来赋值的.
def fn(name,age,sex,id=1):
print("name=%s age=%s sex=%s id=%s " % (name,age,sex ,id))
se =fn("大宝宝",18,id=1,sex="女")
注意:先使用位置参数赋值,然后再使用关键字赋值,使用过了关键字赋值就不能再使用参数赋值.------->关键字参数必须在位置参数后面
4.2从形参角度看,一共分为三种
4.2.1 位置参数
按照位置来赋值
4.2.2
再函数声明是就可以给出函数参数的默认值,再调用的时候给出具体的值,也可以不给,使用默认值.
函数再调用过程中,形参数id=1,已近给了一个默认值1,如果调用时给出id则使用被调用者给出的id值,否则使用默认的id=1.
def fn(name,age,sex,id=1):
print("name=%s age=%s sex=%s id=%s " % (name,age,sex ,id))
se =fn("大宝宝",18,id=1,sex="女")
注!!必须先声明位置参数,才可以声明位置参数的默认值