1,函数:我们定义好一个事情,等想用的时候直接拿出来就行了,代码不用每次都写,节省无用功,(就好比把一次性做好的红烧肉放到冰箱里,什么时候想吃,就拿出来吃就好了,不用再费时费力去做了)
- 函数的官方定义:对代码块和功能的封装和定义
2,函数的定义,函数名,函数体以及函数的调用
- 我们用def关键字来定义函数,函数的定义语法基本格式如下:
# 函数定义的格式 # def 函数名() 函数名是对这个函数的命名,符合变量的命名规则 # 函数体 函数体是定义函数的时候定义的代码块 # 函数名() 函数名+ ()是执行定义好的函数 def fn(): print("网上最近有一个专家说用那个纸碗吃泡面不健康") print("当时我一听就乐了") print("泡面, 你懂泡面吗?") print("我他妈都混得吃泡面了,我该在乎健康") fn() # 调用已经定义好的函数,把函数体的内容打印出来
3,函数的返回值(return" "," "," ".......)这里return可以返回一个值,也可以返回多个值,同时return还有结束程序的意思,即相当于break,返回本层次的值,并且停止本层次当前循环.
def fn(): print("网上最近有一个专家说那个纸碗") print("当时我一听就乐了") print("泡面,你懂泡面吗?") print("我他妈都混得吃泡面了,我还在乎健康") return "屌丝" q = fn() print(q) # 屌丝
总结:
- 1>当return后边什么都不写或者不写return返回的就是 None
- 2>当return后边返回一个值,则调用的是后就接受一个
- 3>当return返回多个值时,调用函数的手后就会接受到一个tuple(可以解构)
4,函数的参数:参数就是一个可以改变的数,我们可以同改变参数来改变调用函数的内容和结果(参数是一个可以改变的数)
- 参数的格式:
def fn(chat): # 括号里可以天机啊一个参数,也可以添加多个参数,此时的参数叫做形参 # 函数体 函数体和函数名里的参数要一一对应 pass def fn(title): # 形参的作用为实参占位 print("网上最近有一个%s说用那个纸碗吃泡面不健康" % title) print("当时我一听就乐") print("泡面,你懂泡面吗?") print("我他妈都混到吃泡面了,我还在乎健康") fn("医生") # 此时输入的是参数是"医生" fn("医师") # 此时输入的实参是"医师" fn("谣言") # 此时输入的参数是"谣言"
- 1>形参:是写在函数名的位置,形式上的参数,值不过是实际参数的中间承载体
- 2>实参:是写在函数调用的时候,是调用的时候实际输入的参数.是参把参数参数传递给形参叫做传参
4.1>位置参数:是按照位置顺序把每what一个实参按照先后顺序传给形参
def fn(title, who, what): print("网上最近有一个%s用那个纸碗吃泡面不健康" % title) print("当时%s一听就乐了" % who) print("泡面,你懂泡面吗?") print("我他妈都混得吃泡面了,我还在乎%s" % what) # 按参数的位置传递参数 fn("专家", "我", "健康")
4.2>关键字参数:使用与多个变量,实参和形参不用一一对应,在输入实参的时候只要记住形参的名字就好了,也不用名字一一对应
def yue(chat, address, age): print("拿出手机") print("打开" + chat) print("找个" + address + "附近漂亮的" + str(age) + "岁妹子") print("约不约") yue(chat="微信", age=18, address="北京") # 关键字参数 # 拿出手机 # 打开微信 # 找个北京附近漂亮的18岁妹子 # 约不约
- 1.形参:
- 1. 位置参数.
- 2. 默认值参数. 当调用的时候不给传值使用默认值
- 3. 混合使用.
- 顺序: 1. 位置参数, 2, 默认值参数
- 2. 实参:
- 1.位置参数. 按照位置给形参赋值
- 2. 关键字参数. 按照名称给形参赋值
3. 混合参数. 先用位置参数, 再用关键字参数
- 3.1>默认值参数:默认值参数就是调用函数的时候如果补个默认参数的实参,输出的时候就是默认值,当给默认参数值时,就把默认值覆盖掉
def stu_info(name, age, sex="男"): print("录入学生信息") print(name, age, sex) print("录入完毕!") stu_info("张强", 18) # 张强 18 男
- 注意, 必须先声明位置参数, 才能声明默认值参数.(默认参数必须写在最后边,当有大量一样的数据时,采用默认参数)