美文网首页
Python学习笔记——Python函数

Python学习笔记——Python函数

作者: developerChenxi | 来源:发表于2017-12-14 20:06 被阅读0次

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.')

相关文章

网友评论

      本文标题:Python学习笔记——Python函数

      本文链接:https://www.haomeiwen.com/subject/ynrlwxtx.html