学习python的第三十天-参数,return语句,文档字符串
来源:互联网 发布:linux互斥锁 实例 编辑:程序博客网 时间:2024/04/29 05:37
默认参数值
在定义函数的时候我们需要使用默认参数值。可以在函数定义的形参名后加上赋值运算符=
和默认值,从而给形参指定默认参数值。
def say(message, times = 1): print message * timessay('Hello')say('World', 5)
运行结果:
HelloWorldWorldWorldWorldWorld
关键参数
如果函数有许多参数,我们可以指定其中的一部分,我们使用参数的名字,而不是位置来给参数赋值。
这样做有两个优势 :
一,由于我们不必担心参数的顺序,使用函数变得更加简单了。
二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。
def func(a, b=5, c=10): print 'a is', a, 'and b is', b, 'and c is', cfunc(3, 7)func(25, c=24)func(c=50, a=100)
运行结果:
a is 3 and b is 7 and c is 10a is 25 and b is 5 and c is 24a is 100 and b is 5 and c is 50
这些名词听起来可能有些难理解,但是看到实例代码以后就明白是什么意思了。
return
语句
return
语句用来从一个函数返回即跳出函数。我们也可选从函数返回一个值 。
def maximum(x, y): if x > y: return x else: return yprint maximum(2, 3)
运行结果:
3
注意,没有返回值的
return
语句等价于return None
。None
是Python
中表示没有任何东西的特殊类型。例如,如果一个变量的值为None
,可以表示它没有值。
DocStrings
文档字符串很有用。
Python
有一个很奇妙的特性,称为文档字符串 ,它通常被简称为docstrings
。DocStrings
是一个重要的工具,由于它帮助你的程序文档更加简单易懂,你应该尽量使用它。你甚至可以在程序运行的时候,从函数恢复文档字符串!
def printMax(x, y): '''Prints the maximum of two numbers. The two values must be integers.''' x = int(x) # convert to integers, if possible y = int(y) if x > y: print x, 'is maximum' else: print y, 'is maximum'printMax(3, 5)print printMax.__doc__
运行结果:
5 is maximumPrints the maximum of two numbers.The two values must be integers.
文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。强烈建议你在你的函数中使用文档字符串时遵循这个惯例。
你可以使用
__doc__
(注意双下划线)调用printMax
函数的文档字符串属性(属于函数的名称)。请记住Python
把 每一样东西 都作为对象,包括这个函数。我们会在后面的类一章学习更多关于对象的知识。自动化工具也可以以同样的方式从你的程序中提取文档。因此,我强烈建议你对你所写的任何正式函数编写文档字符串。随你的
Python
发行版附带的pydoc
命令,与help()
类似地使用DocStrings
。
- 学习python的第三十天-参数,return语句,文档字符串
- 学习python的第三十八天
- python爬虫学习第三十天
- javascript学习之函数的参数和return语句
- 学习python的第三十五天-处理异常
- Python的简单使用:定义变量、使用空白决定逻辑、不存在switch、while语句、函数、全局变量、参数、文档字符串、运算
- 学习python的第三十七天-第一章 进入python的世界
- python爬虫学习第三十一天
- python爬虫学习第三十三天
- python爬虫学习第三十五天
- python爬虫学习第三十七天
- python爬虫学习第三十八天
- python爬虫学习第三十九天
- 学习python的第三十一天-模块,dir()函数
- 学习python的第三十三天-类和对象
- python return语句
- 3.13 Python return语句
- python的文档字符串
- Java中的装饰者模式
- 问道
- 产品中的KISS原则
- Jboss-7.1中间件部署
- Oracle中常见的33个等待事件小结
- 学习python的第三十天-参数,return语句,文档字符串
- 指针
- Linux学习教程之如何改变网卡的mac地址
- 常见对象_BigDecimal的引入和概述
- Word Search
- JUnit-4.11使用报java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing错误 .
- VS2013/MFC编程入门之三十六(文档、视图和框架:概述)
- laravel如何加载样式文件
- 【Unity&DragonBones】图片从DragonBones导入Unity2D像素图片边缘模糊的问题