百人计划

Python学习笔记3——函数

2017-03-28  本文已影响69人  qianyewhy

函数

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

上一篇下一篇

猜你喜欢

热点阅读