美文网首页
函数相关

函数相关

作者: viean | 来源:发表于2018-05-22 22:20 被阅读0次

    函数定义

    def 定义函数,函数返回值用return;

    def my_abs(x):
        if x >= 0:
            return x
        else:
            return -x
    
    #空函数
    def nop():
        pass
    
    #参数检查
    def my_abs(x):
        if not isinstance(x, (int, float)):
            raise TypeError('bad operand type')
        if x >= 0:
            return x
        else:
            return -x
    
    #返回多个值
    def myfun(x):
        return x, x*x
    num,num2 = myfun(100)  #调用
    
    #默认参数
    def myfun2(x, y=2)
        return x+y
    
    #可变参数  *
    def calc(*numbers):
        sum = 0
        for n in numbers:
            sum = sum + n * n
        return sum
    #可变参数接收的其实是一个tuple
    calc(1,2,3,4)
    #Python允许你在list或tuple前面加一个*号,把list或tuple的元素变成可变参数传进去:
     nums = [1, 2, 3]
    calc(*nums)
    
    #关键字参数 **, 其为一个dict
    def person(name, age, **kw):
        print 'name:', name, 'age:', age, 'other:', kw
    #调用1
    person('Adam', 45, gender='M', job='Engineer')
    输出:name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
    #调用2
    kw = {'city': 'Beijing', 'job': 'Engineer'}
    person('Jack', 24, **kw)
    
    # 可变参数 及 关键字参数 综合示例 -- 常规及习惯用法
    >>> args = (1, 2, 3, 4)
    >>> kw = {'x': 99}
    >>> func(*args, **kw)
    a = 1 b = 2 c = 3 args = (4,) kw = {'x': 99}
    
    

    python参数定义顺序必须是:必选参数、默认参数、可变参数和关键字参数。
    *args是可变参数,args接收的是一个tuple;
    **kw是关键字参数,kw接收的是一个dict。

    相关文章

      网友评论

          本文标题:函数相关

          本文链接:https://www.haomeiwen.com/subject/zwyjkftx.html