• python学习第十天 -- 函数


    稍微学过其他编程语言的人都应该了解函数的概念。在这里就不做过多的介绍。

    Python内置了很多有用的函数,我们可以也直接调用。

    可以直接从Python的官方网站查看文档:
    http://docs.python.org/2/library/functions.html

    类似于之前在介绍List的range() ,用于list切片介绍的zip()函数等等。都是python内置函数库提供的API。

    但是python的有些内置函数需要引用包(类型于C语言的头文件)。在程序开头引用包,举个例子:

    import math //引用#math包

    函数定义

    在Python中,定义一个函数要使用 def 语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进块中编写函数体,函数的返回值用 return 语句返回

    举个例子:定义一个 square_of_sum 函数,它接受一个list,返回list中每个元素平方的和。

    def square_of_sum(L):
        sum = 0
        for x in L:
            sum += x*x
        return sum

    函数返回多值

    在python中,函数也可以返回多个值。大家要记得,如果Python的函数返回多值其实就是返回一个tuple类似对象。

    >>> def my_getvalue(x,y):
    ...     if y==0:
    ...         return
    ...     a = x/y
    ...     b = x%y
    ...     return a,b
    ...
    >>> print my_getvalue(11,5)
    (2, 1)

    定义默认参数

    定义函数的时候,还可以有默认参数。

    例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数:

    >>> int('123')
    123
    >>> int('123', 8)
    83

    int()函数的第二个参数是转换进制,如果不传,默认是十进制 (base=10),如果传了,就用传入的参数。

    函数的默认参数的作用是简化调用,你只需要把必须的参数传进去。但是在需要的时候,又可以传入额外的参数来覆盖默认参数值。

    注意:由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面:

    # OK:
    def OK1(a, b=1, c=2):
        pass
    # Error:
    def Fail1(a=1, b):
        pass

    举个例子:定义一个 greet() 函数,它包含一个默认参数,如果没有传入,打印 'Hello, world.',如果传入,打印 'Hello, xxx.'

    >>> def greet(name = 'world'):
    ...     print 'Hello,',name,'.'
    ...
    >>> greet()
    Hello, world .
    >>> greet('python')
    Hello, python .

    定义可变参数

    如果想让一个函数能接受任意个参数,我们就可以定义一个可变参数。

    可变参数的名字前面有个 号,我们可以传入0个、1个或多个参数给可变参数。

    >>> def fu(*args):
    ...     print args
    ...
    >>> fu()
    ()
    >>> fu('a')
    ('a',)
    >>> fu(1,2,3)
    (1, 2, 3)

    Python解释器会把传入的一组参数组装成一个tuple传递给可变参数,因此,在函数内部也可以直接把变量 args 看成一个 tuple 类型对象。

    举个例子:编写接受可变参数的 average() 函数。(求平均)

    >>> def average(*args):
    ...     length = len(args)
    ...     if length ==0:
    ...         return 0.00
    ...     else:
    ...         return (sum(args)*1.0)/length
    ...
    >>> print average(1,2)
    1.5
    >>> print average(1,2,3,4,5)
    3.0

    小结:函数对应python来讲,是比较实用的。

  • 相关阅读:
    excel 读取
    MSDN异步编程概述 [C#] zzhttp://www.cnblogs.com/hxhbluestar/articles/60023.html
    window.opener showModelessDialog showModalDialog 获取|控制父窗体的区别
    MySql中文乱码解决方法
    关于随机数
    javascript 日期处理(注意事项)
    一个简单访问office程序的控件,不依赖officedll
    关于12306的bug
    回车提交
    js动态添加外部js(顶)
  • 原文地址:https://www.cnblogs.com/nx520zj/p/5706854.html
Copyright © 2020-2023  润新知