使用 def 关键字类定义函数,格式为 def fnName(): ... def test(): 具体函数的语句 局部变量: def aa(): a = 9; print a; #会报错,a在方法中定义的,出了方法就不能用了:a未定义 注意: 在python中,程序代码块是以缩进为参考的。java中是以{}来明确规定代码块的。 def aa(): print a ; #a在方法外被定义,所以方法内可以访问 a = 9; aa(); -------------------------------------------------------------- 全局变量: def aa(): print a ; #a在方法外被定义,所以方法内可以访问 a = 5; a = 9; aa(); print a; # 方法中定义了一个 a ,共有两个a 所以会报错。 在方法第一句就声明 global a ,声明其为一个全局变量,这样就不会出错了。 |
函数的默认形参与指定参数赋值
def val(a, b=2): print a*b ; 以上函数中给 b 这个变量一个 默认的值为2; 如果我们调用这个函数时,只给 a 传递了一个值,结果就为 a * 2 如果我们调用这个函数时,给 a 和 b 都传递了值,结果为 a * b 注意: 当函数的参数有默认值时,该参数必须放在后面,这样调用的时候就可以写成 val(3) 只给第一个参数赋值。 ---------------------------------------------------------- def val(a, b=2, c=3): print a*b*c ; val(3,1); 只给 第一 第二 个参数赋值 ---------------------------------------------------------- 指定参数赋值: 也可以指定给哪个参数赋值: val (3,c=1); 第一个参数 a = 3 b 使用 默认值 ,c =1 |