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