函数
函数的定义使用def+函数名+()+:,下面跟着一个块,如:
输入:
输出:
函数是重用的程序段。它们允许你给一块语句一个名称,然后你可以在你的程序的任何地方使用这个名称任意多次地运行这个语句。这被称为函数调用。我们已经使用了很多内建函数,如len,range等。
函数形参
在定义函数的时候可以给函数定义参数,将参数放在函数名称后边的括号里,不同的参数用(,)隔开,这些参数称为形参,而在调用函数时,提供给函数的值称为实参。例如,一个可以打印两个数中最大值的函数:
输入程序:
程序运行结果:
局部变量
在某个函数内定义的变量称为局部变量,局部变量只在函数内有意义,这称为变量的作用域,函数的作用域是它被定义的块,函数内的变量与函数外相同名称的变量没有任何关系。例如:
程序:
运行结果:
可以看出函数里边的变量和外边的变量没有关系。
global语句
当想在函数内部对函数外部的变量赋值时,可以使用global语句,但不建义在函数内部使用在函数外的变量值,因为这样做会使程序看起来很混乱。例如:
程序:
运行:
从上边的例子也可看出,在函数中虽然开始定义了一个和全局变量同名的局部变量,但是一旦再次将变量申明为全局变量后,此函数中以后的该变量都按全局变量处理。
global用来申明变量是全局的,也可以用一个global来同时申明个变量,如
global x,y,z
默认参数值
可以为函数的参数设置默认值,在函数定义的形参后加上赋值运算符(=)和默认值,就可以给形参指定默认参数值。默认对数值应当是一个不可变的参数。默认参数可以是最后一从此,或者是最后一个加前面的若干个,但是不可以前面的是默认参数,而后面的不是。如:
程序:
运行:
这是有一点需要注意,raw_input()输入的是字符串类型的数据,而input()输入的是int和float类型的数据,如果不注意这一点,可能会得到与实际相反的结果,如:
程序:
运行:
这里可以看到,运行的结果显示,67比199大,这显然不符合逻辑,其实这是因为这里输入的67是一从此字符串,拿字符串和int类型的比,所以会出现67比199大的现象。
今天就学到这里,明天继续学习函数。
总结:函数,函数的定义,函数的形参,局部变量和申明为全局变量,默认参数值