None值
在Python中有一个值称为None,它表示没有值。None是NoneType数据类型的唯一值(其他编程语言可能称这个值为null、nil或undefined)。就像布尔值True和False一样,None须大写首字母N。
函数的定义
- 使用def关键字定义一个函数:
def fun1(var1,var2...):
# do something
return ...
return关键字
-
对于所有没有return语句的函数定义,Python都会在末尾加上return None。这类似于while或for循环隐式地以continue语句结尾。而且,如果使用不带值的return语句(也就是只有return关键字本身),那么就返回None。
-
多个返回值:
return可以有多个返回值。
def f2(): return 1, 2, 3; a, b, c = f2() print ("a:" + str(a) + " b:" + str(b) + " c:" + str(c))输出结果为:a:1 b:2 c:3
关键字参数
大多数参数是由它们在函数调用中的位置来识别的。例如,random.randint(1,10)与random.randint(10,1)不同。函数调用random.randint(1,10)将返回1到10之间的一个随机整数,因为第一个参数是范围的下界,第二个参数是范围的上界(而random.randint(10,1)会导致错误)。但是,“关键字参数”是由函数调用时加在它们前面的关键字来识别的。
def fun2(var1, **var2):
print var1
if (var2 != {}):
print var2
fun2('ok')
fun2('ok', strs='hello')
输出结果为:
ok
ok
{'strs': 'hello'}
关键字参数的应用——print函数
-
end: 指定在参数末尾打印什么
如果运行以下程序:
print('Hello') print('World')输出将会是:
Hello
World
这两个字符串出现在独立的两行中,因为print()函数自动在传入的字符串末尾添加了换行符。print('Hello', end='') print('World')输出就会像这样:
HelloWorld -
sep: 在参数之间打印什么来隔开它们
如果向print()传入多个字符串值,该函数就会自动用一个空格分隔它们.
print('cats','dogs','mice')输出结果为:cats dogs mice
传入sep关键字参数,替换掉默认的分隔字符串。
print('cats','dogs','mice',sep=',')输出结果为:cats,dogs,mice
全局变量和局部变量
名称相同的局部变量和全局变量
def spam():
eggs = 'spam local'
print( eggs)
def bacon():
eggs = 'bacon local'
print( eggs)
spam()
print( eggs) # prints 'bacon local'
eggs = 'global'
bacon()
print(eggs) # prints 'global'
输出结果为:
bacon local
spam local
bacon local
global
global语句
如果需要在一个函数内修改全局变量,就使用global语句。
如果在函数的顶部有global eggs这样的代码,它就告诉Python,“在这个函数中,eggs指的是全局变量,所以不要用这个名字创建一个局部变量。”
def spam():
global eggs
eggs = 'spam'
eggs = 'global'
spam()
print( eggs)
输出结果为:spam
异常处理
使用 try-except语句来处理异常:
try:
return 42 / divideBy
except ZeroDivisionError:
print(' Error: Invalid argument.')











网友评论