您的位置:首页 > 编程语言 > Python开发

《Python 编程快速上手 — 让繁琐工作自动化》读书笔记之【第3章 函数】

2018-03-01 15:29 701 查看

1.  def 语句和参数

示例:
#定义一个函数
def helloFunc2(name):
   print("Hello " + name)
 helloFunc2("Alice")

2.  返回值和 return 语句

一般来说,函数调用返回值的结构成为函数的“返回值”。
用 def 语句创建函数时,可以用return 语句指定应该返回什么值。return 语句包含以下部分:
 return 关键字;
函数应该返回的值或表达式。
示例:
import random
def getAnswer(answerNumber):
   if answerNumber == 1:
       return "first"
   elif answerNumber == 2:
       return "second"
   elif answerNumber == 3:
       return "forth"
   else:
       return "I don't wangt to gess"
r = random.randint(1,4)
print(getAnswer(r))

3.  None 值

None表示没有,是NoneType数据类型的唯一值,且首字母必须大写。有一个使用None的地方就是print()函数的返回值。
示例:
#None值
print(None == print())#The result is True
注:
1)     其他编程语言可能称这个值为 null、nil 或 undefined,但是Python的值就只是None.
2)     在幕后,对于所有没有 return 语句的函数定义,Python 都会在末尾加上 return
None。

4.  关键字参数和 print()

“关键字参数”是由函数调用时加在它们前面的关键字来识别的。关键字参数通常用于可选变元。例如,print()函数有可选的变元 end 和 sep,分别指定在参数末尾打印什么,以及在参数之间打印什么来隔开它们。
示例1:
>>>print("a","b","c")
a b c
示例2:
>>>print("a","b","c",sep=":")
a:b:c

5.  局部和全局作用域

1)  局部变量不能在全局作用域内使用

2)  局部作用域不能使用其他局部作用域内的变量

3)  全局变量可以在局部作用域中读取

4)  名称相同的局部变量和全局变量

技术上, 在Python中让局部变量和全局变量同名是合法的,但是不建议这样做。

6.  global 语句

如果需要在一个函数内修改全局变量,则需要使用global语句。
示例:
def spam():
   global eggs
   eggs = "spam"
eggs = "eggs"
spam()
print(eggs)
运行程序后结果将会输出:spam
有 4 条法则,来区分一个变量是处于局部作用域还是全局作用域:
1.如果变量在全局作用域中使用(即在所有函数之外),它就总是全局变量。
2.如果在一个函数中,有针对该变量的global 语句,它就是全局变量。
3.否则,如果该变量用于函数中的赋值语句,它就是局部变量。
4.但是,如果该变量没有用在赋值语句中,它就是全局变量。
示例:



在一个函数中,一个变量要么总是全局变量,要么总是局部变量。函数中的代码
没有办法先使用名为 eggs 的局部变量,稍后又在同一个函数中使用全局 eggs 变量。

7.  异常处理

Python中使用try…except…语句来处理。示例:
#try...except...处理异常
def spam(devideBy):
   try:
       return 42/devideBy
   except:
       print("除数不能为0",end=",")
print(spam(2))
print(spam(0))
print(spam(1))
print(spam(8))
输出结果:



 注:一旦执行跳到 except 子句的代码,就不会回到 try 子句。它会继续照常向下执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Python 函数
相关文章推荐