6.2 灵活即强大

6.2.1 形参和实参

  形式参数(parameter):函数定义过程中小括号里的参数。

  实际参数(argument):函数在被调用过程中传递进来的参数。  

 

def myfirstfunction(name):
    '函数定义过程中的name是叫形参'
    print('传递进来的' + name + '叫做实参,因为Ta是具体的参数值')

    
myfirstfunction('cxb')
传递进来的cxb叫做实参,因为Ta是具体的参数值

6.2.2 函数文档

  给函数写文档是为了让后人可以更好地理解你的函数设计逻辑

def exchangerate(dollar):
    '''
    功能:汇率转换,美元 -> 人民币
    汇率:6.54
    日期:2018-06-25
    '''
    return dollar * 6.54

exchangerate(8)
52.32
print(exchangerate.__doc__)

    功能:汇率转换,美元 -> 人民币
    汇率:6.54
    日期:2018-06-25

  help(exchangerate)
  Help on function exchangerate in module __main__:

  exchangerate(dollar)
    功能:汇率转换,美元 -> 人民币
    汇率:6.54
    日期:2018-06-25

6.2.3 关键字参数

  定义函数的时候,就已经把参数的名字和位置确定下来了,python中这类位置固定的参数称为位置参数。对于函数的调用者来说,只要按照正确的顺序传递正确的参数即可。

def eat(somebody,something):
    print(somebody + '' + something + '吃了')

    
eat("小波波","大榴莲")
小波波把大榴莲吃了

  eat('大榴莲','小波波')
 大榴莲把小波波吃了
  eat(something='大榴莲',somebody='小波波')
 小波波把大榴莲吃了

 

6.2.4 默认参数

  python的函数允许为参数指定默认的值,在函数调用的时候如果没有传递实参,则采用默认参数。

def saysomething(name='xushixing',word='rurhbuhuo'):
    print(name + '->' + word)

    
saysomething()
xushixing->rurhbuhuo
saysomething(name="苏轼",word="不是庐山真面目,只缘身在此山中")
苏轼->不是庐山真面目,只缘身在此山中

6.2.5 收集参数

  如实参个数不确定,在定义函数的时候,形参就可以使用收集参数来搞定,仅需要在参数面前加上星号(*)即可:

def test(*parameters):
    print('有%d 个参数' % len(parameters))
    print('第二个参数是:', parameters[1])

    
>>> test(*'F','g','s','x')
有4 个参数
第二个参数是: g

 

posted @ 2020-05-04 21:39  偏爱Bo  阅读(137)  评论(0)    收藏  举报