- 什么是函数
- 函数定义, 函数名, 函数体以及函数的调⽤
- 函数的返回值
- 函数的参数
什么是函数
函数: 对代码块和功能的封装和定义函数定义, 函数名, 函数体以及函数的调⽤
- 我们使用def关键字来定义函数,函数的定义语法。
def 函数名():
函数体
这里的函数名的命名规则和使⽤用和变量量基本⼀一样。函数体:就是函数被执行之后要执行的代码块。
for example
def demo():
print("这就是函数")
函数定义完成后会发现什么都没有发⽣生. 因为这里只定义了一个函数. 但是还没有执⾏过这个函数.
- 函数的调用:使用函数名可以调用函数。写法: 函数名(), 这个时候函数的函数体会被执⾏。
# 调用函数
demo()
结果:
这就是函数。
分析一下执行过程
def demo(): # 1.定义函数 3.准备开始执行函数
print("这就是函数") # 4.执行函数
# 调用函数
demo() # 2.执行函数 9函数执行完毕
- 函数的返回
执行完函数之后. 我们可以使用return来返回结果.
函数中return的使用:
函数中遇到return, 此函数结束, 不再继续执⾏行行.
def yue():
print("约你")
print("约我")
print("约他")
return
print("约谁呀")
# 这句话不会被执⾏
yue()
- 给函数的调⽤用者一个访问结果
def yue():
print("约你")
print("约我")
print("约他")
return "美⼥女女⼀一枚"
girl = yue()
print(girl)
# 美⼥女女⼀一枚
函数的返回值可以有多个结果
def yue():
print("约你")
print("约我")
print("约他")
return "美⼥女女⼀一枚", "萝莉⼀一枚"
girl = yue()
print(type(girl))
# tuple
- 函数的参数
形参 写在函数声明的位置的变量量叫形参. 形式上的⼀一个完整. 表⽰示这个函数需要xxx
实参 在函数调⽤用的时候给函数传递的值. 叫实参, 实际执⾏行行的时候给函数传递的信息. 表⽰示给函数 xxx
传参 给函数传递信息的时候将实际参数交给形式参数的过程被称为传参.
def 函数名(参数列列表):
函数体
def yue(chat): # chat 形参
print("拿出⼿手机")
print("打开"+chat)
print("找个漂亮的妹⼦子")
print("约不不约")
yue("陌陌") # 实参
len("字符串串") # "字符串串"在这⾥里里就是实参
print("麻花藤") # "麻花藤"就是实参
4.1 位置参数
def yue(chat, address, age): # 形参
print("拿出⼿手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦子")
print("约不不约")
yue("微信", "北北京", 18)
结果:
拿出⼿手机
打开微信
找个北京附近漂亮的18岁妹子
约不约
在访问yue()的时候, 我们按照位置的顺序分别把"微信", "北京", 18 赋值给 chat, address, age. 在传参过程中. 系统会默认按照位置把实参赋值到形参.
4.2 关键字参数
python提出了一种叫做关键字参数. 我们不需要记住每个参 数的位置. 只要记住每个参数的名字就可以了了
def yue(chat, address, age):
print("拿出⼿手机")
print("打开"+chat)
print("找个"+address+"附近漂亮的"+str(age)+"岁妹⼦子")
print("约不不约")
yue(chat="微信", age=18, address="北北京") # 关键字参数.
结果:
拿出⼿手机
打开微信
找个北京附近漂亮的18岁妹⼦子
约不约
4.3 混合参数
可以把上面两种参数混合着使⽤用. 也就是说在调⽤用函数的时候即可以给出位置参数, 也可以指定关键字参数.
# 混合参数
yue("微信", age=18, address="上海") # 正确.第⼀一个位置赋值给chat, 后⾯面的参数开始
yue(age="18", "微信", address="广州") # 错误, 最开始使⽤了关键字参数, 那么后⾯的微信的位置就串了, 容易出现混乱