Python学习(Day9)——函数

函数的创建:

def 函数名(参数):
函数体
return xxxx

def cal(x,y):      #加法
    c=x+y
    return c

result=cal(3,4)
print('3+4=',result)

结果:

3+4= 7



关键字参数:

def devide(x,y):
    d=x/y
    return d

result2=devide(y=10,x=20)       #关键字参数   #传递参数时,名字相同时,根据名字传递参数
print('20/10 =',result2)

result3=devide(10,20)
print('10/20 =',result3)

结果:

20/10 = 2.0
10/20 = 0.5




函数的返回值:

函数不需要返回值时 return可以不写
返回值是一个时,直接返回类型
函数返回多个值时是元组

def fun(num):
    odd=[]   #奇数
    even=[]  #偶数
    for i in num:
        if i%2==0:
            even.append(i)
        else:
            odd.append(i)
    return odd,even

list1=[123,232,1432,436]
print(fun(list1))

结果:

([123], [232, 1432, 436])




默认值参数:

#函数定义默认值参数
def fun2(x,y=10):
    c=x-y
    print(f'{x}-{y}=',c)

fun2(30)  #y采用默认值10
fun2(30,20)

结果:

30-10= 20
30-20= 10




个数可变的位置参数和个数可变的关键字参数:


#个数可变的位置参数      结果为元组
def fun3(*args):         #函数定义时的 可变的位置参数
    print(args)
    print(args[0])

fun3(10,20,30)

'''def fun5(*args,*a):         #(只能定义一个位置可变的位置参数)
    pass'''    #报错


#个数可变的关键字参数    结果为字典
def fun4(**args):            #只能定义一个个数可变的关键字参数
    print(args)

fun4(a=10)
fun4(a=10,b=20,c=30)

#在一个函数的定义过程中,有可变位置参数和关键字参数 要求位置参数在关键字参数之前
def fun6(*args,**arg2s):
    print(args,arg2s)

fun6(123,123,124,34,a=23,b=34,c=34) 

结果:

(10, 20, 30)
10
{‘a’: 10}
{‘a’: 10, ‘b’: 20, ‘c’: 30}
(123, 123, 124, 34) {‘a’: 23, ‘b’: 34, ‘c’: 34}




将列表中的元素传入函数之中:

#将列表中的元素传入函数之中
def fun7(x,y,z):
    c=x+y+z
    print(f'{x}+{y}+{z}={c}')
list2=[33,44,11]
#fun7(list2)   报错,参数不够
fun7(*list2)   #需要在list之前加*

结果:

33+44+11=88

字典传入方式同理,使用**


def fun8(x,*,y,z):   #*之后的参数只能采用关键字传递参数,即y,z
    print(f'{x}+{y}+{z}={x+y+z}')
fun8(11,y=22,z=33)
# fun8(11,22,33)    报错:TypeError: fun8() takes 1 positional argument but 3 were given

结果:

11+22+33=66

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值