Crossin的编程教室

标题: 【Python 第42课】 函数的默认参数 [打印本页]

作者: mty1111    时间: 2013-7-25 15:09
标题: 【Python 第42课】 函数的默认参数
今天分享一点小技巧。之前我们用过函数,比如:
  1. def hello(name):

  2.    print 'hello ' + name
复制代码
然后我们去调用这个函数:
  1. hello('world')
复制代码
程序就会输出
  1. hello world
复制代码
如果很多时候,我们都是用world来调用这个函数,少数情况才会去改参数。那么,我们就可以给这个函数一个默认参数:
  1.     def hello(name = 'world'):

  2.        print 'hello ' + name
复制代码
当你没有提供参数值时,这个参数就会使用默认值;如果你提供了,就用你给的。


这样,在默认情况下,你只要调用
  1. hello()
复制代码
就可以输出
  1. hello world
复制代码
同样你也可以指定参数:
  1. hello('python')
复制代码
输出
  1. hello python
复制代码
1.jpg

注意,当函数有多个参数时,如果你想给部分参数提供默认参数,那么这些参数必须在参数的末尾。比如:
  1. def func(a, b=5)
复制代码
是正确的
  1. def func(a=5, b)
复制代码
就会出错


#==== Crossin的编程教室 ====#

微信ID:crossincode

QQ群:312723402


面向零基础初学者的编程课

每天5分钟,轻松学编程



作者: catherinemic    时间: 2016-1-8 18:57
get it!
  1. def hello(name='world'):
  2.     print 'Hello, '+name+'!'
  3. hello()
  4. hello('python')

  5. def func(a,b=5):
  6.     print a+b
  7. func(1)
  8. func(1,10)
复制代码

作者: fangweiren    时间: 2016-2-1 09:11
本帖最后由 fangweiren 于 2016-2-1 09:18 编辑
  1. def hello(name ='world'):
  2.         print 'hello ' + name
  3.         
  4. hello()
  5. hello('python')

  6. def func(a,b=5):
  7.         print a+b
  8.         
  9. func(2)
  10. func(2,3)
复制代码

作者: 枫叶落时    时间: 2017-8-16 02:06
先生,最后那里的意思是,假设我想给a添加默认参数,那么形式就是 def func(b,a = 5)
如果不添加就是def func(a,b)这个意思吗?
作者: woodumpling    时间: 2017-8-16 09:09
枫叶落时 发表于 2017-8-16 02:06
先生,最后那里的意思是,假设我想给a添加默认参数,那么形式就是 def func(b,a = 5)
如果不添加就是def fu ...

设置参数的时候记得将默认参数放在最后就可以




欢迎光临 Crossin的编程教室 (https://bbs.crossincode.com/) Powered by Discuz! X2.5