python

Python之初识函数

2021-08-28  本文已影响0人  Joening

函数的初始

  • 函数是对功能的一个封装 你能想到的任何一个功能, 都可以封装成函数

函数的语法

def 函数名():
函数体
函数名() 函数调用

案例:

def yue():
    print('打开手机')
    print('打开陌陌')
    print('搜索心仪的对象')
    print('出去玩')
    print('出发')
yue()   

函数的返回值

return 在函数执行的时候, 遇到return 直接返回
1, 如果函数里面什么都不写,不写return 代表没有返回值 返回None
2, 如果函数中间或者末尾写return 返回None 可以终止一个函数的执行
3, 在函数中写 return 值, 代表返回一个值
4, 在函数中可以返回多个返回值 return 值1,值2,值3, 接收的是元组

案例

def yue():
    print('打开手机')
    print('打开陌陌')
    print('搜索心仪的对象')
    print('出去玩')
    print('出发')
    return 10086

函数的参数

函数执行的时候给函数传递信息
形参: 在函数声明的位置的变量
实参: 在函数调用的地方的具体的值
传参: 把实参交给形参的过程

案例:

def yue(tools):
    print('打开手机')
    print('打开 %s' %(tools))
    print('搜索心仪的对象')
    print('出去玩')
    print('出发')
    return 10086
yue('微信')

实参:

位置参数:

按照形参的参数位置,往形参传值
当函数的参数很多的时候, 必须要记住每个位置

def qiaoning(a,b,c,d):
     print(a,b,c,d)
qiaoning(1,2,3,4) #1 2 3 4
关键字参数:

按照形参的名字给形参传值

def qiaoning(a,b,c,d):
    print(a,b,c,d)
qiaoning(a=1,c=3,b=2,d=4) #1 2 3 4
混合参数:

即用位置参数, 也用关键字参数
顺序必须是先位置参数, 后关键字参数

def qiaoning(a,b,c,d):
    print(a,b,c,d)
qiaoning(1,2,c=3,d=4) #1 2 3 4
形参:

1.位置参数
2.默认值参数 先位置后默认值

def qiaoning(a,b,c,d=4):
     print(a,b,c,d)
qiaoning(1,2,3) #1 2 3 4


def qiaoning(a,b,c,d=4):
     print(a,b,c,d)
qiaoning(1,2,3,5) #1 2 3 5

动态传参

位置参数的动态传参 *args

  • 表示接收位置参数的动态传参 接收到时元组
def qiaoning(*args):
    print(args)

顺序:位置参数 -- *args -- 默认值参数 -- **kwargs

def qiaoning(name,*args):
    print(name,args)
    
def qiaoning(name,*args,location='shanghai'):
   print(name,args)

关键字的动态传参 **kwargs

def qiaoning(*args,**kwargs):
    print(args)
    print(kwargs)

函数注释

def fun(a,b):
    '''
    这个函数是用来计算a + b 的
    :param 传入的第一个数字:
    :param 传入的第二个数字:
    :return: 求和
    '''
    return a + b
print(fun.__doc__)
print(str.count.__doc__)

聚合

def qiaoning(*args,**kwargs): #无敌 形参位置 *args相当于一个聚合的作用
    print(args)
    print(kwargs)

打散

def food(*args,**kwargs):
    print(args)
    print(kwargs)

lst = ['shell','python','java','golang']
dic = {'姓名':'乔宁'}
food(*lst)  #打散 列表 ('shell', 'python', 'java', 'golang')
food(**dic) # 打散 字典 {'姓名': '乔宁'}
上一篇 下一篇

猜你喜欢

热点阅读