函数通过def关键字定义。def关键字后跟一个函数的表标识符名称,然后跟一对圆括号。

圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

def sayHello():
print 'Hello World!' sayHello()

函数形参是在函数定义的圆括号对内指定,用逗号分隔。

def printMax(a,b):
if a>b:
print a,'is maximum'
else:
print b,'is maximum' printMax(,) x =
y = printMax(x,y)

使用局部变量

def func(x):
print 'x is',x
x=
print 'Changed local x to',x x=
func(x)
print 'x is still',x

使用global语句

定义全局变量,使用global语句完成这一功能。

使用global语句可以清楚地表明变量是在外面的块定义的。

def func():
global x print 'x is',x
x =
print 'Changed local x to',x x =
func();
print 'Value of x is',x

结果:

x is
Changed local x to
Value of x is

默认参数值

在函数定义的形参名后加上赋值运算符(=)和默认值,从而给形参指定默认参数值。

def say(message,times=):
print message*times say('Hello')
say('World',)

重要

只有在形参表末尾的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。(因为赋给形参的值时根据位置而赋值的)

例如,def func(a,b=5)是有效的,但是def func(a=5,b)是无效的

关键参数

函数有多个参数,而你只想指定其中的一部分,则可以通过命名来为这些参数赋值----关键参数

优势:1.不必担心参数的顺序,使用函数变得更加简单。

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

def func(a,b=,c=):
print 'a is',a,'and b is',b,'and c is',c
func(,)
func(,c=)
func(c=,a=)

return

注意:没有返回值的return语句等价于return None。

None是Python中表示没有任何东西的特殊类型。例如,如果一个变量的值是None,可以表示它没有值。

除非提供自己的return语句,每个函数都在结尾暗含有return None语句。

DocStrings

文档字符串,它通常被简称为docstrings。

DocStrings是一个重要的工具,能帮助你的程序文档更加简单易懂,应尽量使用它,甚至可以在程序运行的时候,从函数恢复文档字符串。

#!/usr/bin/python
# Filename: func_doc.py 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(, )
print printMax.__doc__

注意:DocStrings也适用于模块类。

文档字符串的惯例是一个多行字符串,首行以大写字母开始,句号结束。第二行是空行,从第三行开始是详细的描述。

使用——doc——(注意是双下划线)调用printMax函数的文档字符串属性(属于函数的名称)。

简明python教程三-----函数的更多相关文章

  1. 《简明python教程》笔记一

    读<简明Python教程>笔记: 本书的官方网站是www.byteofpython.info  安装就不说了,网上很多,这里就记录下我在安装时的问题,首先到python官网下载,选好安装路 ...

  2. (原+转)简明 Python 教程:总结

     简明 Python 教程 说明:本文只是对<简明Python教程>的一个总结.请搜索该书查看真正的教程. 第3章 最初的步骤 1. Python是大小写敏感的. 2. 在#符号右面的内容 ...

  3. 笔记|《简明Python教程》:编程小白的第一本python入门书

    <简明Python教程>这本书是初级的Python入门教材,初级内容基本覆盖,对高级内容没有做深入纠结.适合刚接触Python的新手,行文比较简洁轻松,读起来也比较顺畅. 下面是我根据各个 ...

  4. 简明Python教程 ~ 随书笔记

    本文是阅读<简明Python教程>所做的随书笔记,主要是记录一些自己不熟悉的用法,或者所看到的比较有意思的内容,本书英文版A Byte of Python, 中文译版 简明Python教程 ...

  5. 【转】简明 Python 教程

    原文网址:http://woodpecker.org.cn/abyteofpython_cn/chinese/ 简明 Python 教程Swaroop, C. H. 著沈洁元  译www.byteof ...

  6. python读书笔记-《简明python教程》上

    1月15日 <简明python教程>上 基本结构: 基础概念+控制流+函数+模块+数据结构+面向对象+I/O+异常+标准库+其他   1.概念 1-0    退出python linux: ...

  7. 学习笔记《简明python教程》

    学习笔记<简明python教程> 体会:言简意赅,很适合新手入门 2018年3月14日21:45:59 1.global 语句 在不使用 global 语句的情况下,不可能为一个定义于函数 ...

  8. 《简明Python教程》学习笔记

    <简明Python教程>是网上比较好的一个Python入门级教程,尽管版本比较老旧,但是其中的基本讲解还是很有实力的. Ch2–安装Python:下载安装完成后,在系统的环境变量里,在Pa ...

  9. 简明Python教程自学笔记——命令行通讯录

    [前言]学习Python已经有一段时间了,相关的书籍资料也下载了不少,但是没有一本完整的看完,也没有编出一个完整的程序.今天下午比较清闲就把<简明Python教程>看了一遍,然后根据书里面 ...

