python09
1. 什么是函数
2. 函数定义,函数名,函数体以及函数的调用
3.函数的返回值
4. 函数的参数
一.什么是函数 我们可以去先去定义一个事情或者功能.等到我们需要的时候直接去用就好了.那么这里定义就是一个函数.
def yue(): print("拿出手机") print("打开陌陌") print("找一找心怡的对方.") print("出来吃吃饭") print("唱唱歌") print("跳跳广场舞")
二.函数: 对代码块和功能的封装和定义 执行流程:
函数的调用: 函数名() yue() print("回家休息休息") yue() # 动作就可以在任何时候, 在任何位置, 进行访问
三. 函数的返回 执行完函数之后. 我们可以使用return来返回结果.
def yue(): # 参数 print("拿出手机") print("打开陌陌") print("找一找心怡的对方.") print("出来吃吃饭") print("唱唱歌") print("跳跳广场舞") return "小姐姐", "小护士", "广场舞大妈" return "小姐姐" # return表示返回。 这个函数在调用之后会得到一个结果 ret = yue() # 当函数有返回值的时候。 我们可以不接受返回值 print(ret)
函数中return的使用: 返回值可以是多个结果: 总结下:
1. 遇到return. 此函数结束, 函数后面的东西将不会再执行
2. return 返回值关于返回值:如果return什么都不写或者干脆不写return . 那么返回的就是None.如果return后面写了一个值. 则调用者可以接收一个结果 如果return后面写了多个结果,则调用者可以接收一个tuple, 调用者可以直接解构成多个变量 OK. 完美.可以得到结果了. 但是我们的约的方式是不是有点儿问题呢?, 陌陌现在还能约到 么?约不到了吧. 该换探探了. 那过两天探探也死掉了呢? 是不是还会 有一个替代品.那你想.有一个替代的.你就需要去改一下代码. 是不是不太合适了. 最好的方式是不是想用什么约就用什么约? ok. 我们可以通过函数的参数来给函数传递一些信息.
四. 函数的参数 参数, 函数在调用的时候指定具体的一个变量的值. 就是参数.
形参 def yue(tools): # 在函数声明的位置。 给出来的参数叫形参。 形式上的一个参数. 用一个变量来表是 print("拿出手机") print("打开%s" % tools) print("找一找心怡的对方.") print("出来吃吃饭") print("唱唱歌") print("跳跳广场舞") 实参 在函数调用的时候。把实参的值赋值给形参的过程叫传参 yue("微信") # 在函数调用的地方给出的具体的值。 参数叫实参. 实际参数 yue("陌陌") yue("探探")
语法: def fun():
print("你无情,你残酷,你无理取闹!") print("我哪里无情,哪里残酷,哪里无理取闹!") print("你就是无情,就是残酷,就是无理取闹!")
return "你才无情,你才残酷,你才无理取闹!","我没有无情,没有残酷,没有无理取闹!","ending" a,b,c = fun() print(a) print(b) print(c)
参数:在函数执行过程中给函数才传递的信息 形参:在函数声明的位置,声明出来的变量 实参:在函调用过程中,实际你给函数传递的值
game(Internet,games):#形参
print("打开手机") print("连上%s" % Internet) print("打开%s" % games) print("玩到手机关机!")
#函数的参数的个数没有限制 game("数据","王者荣耀")#实参 game("WiFi","刺激战场")
注意参数的顺序: mation(id,name,age,sex):
print("序号:%s\n姓名:%s\n年龄:%s\n性别:%s" % (id,name,age,sex))
information(1,"corn",21,"男")#位置参数 information(id = 2,name = "corn1",age = 22,sex = "女")#关键字参数
information(3,"corn2",age = 23,sex = "不详")
#混合参数:注意顺序,位置参数在前,关键字参数在后
#默认值参数和为主参数的混合参数:位置参数在前,默认值参数在后
def regist(id,name,age,sex = "男"): #默认值参数
print("序号:%s\n姓名:%s\n年龄:%s\n性别:%s" % (id,name,age,sex)) regist(1,"corn",21) regist(2,"corn1",22) regist(3,"corn3",23
注意, 必须先声明位置参数, 才能声明默认值参数
函数:对功能或者动作的封装 登陆验证 def login(username, password): if username == 'alex' and password == "123": return True else: return False # 使用场景 name = input("请输入你的账号:") pws = input("请输入你的密码:") if login(name, pws): print("进入刘伟的空间") else: print("用户名或密码错误, 请重新登陆!")