Python学习笔记3——函数
函数
1.def 函数名(参数1,参数2....)
自定义函数
当调用函数时,参数会被暂时存在一个变量中,当函数返回后,保存在变量中的值会被丢弃。
2.return语句 返回函数值
可以将返回值作为参数传递给另一个函数调用
print(getAnswer(random.randint(1,9)))
表达式是值和操作符的组合。函数调用可以用在表达式中,因为它求值为它的返回值。
3.None值表示空值,首字母必须大写
print()函数和return(只有这个关键字)返回None
4.关键字参数
某些函数有可选的关键字参数,在函数调用时可以指定
如,print(value,......,sep='',end='\n')
有可选参数end----指定在参数末尾打印什么,默认换行
sep----指定在参数中间打印什么来间隔,默认空格
5.局部变量和全局变量
1)全局作用域中的代码不能使用局部变量
def spam():
eggs = 31337
spam()
print(eggs)
spam函数被调用后,eggs变量里存的值就被销毁了,所以直接print会报错
改成 def spam():
eggs = 345
return eggs
print(spam())
这只能输出eggs的值,也不是调用spam里面的eggs变量
2)局部作用域可以访问全部变量
def spam():
print(eggs)
eggs =42
spam()
程序返回值为42,因为spam函数中没有为eggs赋值,所以当引用spam函数是,Python默认spam函数是对全局变量eggs的引用,所以打印42
3)一个函数的局部作用域不能使用其他局部作用域中的变量
有点类似于全局和局部的关系
def spam():
eggs = 345
bacon()
print(eggs)
def bacon():
eggs =0
ham = 101
spam()
这个小程序返回的eggs的值为99
一个函数中的局部变量完全与其他函数中的局部变量分隔开来。
4)在不同的作用域中,可以使用相同的名字命名不同的变量
注:在Python中,只有模块、类以及函数才会引入新的作用域,其他的代码块是不会引入新作用域的(一般都是全局作用域)
6.global语句
global语句设置全局变量,也可在函数里面用
7.异常处理(最简单的方式)
这个是处理除零异常
try:
111
exception ZeroDivisionError:
222