随机推荐

  1. 使用Selectivizr让你的 CSS3选择器 通吃IE6/7/8

    说到HTML5,总是会让人不自觉的想到CSS3,貌似他们就应该是成双成对.OK!前几天和大家分享了<使用html5shiv让HTML5通吃IE6/7/8>,那今天,便再和大家分享一个能让H ...

  2. struts2中,OGNL访问值栈的时候查找的顺序是什么?请排序:模型对象、临时对象、固定名称的对象、Action对象

    struts2中,OGNL访问值栈的时候查找的顺序是什么?请排序:模型对象.临时对象.固定名称的对象.Action对象 解答:struts2的值栈排列顺序为:1).临时对象:2).模型对象:3).Ac ...

  3. SQLite 连接两个字符串

    SQLite中,连接字符串不是使用+,而是使用|| 示例: SELECT 'I''M '||'Chinese.' 将输出 I'M Chinese. 特别说明:1. SELECT 'I''M '+'Ch ...

  4. 2018 ACM ICPC 南京赛区 酱油记

    Day 1: 早上6点起床打车去车站,似乎好久没有这么早起床过了,困到不行,在火车上睡啊睡就睡到了南京.南航离南京南站很近,地铁一站就到了,在学校里看到了体验坐直升机的活动,感觉很强.报道完之后去吃了 ...

  5. 2017 ACM区域赛(西安) 参赛流水账

    day 0: 周五, 鸽了概统课,早上和紫金港的几位小伙伴一起打车去萧山机场,从咸阳机场到西北工业大学坐了五十多个站的公交车,感觉身体被掏空.晚上在宾馆本来打算补之前训练的一个题,想想还是先花个十来分 ...

  6. 红黑树red-black tree

    书籍:<算法导论>第13章 红黑树性质:1. 每个节点要么red要么black.2. 根节点是black节点.3. 叶子节点是black节点.4. red节点的左右儿子节点都是black节 ...

  7. MathType可以在Word、PPT中插入矩阵吗

    工科学生或者老师在写论文时最头痛的就是编辑公式,因为word自带的公式编辑器往往满足不了专业的公式需求,MathType就很好的解决了这个问题.在进行公式编辑时,难免会遇到输入矩阵的情况,那么怎么输入 ...

  8. (推荐JsonConvert )序列化和反序列化Json

    在Json文本和.Net对象之间转换最快的方法是试用JsonSerializer. JsonSerializer通过将.Net对象属性名称映射到Json属性名称,并为其复制值,将.Net对象转换为其J ...

  9. [Intellij idea]解决debug时中文显示方框问题

    1. 点击File -> Settings 进入Intellij的设置页面 2. 点击Appearance,选择Override defaults fonts by (not recommend ...

  10. mac下面安装多个JDK

    JDK8 GA之后,小伙伴们喜大普奔,纷纷跃跃欲试,想体验一下Java8的Lambda等新特性,可是目前Java企业级应用的主打版本还是JDK6, JDK7.因此,我需要在我的电脑上同时有JDK8,J ...