python 函数

1.推荐python 写法

def damage(skill1,skill2):
    damage1 = skill1*3
    damage2 = skill2*2 +10
    return damage1,damage2

damages=damage(3,6)
print(type(damages))
print(damages[0],damages[1]) # 不推荐这样获取damage(3,6)的返回结果。
#推荐下面这样获取damage(3,6)的返回结果,方便代码维护阅读。
skill1_damage,skill2_damage = damage(3,6)
print('skill1_damage=',skill1_damage)
print('skill2_damage=',skill2_damage)

2.序列解包与链式赋值

d = 1,2,3,4,5
print(type(d))
print(d)

a,b,c,d,e = d
print(a,b,c,d,e)

3.关键字参数

def add(x,y):
    print("x=",x)
    print("y=",y)
    result = x+y
    return result

#可以指定参数顺序
result = add(y=3,x=2)
print('result=',result)

4.可变参数

一般表现形式为:函数形参前面带 * 号的。

demo1:

def demo(*param):
    print(param)
    print(type(param))

#demo(1,2,3,4,5,6)
#输出
#(1, 2, 3, 4, 5, 6) 会自动转化为元组的类型
#<class 'tuple'>

#demo((1,2,3,4,5,6)) 这样写会变成一个二维元组


a=(1,2,3,4,5,6)
demo(*a) #*a 的作用是解引用,相当于把 1,2,3,4,5,6,从元组中取出来。

demo2:

'''
param1是必须参数
param2是默认参数
param3是可变参数
'''

def demo(param1,*param,param2=2):
    print(param1)
    print(type(param1))
    print(param)
    print(type(param))
    print(param2)
    print(type(param2))


#demo('a',1,2,3,'param')
demo('a',1,2,3,param2='param') #注意和上面输出不一样

demo3:

def squsum(*param):
    sum = 0
    for i in param:
        sum += i*i
    print("sum=",sum)

squsum(1,2,3,4,5,6)
squsum(*[1,2,3])

demo4:

def city_temp(**param):
    print(param)
    print(type(param))
    for key,value in param.items():
        print(key,':',value)


#city_temp(beijing="32c",xiamen="23c",shanghai="31c")

#dict_a={'beijing': '32c', 'xiamen': '23c', 'shanghai': '31c'}
#city_temp(**dict_a)

city_temp() # 什么都不传入,则输出空字典

5.变量作用域

python 与C++,C不同的在于,在for循环外面,python是可以引用for循环里面的变量的。而在C/C++ 是不能的。因为在python中是没有快级别作用域的概念的,python中基本的作用域是函数级别的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

repinkply

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值