python(五)函数

使用函数是为了提高代码的复用率

1  函数的定义:

def 函数名():

       写内容

2.  函数通过调用,才能执行。

3  def 函数名(参数1,参数2)  这里的参数就是形参,当主函数调用这个函数的时候会传2个数,这里的参数相当于占位

函数名(参数1,参数2)这里的参数就是实参,这个参数会传函数里的参数,然后就运算。

def a():#无参数
    pass
def b(name,age): #必填参数,位置参数
    pass
def op_file(file,content=None): #默认值参数
    with open(file,'a+',encoding='utf-8') as f:
        if content:
            f.write(str(content))
        else:
            f.seek(0)
            result = f.read()
            return result
#可变参数非必填
#可变参数填的个数也没有限制
def send_sms(*args):#可变参数
    print(args)
#send_sms(1,2,3,3,4,24)
#关键字参数非必填
#传关键字参数的形式是name='Alex',age=18
def t(**kwargs):#关键字参数,传入的必须得指定关键字
    print(kwargs)
# t()
def test(name,content=None,*args,**kwargs):
    print(name)
    print(content)
    print(args)
    print(kwargs)

#必填参数、默认值、可变参数、关键字参数 必须得按照这个顺序来
#必填参数必须写到默认值参数前面
#默认参数必须在可变参数前面
#可变参数必须在关键字参数前面


def test2(name,phone,qq,addr,sex):
    print(name)
    print(phone)
    print(qq)
    print(addr)
    print(sex)


# test('183','mingzi','1111','beijing','女')#根据顺序来传参
test(age=36,addr='beijing',qq='1111',sex='xxx',name='xx')#根据参数名字传参,和位置没有关系
# test('xiaoming','1823423',qq='xxx',sex='xxx',addr='xxxx')#为字参数和关键字传参
# test('xiaoming','1823423',qq='xxx',sex='xxx') #错误的,不能这么写

 

4. 函数会有返回值,返回给调用的函数。

           返回多个变量:

                     用一个变量接收,该变量就是元组

                     用多个变量来接收,方法里定义的变量类型是啥,返回的就是啥

                    函数返回的变量要和接收的变量一致

           运用场景:解包

 def fun():
     a = 1
     b = 2
     c = 3
     return a,b,c
  
  #返回结果是元组
 result = fun()
  print(result)
 #也可以用多个变量来接收,但是函数返回几个变量,接收的变量也得是几个
 a,b,c = fun()
 print(a,b,c)
 
 #解包
 info = ['xiaohei','beijing','haidianqu',19]

 print(*info)

5. 函数 通过return返回。函数遇到return就结束这个程序。

 

posted @ 2019-06-13 23:16  测试freshman  阅读(197)  评论(0编辑  收藏  举报