【简明 Python 教程】学习笔记【函数】

定义函数

函数通过def关键字定义。 def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结尾。接下来是一块语句,它们是函数体。

函数形参

函数中的参数名称为 形参 而你提供给函数调用的值称为实参 。

局部变量

当你在函数定义内声明变量的时候,它们与函数外具有相同名称的其他变量没有任何关系,即变量名称对于函数来说是 局部 的。这称为变量的 作用域 。所有变量的作用域是它们被定义的块,从它们的名称被定义的那点开始。

global语句

global语句被用来声明x是全局的——因此,当我们在函数内把值赋给x的时候,这个变化也反映在我们在主块中使用x的值的时候。

你可以使用同一个global语句指定多个全局变量。例如global x, y, z。

默认参数值:默认参数值应该是不可变的。

【重要】
只有在
形参表末尾
的那些参数可以有默认参数值,即你不能在声明函数形参的时候,先声明有默认值的形参而后声明没有默认值的形参。

这是因为赋给形参的值是根据位置而赋值的。例如,def func(a, b=5)是有效的,但是def func(a=5, b)是 无效 的。

关键参数

如果你的某个函数有许多参数,而你只想指定其中的一部分,那么你可以通过命名来为这些参数赋值——这被称作 关键参数 ——我们使用名字(关键字)而不是位置(我们前面所一直使用的方法)来给函数指定实参。

这样做有两个 优势 ——一,由于我们不必担心参数的顺序,使用函数变得更加简单了。二、假设其他参数都有默认值,我们可以只给我们想要的那些参数赋值。

return语句

注意,没有返回值的return语句等价于return None。None是Python中表示没有任何东西的特殊类型。

例如,如果一个变量的值为None,可以表示它没有值。

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

通过运行print someFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:

def someFunction():

pass

pass语句在Python中表示一个空的语句块。

DocStrings:

文档字符串的惯例是一个多行字符串,它的首行以大写字母开始,句号结尾。第二行是空行,从第三行开始是详细的描述。 强烈建议 你在你的函数中使用文档字符串时遵循这个惯例。

你可以使用__doc__(注意双下划线)调用函数的文档字符串属性(属于函数的名称)。请记住Python把 每一样东西 都作为对象,包括这个函数。我们会在后面的一章学习更多关于对象的知识。

如果你已经在Python中使用过help(),那么你已经看到过DocStings的使用了!它所做的只是抓取函数的__doc__属性,然后整洁地展示给你。你可以对上面这个函数尝试一下——只是在你的程序中包括help(printMax)。记住按q退出help。

自动化工具也可以以同样的方式从你的程序中提取文档。因此,我 强烈建议 你对你所写的任何正式函数编写文档字符串。随你的Python发行版附带的pydoc命令,与help()类似地使用DocStrings。

时间: 2024-09-30 13:04:01

【简明 Python 教程】学习笔记【函数】的相关文章

[简明python教程]学习笔记之编写简单备份脚本

[[email protected] 0503]# cat backup_ver3.py #!/usr/bin/python #filename:backup_ver3.py import os import time #source source=['/root/a.sh','/root/b.sh','/root/c.sh'] #source='/root/c.sh' #backup dir target_dir='/tmp/' today=target_dir+time.strftime('

[简明python教程]学习笔记2014-05-05

今天学习了python的输入输出.异常处理和python标准库 1.文件 通过创建一个file类的对象去处理文件,方法有read.readline.write.close等 [[email protected] 0505]# cat using_file.py #!/usr/bin/python #filename:using_file.py poem='''Programing is fun when the work is done use Python! ''' f=file('poem.

简明python教程学习笔记

参考(Reference) 不知道为什么没有翻译成引用. shoplist = ['apple', 'mango', 'carrot', 'banana']mylist = shoplist  这样写的话,mylist和shoplist指向同样的内存空间.那如果想要完全拷贝一份而不是引用shoplist应该怎么写呢? mylist = shoplist[:] 完整例子 切片(Slice) 昨天突然注意到切片的前后顺序.试了下,如果是[3:2]这样的范围的话,便输出一个空列表.当然[2:-1]这样

简明Python教程学习笔记1

1.介绍 略 2.安装Python 略 3.最初的步骤 (1)获取帮助help() help()的使用帮助 1 >>> help("help") 2 3 Welcome to Python 2.7! This is the online help utility. 4 5 If this is your first time using Python, you should definitely check out 6 the tutorial on the Inte

《简明 Python 教程》笔记

<简明 Python 教程>笔记 原版:http://python.swaroopch.com/ 中译版:https://bop.mol.uno/ 有 int.float 没 long.double.没 char,string 不可变. help 函数 如果你有一行非常长的代码,你可以通过使用反斜杠将其拆分成多个物理行.这被称作显式行连接(Explicit Line Joining)5: s = 'This is a string. \ This continues the string.'

简明 Python 教程--学习记录

注意,没有返回值的return语句等价于return None.None是Python中表示没有任何东西的特殊类型.例如,如果一个变量的值为None,可以表示它没有值.除非你提供你自己的return语句,每个函数都在结尾暗含有return None语句.通过运行printsomeFunction(),你可以明白这一点,函数someFunction没有使用return语句,如同:def someFunction():passpass语句在Python中表示一个空的语句块. 切片操作符中的第一个数(

简明Ptyhon教程学习笔记一

我们为什么要学Python? 简单:简单是最美的东西.Python就是一种简单的语言,Python可以使你专注于解决问题而不是去搞明白语言本身. 免费.开源:Python是开源产物,既不需要你购买他,也不需要你花钱去学习(它的简单足以让你自己就可以搞定). 高级语言:相比于C.C++这样的"高级语言",Python实在是太容易了,你不需要去考虑任何底层操作,只需要注重于你要完成的具体的功能. 可移植型:Python的高级特性让其代码并不依赖于平台,它不需要编译,只要你的平台有解释器,那

简明python教程读书笔记(二)之为重要文件备份

一.可行性分析: 一般从经济.技术.社会.人四个方向分析. 二.需求分析: 需求分析就是需要实现哪些功能,这个很明了-文件备份 几个问题: 我们的备份位置? 什么时间备份? 备份哪些文件? 怎么样存储备份(文件类型)? 备份文件的名称?(需要通俗明了,一般是以当前时间命名) 三.实施过程: 方案一: #!/usr/lib/env python import osimport timebacklist=['/etc','/root']to='/mnt/' target=to+time.strfti

简明Python教程 读书笔记一

Python特性:解释性编程语言解释性——Python语言写的程序不需要编译成二进制代码.Python解释器把源代码转换成称为字节码的中间形式,然后再翻译成机器语言.面向对象——Python即支持面向过程的编程也支持面向对象的编程.在面向过程的语言中,程序是由过程或仅仅是可重用代码的函数构建起来的.在面向对象的语言中,程序是由数据和功能组合而成的对象构建起来的. 最初的步骤:有两种使用Python运行你的程序方式——使用交互式的带提示符的解释器或者使用源文件 退出python提示符——按Ctrl

《简明Python教程》学习笔记

<简明Python教程>是网上比较好的一个Python入门级教程,尽管版本比较老旧,但是其中的基本讲解还是很有实力的. Ch2–安装Python:下载安装完成后,在系统的环境变量里,在Path变量后面追加安装目录的地址,即可在cmd下使用Python: CH3–Python3中,print的语法改为了print( ):Python编辑器列表:支持Python的IDE列表: CH4–变量不需要特别的变量类型定义过程: CH5–运算表达式及优先级: CH6–控制流,主控制语句行末以“:”结尾:if