函数注意事项:
1. 函数定义以 def 开始,def后面跟一个空格,空格后面是函数名,函数名后面跟着括号 ( ),括号后面是冒号:
2. 函数名以字符和下划线 _ 组成
3. 括号里包含参数,多个参数以逗号隔开 ,参数名称不能重复
4. 冒号:后面,另起一行,并且以Tab键直接空四格(4 个空格的缩进 ),这里开始写该函数的主体功能
5. 取消4格缩进,则函数结束;
当你运行(或者说“使用 use”或者“调用 call”)一个函数时,记得检查下面的要点:
1. 调运函数时是否使用了函数的名称?
2. 函数名称是否紧跟着 ( ?
3. 括号后有无参数?多个参数是否以逗号隔开?
4. 函数是否以 ) 结尾?
“‘运行函数(run)’、‘调用函数(call)’、和 ‘使用函数(use)’是同一个意思”
函数可以做三样事情:
1. 它们给代码片段命名,就跟“变量”给字符串和数字命名一样。
2. 它们可以接受参数,就跟你的脚本接受 argv 一样。
3. 通过使用 #1 和 #2,它们可以让你创建“微型脚本”或者“小命令”。
你可以使用 def 新建函数。
#this one is like your scripts with argv
#定义一个包含参数包*args的函数
def print_two(*args):
arg1,arg2=args #参数解包
print("arg1:%r,arg2:%r" %(arg1,arg2))
#ok,that *args is actually pointless,we can just do this
#定义一个包括参数arg1,arg2的函数
def print_two_again(arg1,arg2):
print("arg1:%r,arg2:%r" %(arg1,arg2))
#this just takes one argument
#定义一个包括1个参数arg1的函数
def print_one(arg1):
print("arg1:%r" %arg1)
#this one takes no arguments
#定义一个不含参数的函数
def print_none():
print("I got nothing.")
#调用函数
print_two("Zed","Shaw")
print_two_again("Zed","Shaw")
print_one("First!")
print_none()
1. 首先我们告诉 Python 创建一个函数,我们使用到的命令是 def ,也就是“定义(define)”的意思。
2. 紧接着 def 的是函数的名称。本例中它的名称是 “print_two”,但名字可以随便取,就叫 “peanuts” 也没关系。但最好函数的名称能够体现出函数的功能来。
3. 然后我们告诉函数我们需要 *args (asterisk args),这和脚本的 argv 非常相似,参数必须放在圆括号 () 中才能正常工作。
4. 接着我们用冒号 : 结束本行,然后开始下一行缩进。
5. 冒号以下,使用 4 个空格缩进的行都是属于 print_two 这个函数的内容。 其中第一行的作用是将参数解包,这和脚本参数解包的原理差不多。
6. 为了演示它的工作原理,我们把解包后的每个参数都打印出来,这和我们在之前脚本练习中所作的类似。
函数 print_two 的问题是:它并不是创建函数最简单的方法。在 Python 函数中我们可以跳过整个参数解包的过程,直接使用 () 里边的名称作为变量名。这就是 print_two_again 实现的功能。
接下来的例子是 print_one ,它向你演示了函数如何接受单个参数。
最后一个例子是 print_none ,它向你演示了函数可以不接收任何参数。