一、
1.函数
定义:def关键字开头,空格之后接函数名称和圆括号(),后面紧跟‘:”。
函数是对功能的封装
语法:
def 函数名(形参列表):
函数体(代码块,return)
调用:
函数名(实参列表)
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函数调用 mylen()
2.return是一个关键字,很重要需要记下来。这个词的意思是“返回”,他后面的值就叫“返回值”。
遇到return,此函数结束,函数后面的东西将不会再执行
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函数调用 str_len = mylen() print('str_len : %s'%str_len)
二、
return 返回值
如果return什么都不写或者干脆不写return。那么返回的就是None
如果return后面写了一个值,则调用者可以接收一个结果
如果return后面写了多个结果,则调用者可以接收一个tuole,调用者可以直接解构成多个变量
1.没有返回值
不写return的情况下,会默认返回一个None
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 print(length) #函数调用 str_len = mylen() #因为没有返回值,此时的str_len为None print('str_len : %s'%str_len
2.只写return后面不跟返回值,也会返回一个None。只要return出现了就会结束函数****
def ret_demo(): print(111) return print(222) ret = ret_demo() print(ret) #111
3.return None和上面两种情况一样。
4.return后面有返回值
#函数定义 def mylen(): """计算s1的长度""" s1 = "hello world" length = 0 for i in s1: length = length+1 return length #函数调用 str_len = mylen() print('str_len : %s'%str_len)
5.返回多个值(可以返回任意多个、任意数据类型的值)
def ret_demo1(): '''返回多个值''' return 1,2,3,4 def ret_demo2(): '''返回多个任意类型的值''' return 1,['a','b'],3,4 ret1 = ret_demo1() print(ret1) ret2 = ret_demo2() print(ret2)
6.返回的多个值是已元组的形式被返回,也可以用多个值来接收
def ret_demo2(): return 1,['a','b'],3,4 #返回多个值,用一个变量接收 ret2 = ret_demo2() print(ret2) #返回多个值,用多个变量接收 a,b,c,d = ret_demo2() print(a,b,c,d) #用多个值接收返回值:返回几个值,就用几个变量接收 a,b,c,d = ret_demo2() print(a,b,c,d)
三、
参数
函数执行的时候给函数传递信息
*形参:函数声明的位置的变量
*实参:函数调用的时候给的具体的值
传参:把实参交给形参的过程
1>.实参:
位置参数,按照形参的参数位置,给形参传值
关键字参数,按照形参的名字给形参传值
混合参数,即用位置参数,也用关键参数
2.形参:
位置参数
默认参数