一. 函数的定义, 函数名, 函数体以及函数的调⽤
def关键字来定义函数, 函数的定义语法:
def 函数名(): 函数体
def yue(): # 函数体,代码块 print("首先, 打开手机") print("打开陌陌") print("找一个看着还不错的某一某") print("出来约一约.开开心心") print("各回各家,各找各妈") # 函数的调用, 函数名() yue() # 执行函数 # 第一次调用 print("正常上班") yue() # 第二次调用
二.函数的返回值:
def yue(): print("约你") print("约他") print("我不约") return "大妈" # return 返回值 当函数结束的时候. 给调用方一个结果 ret = yue() print(ret)
结果为:
约你
约他
我不约
大妈
只要函数执行到return 函数就会停止执行
1. 每个函数如果在函数中不写return, 默认返回None 2. 我们也可以只写一个return, 也是返回None, 停止函数的执行 3. return 一个返回值. 你在调用方能接受到一个返回值 4. return 多个返回值. 多个值需要用,隔开 接收的位置. 接收的是元组.
def yue(): print("约一约") return # 函数就停止了 ret = yue() print(ret) 结果为: 约一约 None
def yue(): print("打开陌陌") print("大阳哥出马") return "大妈", "萝莉", "模特" a,b,c = yue() # 多个返回值在接受的位置接受到的是tuple类型的数据 print(a) print(b) print(c) 结果: 打开陌陌 大阳哥出马 大妈 萝莉 模特
三.函数的参数:
形参:
def yue(fangshi, age): # 形参 这里的'fangshi,age'是形参 print("打开手机") print("打开%s" % fangshi) print("找一个漂亮的妹子") print("年龄最好是%s" % age) print("出来约一约") yue("微信",20) yue("探探", 38) yue("陌陌", 26)
实参:
def fn(a,b,c): print(a) print(b) print(c) fn(1, 2, 3) fn(b=3, a=2, c=1) # 在实参调用的时候 . 可以指定参数的值是多少. 关键字(形参)参数 结果为: 1 2 3 2 3 1
混合参数:
def gn(name, age, address, id, sex, hobby): print("人的名字叫%s, 年龄:%s, 地址:%s, id是:%s, 性别:%s, 爱好是:%s" % (name, age, address, id, sex, hobby)) gn("太白", 58, "保定", 1, "不详", "女") # 位置参数 gn(id=1, name="太白", address="保定", hobby="女", age=58, sex="不详") # 关键字(形参)参数 gn("太白", 58, "保定", id="3", sex="女", hobby="不详") 结果为: 人的名字叫太白, 年龄:58, 地址:保定, id是:1, 性别:不详, 爱好是:女 人的名字叫太白, 年龄:58, 地址:保定, id是:1, 性别:不详, 爱好是:女 人的名字叫太白, 年龄:58, 地址:保定, id是:3, 性别:女, 爱好是:不详
def regist(id, name, sex="男"): print("录入学生信息:id是%s, 名字是%s, 性别是:%s" % (id, name, sex)) regist(1, "大阳哥") regist(2, "徐卫星") regist(3, "毛尖妹妹", "女") 结果为: 录入学生信息:id是1, 名字是大阳哥, 性别是:男 录入学生信息:id是2, 名字是徐卫星, 性别是:男 录入学生信息:id是3, 名字是毛尖妹妹, 性别是:女
总结:
参数: 在函数执行的时候给函数传递的信息 形参: 在函数声明的位置.声明出来变量 实参: 在函数调用的时候. 实际你给函数传递的值 函数的参数个数是没有要求的 但是,在运行的时候. 形参和实参要匹配. 按照位置把实参赋值给形参 参数的分类: 站在实参的角度: 1. 位置参数 2. 关键字参数 3. 混合参数, 注意顺序. 先写位置参数, 然后在写关键字参数. 否则会报错 站在形参的角度: 1. 位置参数 2. 默认值参数 3. 默认值参数和位置参数混合使用. 顺序: 先写位置参数. 然后在写默认值参数
四.
计算:1+2+3+4+5+6+7+8+9+....+100 = ? 5050 def sum(n): s = 0 count = 1 while count <= n: s = s + count count = count + 1 return s ret = sum(100) print(ret) 结果为:5050
def fn(n): if n%2 == 0: return "偶数" return "奇数" print(fn(456))
看一下有无返回值的区别:
lst = ["大阳哥", "徐卫星"] print(lst.append("胡辣汤")) # 没有return s = "哈哈" print(s.replace("哈", "呵")) # 一定有return 结果为: #None #呵呵