DRY:don`t repeat yourself
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。
函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数
使用函数:
1,可以降低代码量
2,降低维护成本
3,使程序更容易阅读
函数式编程最重要的是增强代码的重用性和可读性
你可以定义一个由自己想要功能的函数,以下是简单的规则:
语法:
def functionname( parameters ):
"函数_文档字符串"
function_suite return [expression]
默认情况下,参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
1、返回值
函数是一个功能块,该功能到底执行成功与否,需要通过返回值来告知调用者。
return语句[表达式]退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。
2、参数
函数的有三中不同的参数:
关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。
使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。
调用函数时,缺省参数的值如果没有传入,则被认为是默认值
你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数,和上述2种参数不同,声明时不会命名,加了星号(*)的变量名会存放所有未命名的变量参数。选择不多传参数也可。
python 使用 lambda 来创建匿名函数。
lambda函数的语法只包含一个语句,如下:
lambda [arg1 [,arg2,.....argn]]:expression
一个程序的所有的变量并不是在哪个位置都可以访问的。访问权限决定于这个变量是在哪里赋值的。
变量的作用域决定了在哪一部分程序你可以访问哪个特定的变量名称。两种最基本的变量作用域如下:
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中。如下实例:
#!/usr/bin/python# -*- coding: UTF-8 -*-total = 0; # 这是一个全局变量# 可写函数说明def sum( arg1, arg2 ):
#返回2个参数的和."
total = arg1 + arg2; # total在这里是局部变量.
print "函数内是局部变量 : ", total return total;
#调用sum函数sum( 10, 20 );print "函数外是全局变量 : ", total
以上实例输出结果:
函数内是局部变量 : 30函数外是全局变量 : 0