一. 什么是函数微信
到这里不少人都懵住了什么是函数???Python函数其实就是,组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提升应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,好比print()。但你也能够本身建立函数,这被叫作用户自定义函数,函数是对功能的封装!!!函数
二. 函数的定义, 函数名, 函数体以及函数的调用
spa
语法:code
def 函数名(形参列表):blog
函数体(代码块,return) #return为返回值的意思微博
函数名(实参列表) #调用函数的意思class
那么咱们来定义一首诗的功能:咱们使用del关键字来定义函数,函数的定义语法以下变量
1 def Shi(): #使用del定义一个函数 2 3 print("床前明月光") 4 print("疑是地上霜") 5 print("举头望明月") 6 print("低头思故乡")
定义完了,可是这个时候去执行程序你会发现什么也没有发生,由于咱们只是定义了函数可是尚未执行这个函数.语法
函数的调用:使用函数名能够调用函数,程序
写法:
函数名()
这个时候函数体才会给执行
1 Shi() #调用Shi函数 2 3 结果: 4 床前明月光 5 疑是地上霜 6 举头望明月 7 低头思故乡
三. 函数的返回值
1.遇到return,此函数结束,函数后面的东西就会不执行
2.return返回值
return : 在函数执行的时候. 若是遇到return. 直接返回
若是函数什么都不写, 不写return, 没有返回值. 获得的是None
在函数中间或者末尾写return, 返回的是None
在函数中写return 值. 返回一个值.
在函数中能够返回多个返回值, return 值1, 值2, 值3...., 接收的是元组
3.关于返回值
若是return什么也不用写或者不写return,那么返回的就是None
若是return后面写了一个值,则调用者能够接收一个结果
若是return后面写了多个结果,则调用者能够接收到的是tuple(元组),调用者能够直接构结成多个变量
1.函数中遇到return,此函数就会结束,不能再继续执行
1 def Shi(): #定义一个函数 2 print("床前明月光") 3 print("疑是地上霜") 4 return 5 print("举头望明月") #这句话后面的都会不给执行 6 print("低头思故乡")
2.return返回值给函数的调用者一个访问结果
1 def shi(): #定于一个函数 2 print("床前明月光") 3 print("疑是地上霜") 4 print("举头望明月") 5 print("低头思故乡") 6 return '运行结束' #返回值 7 jieshu = shi() 8 print(jieshu) #运行结束
函数的返回值能够是多个结果返回的是元组
1 return '运行结束','hello'
四.函数的参数
参数,函数在调用的时候指定具体的一个变量的值,这就是所谓的参数,
函数执行的时候给函数传递信息.
形参:函数声明的位置的变量
实参:函数调用的时候给的具体的值
传参:把实参交给形参的过程
语法:
def 函数名(参数列表):
函数体
实操,需求:拿出手机想打开什么应用就打开什么应用,
1 def dakai(ruanjian): 2 print ('拿出手机') 3 print('打开:',ruanjian) 4 dakai('微信') 5 dakai('QQ') 6 dakai('微博') 7 结果; 8 拿出手机 9 打开: 微信 10 拿出手机 11 打开: QQ 12 拿出手机 13 打开: 微博
nice!搞定了是否是和很棒?,咱们在调用dakai的时候给ruanjian一个值,而后再执行函数体,
参数分为:
1.形参,写在函数声明的位置叫作形参,形式上的一个完整,表示这个函数须要干吗干吗。。。
1. 位置参数
2. 默认值参数 先位置后默认值
1 dakai(ruanjian): #括号里的为形参,(ruanjian)
2.实参,在函数调用的时候给函数传递的值,叫实参,即实际参数,实际执行的时候给函数传递的信息,表示叫函数干啥干啥干啥。。。
1. 位置参数, 按照形参的参数位置, 给形参传值
2. 关键字参数, 按照形参的名字给形参传值
3. 混合参数. 即用位置参数, 也用关键参数
1 dakai('微信') #括号里的为实参('微信')
3.传参,给函数传递信息的时候将实际参数交给形式参数的过程称为传参
1 def dakai(ruanjian): #ruanjian为形参 2 print ('拿出手机') 3 print('打开:',ruanjian) 4 dakai('微信') #实参 5 print('关闭') #这里也表明实参
参数的分类:
1.位置参数
位置参数,意思就是按照位置来赋值的参数叫作位置参数,
1 #需求,录入班级学生基本信息,基本信息有,名字,年龄,性别 2 def xue_sheng_xin_xi(name,age,sex): #定义一个函数,形参有name.age,sex 3 print('请录入学生信息:') 4 print(name,age,sex) 5 xue_sheng_xin_xi('小明', '20', '女') #实参
缺点:若是位置输错了的话信息也会跟着错,必需要按照形参的位置来输入信息
2.关键字参数
关键字参数,利用关键字定义的参数,只要记住每一个参数的名字就OK了
1 def xue_sheng_xin_xi(name,age,sex): 2 print('请录入学生信息') 3 print(name,age,sex) 4 xue_sheng_xin_xi(sex='女',name='YJ',age= '19') #关键字参数 5 结果为: 6 请录入学生信息 7 YJ 19 女
优势,不管顺序怎样掉乱最后输出都是正确的排列
3.混合参数
1 def xin_xi(name,age=18,diqu="广东"): #默认指定了年龄跟地区 2 print('请录信息') 3 print(name,age,diqu) 4 xin_xi (diqu='北京',name='YJ',age= '19') #混合参数,地区跟年龄已经指定了如今还能改 5 结果为:YJ 19 北京
也就是说在调用函数的时候既能够给出位置参数,也能够指定关键字参数
4.默认值参数,在函数声明的时候,就能够给出的参数的默认值,在调用的时候能够给出具体的值,也能够不给值使用默认值。
需求:在录入信息的时候,发现大部分为男生,在录入时若是是男生sex就使用默认值
1 def xin_xi_biao(name,age,sex='男'): 2 print('请录入信息') 3 print(name,age,sex) 4 xin_xi_biao('小强',19) 5 xin_xi_biao('小花',19,sex= '女') 6 结果: 7 请录入信息 8 小强 19 男 9 请录入信息 10 小花 19 女
注意:必须声明位置参数才能声明默认参数
2019年11月7日