函数
一、什么是函数
函数. 就是对一个代码块或者功能的封装. 什么时候用, 什么时候执行
语法:
def 函数名():
函数体(代码块)
函数的调用: 函数名() # 所有的()都是函数的调用
函数名和变量名一样.
def yue(): print("拿出手机") print("打开探探") print("找一个漂亮的美女") print("聊一聊.") print("走你~~") yue()
二、函数的返回值
函数在执行过程中或者执行完毕, 可以使用return返回给调用者一个结果,只要程序执行到return, 函数就会被停止, 后面的内容就不会再执行。
def yue(): print("拿出手机") print("打开探探") print("找一个漂亮的美女") return # 这里的return终止执行一个函数,下面的不执行 print("聊一聊.") print("走你~~") yue()
给函数的调用者一个访问结果
def yue(): print("约金老板出来吃饭") print("约金角大王, 出来泡澡") return "小姑娘" # 有返回值. 返回值是: "小姑娘" ret = yue() print(ret)
返回值可以是多个元素
def yue(): print("约金老板出来吃饭") print("约金角大王, 出来泡澡") return "小姑娘","小妹妹", "小萝莉", "护士" a, b, c, d = yue() # 解构 不解构,返回值是元祖 print(a, b, c, d)
总结: 1. 直接写个return或者不写return, 不返回任何内容, 接收的是None
2. return 一个变量或者值(返回值)
3. return 多个变量或者值, 返回的时候解释器会帮我们把多个返回值组装成一个tuple,接收的地方可以接收一个变量, 多个变量, 解构成多个变量
三、函数的参数:
函数在访问的时候, 给函数传递的一些信息, 参数写在小括号里面
1. 形参::在函数声明的位置给出的变量的声明, 形式参数
2. 实参::在函数调用的时候.,给函数传递的具体的值, 实际参数
3.给函数传递信息的时候将实际参数交给形式参数的过程被称为传参
参数可以有很多个.每个参数之间用逗号隔开
# def yue(chat): # chat变量, 在声明函数的时候. 并不知道chat取值是什么 #形参 # print("拿出手机") # print("打开"+ chat) # print("找一个漂亮的美女") # print("聊一聊.") # print("走你~~") # yue("陌陌") # 函数被调用的时候会给出具体的值 #实参 # # yue() # 会报错. 必须要给值
实参:
位置参数:按照位置把实参赋值给形参
# def yue(chat, age, address): #形参 # print("拿出手机") # print("打开"+ chat) # print("在%s位置找一个%s以下美女" % (address, age)) # print("聊一聊.") # print("走你~~")
#yue('陌陌',20,'北京') #实参
关键字参数:对照形参, 给每个参数赋值
def yue(chat, age, address): print("拿出手机") print("打开"+ chat) print("在%s位置找一个%s以下美女" % (address, age)) print("聊一聊.") print("走你~~") yue(address="保定", age=20, chat="陌陌")
3. 混合参数:位置参数和关键字参数混合着使用, 必须先写位置参数, 然后才是关键字参数
def yue(chat, age, address): print("拿出手机") print("打开"+ chat) print("在%s位置找一个%s以下美女" % (address, age)) print("聊一聊.") print("走你~~") yue(chat="陌陌", 18, "保定") # 报错. 应该是:先写位置参数,然后再是关键字参数
# 练习: 编写一个函数get_max() 给函数传递两个参数: a, b, 返回a和b中比较大的那个数. # def get_max(a, b): # if a > b: # return a # else: # return b # c = get_max(a, b) # print(c) # 三元运算符(表达式)
# def get_max(a, b): # d = a if a > b else b # c= 当a>b的时候返回a, 否则返回b # return d
# c = get_max(a, b)
# print(c)
形参:
位置参数:按照位置来赋值,到目前为止,我们使用的都是位置参数
# def yue(chat, age, address): # print("拿出手机") # print("打开"+ chat) # print("在%s位置找一个%s以下美女" % (address, age)) # print("聊一聊.") # print("走你~~") #yue('陌陌',20,'北京')
默认值参数: 当出现很多重复的参数的时候.,考虑使用默认值参数,默认值参数必须在位置参数后面,当调用的地方不给出值的时候使用默认值
# def input_stu(name, age, sex="男"): # print(name, age, sex) # # input_stu("大阳哥", 24) # input_stu("刘帆",24) # input_stu("碗蓉", 18, "女")