python函数小结归纳

总结了几种函数的形式,大致有

     1. 无参函数
     2. 有参函数
     3. 有参默认函数
     4. 有参无序函数
     5. 函数动态参数,一个*是元组
     6. 函数动态参数,两个*是字典
#无参函数
def fun():
    a=5
    b=3
    print("无参函数结果:")
    print(a+b)
fun()
#有参默认函数(不在实参中传入值的情况)
parameter3 = 456
def fun(parameter1,parameter2,parameter3 = 456):
    sum = parameter1 + parameter2 + parameter3
    print("有参默认函数(不在实参中传入值的情况)结果:")
    print(sum)
fun(111,222)                #默认输出parameter3是‘456’
#有参默认函数(在实参中传入值的情况)
parameter3 = 456
def fun(parameter1,parameter2,parameter3 = 456):
    sum = parameter1 + parameter2 + parameter3
    print("有参默认函数(在实参中传入值的情况)结果:")
    print(sum)
fun(111,222,333)                #因为在实参中传入了第三个参数‘333’,所以parameter3 = 333
#有参无序函数
def fun(a1,a2):
    print("有参无序函数结果:")
    print(a1,a2)
fun(a2=123,a1=321)      #正常情况下参数是有顺序的,第一个实参参数对应a1,第二个实参参
# 数对用a2,通过直接对形参赋值的方法可以无序穿参
#函数动态参数,一个*是元组
def fun(*arg):             #一个*是tuple(元组)类型
    print("函数动态参数,一个*是元组:")
    print(arg,type(arg))
fun(1,2,3,4,5,6)        #当形参开头是一个*的时候就默认船驶入的参数要转换为元祖的形式
#函数动态参数,一个*是元组的第二种表示方法
# 第一种方法是直接以实参的形式传入,第二种是事先构造好元组,然后赋值给变量,
# 再把变量作为实参传入,但是变量要加一个*  ,字典同理,加两个*
li = (1, 2, 3, 4, 5, 6,)
def fun(*arg):
    print("函数动态参数,一个*是元组的第二种表示方法:")
    print(arg,type(arg))
fun(*li)
#函数动态参数,两个*是字典
def fun(**arg):         #两个*是dic(字典)类型
    print("函数动态参数,两个*是字典:")
    print(arg,type(arg))
fun(a1 = 5,a2 = 3,a3 = 1)
#两个可以同时存在,但是注意!!!
#当同时有这两种形参时,一个*的要在前面,两个*的要在后面,不然会报错
def fun(*arg,**args):
    print("元组形式和字典形式两个同时存在时:")
    print(arg,type(arg))
    print(args,type(args))
li = (1,2,3,4,5,6,)
dic = {'k1':'2','k2':'V2','k3':'abc'}
fun(*li,**dic)          #也可以直接传参,不用传变量的形式,但是要元组的参数在前面,字典的参数在后面!
#动态参数实现字符串格式化(元组形式)
#注释的是直接传一个元组作为实参
#没注释的是先赋值给变量,通过*(变量)的形式传入实参
def fun():
    s1 = "{0} is {1} {2}"
    # result = s1.format('she','very','beautiful')
    # print(s1)
    # print(result)
    li = ('she','very','beautiful',)
    other_result = s1.format(*li)
    print("动态参数实现字符串格式化,元组形式:")
    print(other_result)
fun()
#动态参数实现字符串格式化(字典形式)
#注释的是直接传一个元组作为实参
#没注释的是先赋值给变量,通过*(变量)的形式传入实参
def fun():
    s2 ="{name} is {actor}"
    # result = s2.format(name = 'Lycoridiata',actor = 'boy')
    # print(result)
    dic = {'name':'Lycoridiata','actor':'boy'}
    other_result = s2.format(**dic)
    print("动态参数实现字符串格式化,字典形式:")
    print(other_result)
fun()

以下是运行结果:
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值