函数
完成特定功能的一个语句组,这组语句可以作为一个单位使用,并给他取一个名字通过函数名执行关键词
定义函数
def 函数名 函数的调用名称
例子:
def is_leap_year(year):
''' This function is judge(判断) isn't the year is a leap year '''
if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:
return True
else:
return False
is_leap_year(2013)
参数
形式参数 (parameter)
实际参数 (argument)
上面的例子中is_leap_year(year),其中的year就是is_leap_year的形式参数而调用过程中传入的2013则是其实际参数
缺省参数
在定义形参的时候,可以加赋值,如果实参没有给使用形参的赋值。 如果实参给了,则数据为实参
如果将上例中的is_leap_year(year)改为is_leap_year(year = 2011),那2011就是is_leap_year的缺省参数
return 返回
函数调用完成后,返回数据
return语句终止当前函数的执行,return后面的语句将被忽略。
变量的作用域
局部变量: 只能在程序的特定部分使用的变量,函数内部
全局变量: 整个程序都能使用的变量 如果全局变量和局部变量的变量名相同, 在函数内部只对局部变量操作,不改变全局变量的值。
如果想在函数内部操作全局变量,要先在变量前面加上 global
例如 :(求1800年至输入年份一共有多少个闰年)
def is_leap_year(year):
''' This function is judge(判断) isn't the year is a leap year '''
if year % 4 == 0 and year % 100 !=0 or year % 400 == 0:
return True
else:
return False
is_leap_year(2013)
如果想操作sum的值,需要在函数内部申明sum的时候加上global。
用函数的优点
代码可重用,减少重复编码。
代码更简洁 函数功能相对独立。
功能单一 结构清晰,可读性好。
编程更容易把握,复杂程序分解成较小部件 。
封装与信息隐藏。
使用函数进行程序设计,也叫做结构化程序设计方法 自顶向下分析,自底向上实现