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

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 子句。它会继续照常向下执行。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值