函数
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
在python程序中,使用函数之前需要先定义(声明)函数,然后才能调用它。只要按函数定义的形式,向函数传递必需参数,就可以调用它完成相关功能并取得函数返回结果。
定义函数
定义函数的语法格式如下
def<函数名> (参数列表) <函数语句> return 返回值 #此项不是必须的
默认情况下,参数值和参数名称是按函数声明中定义的顺序匹配起来的
代码实例如下
def hello() : print("Hello World") hello()
结果如下
Hello World >>>
函数的调用
函数的调用就是使用函数,定义一个函数相当于给了函数一个名称,指定了函数里包含的参数,和代码块结构。
这个函数的基本结构完成以后,你可以通过另一个函数调用执行,也可以直接从 Python 命令提示符执行
以下为函数调用的实例
def printme( str ): # 打印任何传入的字符串 print (str) return # 调用函数 printme("Hello") printme("World")
上面实例输出结果
Hello World
函数的参数
在python程序中,参数是函数的重要组成元素。在调用函数时,参数可以传递也可以不传递。还有一些情况,函数中的参数数量无法确定,下面会详细讲解函数的参数。
形参和实参
形参表示函数完成其工作所需的一项信息,实参是调用函数时传递给函数的信息
以下是调用函数时可使用的正式参数类型:
※ 必需参数
※ 关键字参数
※ 默认参数
※ 不定长参数
必须参数
必需参数也叫位置实参,须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
下面实例调用 printme() 函数,你必须传入一个参数,不然会出现语法错误:
#可写函数说明 def printme( str ): "打印任何传入的字符串" print (str) return # 调用 printme 函数,不加参数会报错 printme()
实例输出结果:
Traceback (most recent call last): File "test.py", line 10, in <module> printme() TypeError: printme() missing 1 required positional argument: 'str'
关键字参数
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
以下实例在函数 printme() 调用时使用参数名:
#可写函数说明 def printme( str ): "打印任何传入的字符串" print (str) return #调用printme函数 printme( str = "Hello World")
实例输出结果:
Hello World
以下实例中演示了函数参数的使用不需要使用指定顺序:
#可写函数说明 def printinfo( name, age ): "打印任何传入的字符串" print ("名字: ", name) print ("年龄: ", age) return #调用printinfo函数 printinfo( age=50, name="Tom" )
实例输出结果:
名字: Tom 年龄: 50