zoukankan      html  css  js  c++  java
  • 从0开始的Python学习009参数

    默认参数


    对于参数有时候我们希望他是可选的,前面介绍了函数柯里化,当然还有其他的解决方案。如果不想给某些参数提供值的话,就让这写参数使用默认值。在函数定义的时候给参数赋值使用(参数,参数=值......),从而给形参指定默认值。

    注意默认参数的值是一个不可变的参数(也就是说默认参数是一个确定的值)。

    #默认参数值
    #对于参数 我们希望参数值是可选的智能的,如果使用者没有提供参数值的时候,程序会使用默认的参数。使用的方法就是在函数定义形参的时候写上(形参=默认值)即可
    #注意默认值的参数不可变
    def say(message,times = 1):
        print(message*times)
    
    say('Hello')
    say('World',5)
    #注意默认值参数只能是末尾的形参

    运行结果

    重要
    只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。
    这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)无效

    关键参数


    对于多参数的函数,我只想指定某个或某几个参数的值,这时就可以使用命名给参数赋值,这样被复制的参数时关键参数。我们是使用关键字(参数名)而不是参数的位置来给函数指定实参。

    优势

    1.不用担心参数的顺序,使使用函数变得简单。

    2.假设其他的参数都有默认值,我们可以只给我们想要的参数赋值。

    print('========关键参数=========')
    #如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。
    def func(a,b = 5,c = 10):
        print('a is',a,'and b is',b,'and c is',c)
    
    func(3,7)
    func(25,c = 24)
    func(c = 50,a = 100)

    运行结果

  • 相关阅读:
    svn和git的优缺点
    idea 的MAVEN Lifecycle 基本用法
    递归SQL---树形结构
    基本:linux命令
    2017年9月22日01:42:08
    简述数据库的设计过程
    HelloH5+搭建
    【Java报错】Message: 3 字节的 UTF-8 序列的字节 2 无效
    css class嵌套
    【java报错】Could not instantiate listener
  • 原文地址:https://www.cnblogs.com/liuhappy/p/10612691.html
Copyright © 2011-2022 走看看