函数是有组织的,可重复使用的代码,用于执行一个单一的,相关的动作的块。函数为应用程序和代码重用的高度提供了更好的模块。
正如我们知道的,Python的print()等许多内置函数,但也可以创建自己的函数。这些函数称为用户定义函数。
定义一个函数
可以定义函数,以提供所需的功能。下面是简单的规则来定义Python函数。
函数块以开始关键字def后跟函数名和括号中(())。 任何输入参数或参数应该放在这些括号内。还可以定义这些括号内的参数。 函数的第一个语句可以是??一个可选的声明 - 该函数或文档字符串的文档字符串。 每个函数中的代码块以冒号(:)开头并缩进。 该语句返回[表达式]退出功能,可选地传递回一个表达式给调用者。不带参数return语句返回None。语法:
def functionname( parameters ): "function_docstring" function_suite return [expression]
默认情况下,参数具有一个位置的行为和需要,它们被定义为通知他们以相同的顺序。
例子:
这是最简单的Python函数形式。这个函数接受一个字符串作为输入参数,并打印标准的屏幕上。
def printme( str ): "This prints a passed string into this function" print str return
调用函数
定义一个函数只给出它的名称,指定要被包括在功能和结构的代码块的参数。
一旦函数的基本结构确定后,可以通过从其他函数或直接从Python提示符调用它执行它。以下是示例调用printme()函数:
#!/usr/bin/python# Function definition is heredef printme( str ): "This prints a passed string into this function" print str; return;# Now you can call printme functionprintme("I'm first call to user defined function!");printme("Again second call to the same function");
当执行上面的代码中,产生以下结果:
I'm first call to user defined function!Again second call to the same function
引用VS值传递
所有参数(参数)在Python语言是通过引用传递。这意味着,如果你在一个函数中改变了一个参数的值,变化也反映了在调用函数中。例如:
#!/usr/bin/python# Function definition is heredef changeme( mylist ): "This changes a passed list into this function" mylist.append([1,2,3,4]); print "Values inside the function: ", mylist return# Now you can call changeme functionmylist = [10,20,30];changeme( mylist );print "Values outside the function: ", mylist
这里,我们保持传递的对象的参考,并在同一个对象附加的值。这样,这将产生以下结果:
Values inside the function: [10, 20, 30, [1, 2, 3, 4]]Values outside the function: [10, 20, 30, [1, 2, 3, 4]]
新闻热点
疑难解答