【Python学习笔记二】函数七十二变

Python定义函数语法:
def 函数名(参数):
    函数体
注意:通常用几个return 返回结果,如果方法体中没有return,默认返回 None;
     如果要在方法体中返回None,则写为 return None,可简写为return
# 定义求和函数
def my_sum(a, b):
    return a + b

# 内部调用函数
sum = my_sum(100, 200)
print(sum)
pass语句:用于待处理代码的位置,相当于占位符,防止程序报错
# 例如1:定义了一个函数后,暂时不知道函数内部怎么实现可以先定义一个空函数,函数体中只需要加pass语句,返回None
def my_abs(a):
    pass
print(my_abs(2))
# 例如2:位置业务代码中加pass语句,将来要在此位置写业务代码
def get_score(score):
    if score>=90 :
        print("优秀")
    elif score>=60:
        pass
    else:
        print("差")
get_score(99)
get_score(70)
函数返回值:
# 1、返回多个值,语法用return value1,value2...  其实返回的事tuple类型
def move(x, y, step, type):
    if type == 1:
        x += step
    elif type == 2:
        y += step
    return x, y
# 比如x轴左移5个单位,获取坐标
# (105, 100)
my_local = move(100, 100, 5, 1)
print(my_local)
函数参数:
1、参数个数不对报错 如下:TypeError: get_score() takes 1 positional argument but 2 were given
# get_score(88, 33)
2、参数类型不对报错 如下:TypeError: '>=' not supported between instances of 'str' and 'int'
# get_score('abc')
3、默认参数:可以设定参数默认值,如果不传该参数,则使用默认值,默认参数必须放置必填参数后面
# 如:获取次方的函数,默认返回平方结果
def power(x, n=2):
    t = 1
    while n > 0:
        t = t * x
        n = n - 1
    return t
# 默认返回2的2次方:4
print(power(2))
# 获取2的8次方: 256
print(power(2, 8))
4、可变参数:参数数量可以定义为任意多个,语法:   *参数名。
 这种可变参数可以把参数转换为list或tuple数据类型,前不加*,但作为参数必须为list,tuple
# 例:获取a+b+c+..+x+y的和,不确定多少个数相加
def my_sum2(*nums):
    sum = 0
    for a in nums:
        sum += a
    return sum
print(my_sum2(4,5,6))
# 上面例子改为list参数
def my_sum3(nums):
    sum = 0
    for a in nums:
        sum += a
    return sum
# 调用需要传参数类型为list
print(my_sum3([4,5,6]))
5、键值对参数:传任意个参数,函数体中会自动转为dict类型.语法:  **参数名
def person(name, age, **attribute):
    print("name:",name, "age:",age, "other:",attribute)
# 不传键值对参数调用输出:name: 张三 age: 25 other: {}
person("张三", 25)
# 传键值对参数,输出:name: 张三 age: 25 other: {'gender': 'girl', 'city': '北京'}
person("张三", 25, gender='girl', city='北京')
# 可以将键值对参数用dict类型传入
attribute = {"gender":"girl", "city":'北京', 'blood':'o'};
# 注意传值格式为**dit类型变量,输出:name: 张三 age: 25 other: {'gender': 'girl', 'city': '北京', 'blood': 'o'}
person("张三", 25, **attribute)
6、组合参数定义的顺序必须是:必填参数、默认参数、可变参数、键值对参数、
def person2(name, age, city='北京', *houses, **attribute):
    pass

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值