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):...................................................括号里可以添加一个参数,也可以添加多个参数,此时这里的参数叫做形参
函数体(参数).........................................函数体里和函数名的给的参数一一对应.
列如:def fn(zhicheng):
print("网上最近有一个%S说用那个纸碗吃泡面不健康" % zhicheng)
print("当时我一听就乐了")
print("泡面,你懂泡面吗?")
print("我他妈都混得吃泡面了,我还在乎健康")
(此时调用输入的是实参)fn("医生")........................................................把参数"医生"打印一次
(此时调用输入的是实参)fn("医师")........................................................把参数"医师"打印一次
(此时调用输入的是实参)fn("谣言")........................................................把参数"谣言"打印一次
1>形参:是写在函数名的位置,形式上的参数,值不过是实际参数的中间承载体
2>实参:是写在函数调用的时候,是调用的时候实际输入的参数.是参把参数参数传递给形参叫做传参
4.1>位置参数:是按照位置顺序把每what一个实参按照先后顺序传给形参
列如:def fn(zhicheng,who,what):
print("网上最近有一个%s说用那个纸碗吃泡面不健康" % zhicheng)
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. 混合参数. 先用位置参数, 再用关键字参数
4.3>默认值参数:默认值参数就是调用函数的时候如果补个默认参数的实参,输出的时候就是默认值,当给默认参数值时,就把默认值覆盖掉
列如:def stu_info(name, age, sex='男'):
print("录⼊入学⽣生信息")
print(name, age, sex)
print("录⼊入完毕")
stu_info("张强", 18)...........................结果就是:张强,男,18
注意, 必须先声明位置参数, 才能声明默认值参数.(默认参数必须写在最后边,当有大量一样的数据时,采用默认参数)