python学习笔记:第9天 函数初步
程序员文章站
2022-07-02 22:46:16
1. 函数的定义及调用 函数 :所谓的函数可以看作是对一段代码的封装,也是对一个功能模块的封装,这样方便在下次想用这个功能的时候直接调用这个功能模块,而不用重新去写。 函数的定义:我们使用 关键字来定义函数,定义函数的语法为 这⾥的函数名的命名规则和使⽤和变量基本⼀样.⾃⼰回顾⼀下变量的命名规则. ......
1. 函数的定义及调用
函数:所谓的函数可以看作是对一段代码的封装,也是对一个功能模块的封装,这样方便在下次想用这个功能的时候直接调用这个功能模块,而不用重新去写。
- 函数的定义:我们使用
def
关键字来定义函数,定义函数的语法为
def 变量名(): 函数体
这⾥的函数名的命名规则和使⽤和变量基本⼀样.⾃⼰回顾⼀下变量的命名规则.
函数体: 就是函数被执⾏之后要执⾏的代码
我们来定义⼀个约x功能:
def yue(): print("拿出⼿机") print("打开陌陌") print("找个漂亮的妹⼦") print("问她, 约不约啊?") print("ok. ⾛你!")
哦了定义完了. 但是这个时候去执⾏. 会发现什么都没有发⽣. 因为我只定义了⼀个函数. 但是还没有执⾏过这个函数.
- 函数的调⽤: 使⽤函数名可以调⽤函数, 写法: 函数名(), 这个时候函数的函数体会被执⾏
# 调⽤yue()函数 yue()
结果:
拿出⼿机 打开陌陌 找个漂亮的妹⼦ 问她, 约不约啊? ok. ⾛你!
看⼀下执⾏过程:终于可以约了. 如果我还想约呢? 多次调⽤就可以了. 很⽅便.
2. 函数的返回值
从上面的结果分析,我们已经定义了一个函数并且可以正常执行;但是我们发现并没有返回值,好像程序执行结束后除了执行过程中打印的信息外,我们并不知道执行的结果;其实,函数执行完之后是由默认的返回值none的。
要指定返回的话要使用return关键字,返回指定的结果:
def yue(): print("约你") print("约我") print("约他") return "美⼥⼀枚" girl = yue() print(girl) # 美⼥⼀枚
return也可以返回多个值:
def yue(): print("约你") print("约我") print("约他") return "美⼥⼀枚", "萝莉一枚" girl = yue() print(type(girl)) # tuple
关于返回值及return可以总结如下:
- 函数在执行过程中一遇到return就会终止函数的执行
- return可以指定返回的数据,默认为none
- 如果只写return,或者不写return,默认返回none
- 如果后面写了一个返回值,那么调用者(函数的返回值都是返回给调用者)可以接收一个参数
- 如果后面写了多个返回值,那么调用者接收的是一个元组(可以直接结构成多个变量)
3. 函数的参数
这里有几个定义必须要清楚:
- 实参:在函数调用的时候要传递给函数的值,表示函数执行时使用的所需要的信息
- 形参:在函数定义的时候小括号里的的参数,表示这个函数需要这个参数
- 传参:表示将实参传递给形参的过程
位置参数
python传参的时候如果没有以关键字形式a=xxx
传递变量,默认时按位置顺序传参的:
def compare(x, y): return x if x > y else y # 结果: compare(1, 2) # 2 compare(3, 2) # 3
可以看出实参的第一个参数时对应第一个形参的,第二个也是如此
关键字参数
def func1(name, age): print('my name is {}, and i\'m {} years old'.format(name, age)) func1('zzc', 26) # my name is zzc, and i'm 26 years old def func1(name, age): print('my name is {}, and i\'m {} years old'.format(name, age)) func1(age=26, name='zzc') # 使用关键词传参时,参数的顺序可以变动 # my name is zzc, and i'm 26 years old
上一篇: 机器人也疯狂?世界上最先进的机器人也犯错