• 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来讲,是比较实用的。

  • 相关阅读:
    实验axios用户登录及token验证
    vue的路由跳转了,可是页面没有变化
    搞清楚cookie,session,token,JWT
    APP应用测试流程
    Scrum敏捷开发
    APP项目环境及发布平台
    ssh -T git@github.com ssh: connect to host github.com port 22: Connection timed out
    pytest与unitest区别
    数据库三大范式--大白话
    docker 安装mysql挂载/var/lib/mysql目录时启动就退出
  • 原文地址:https://www.cnblogs.com/nx520zj/p/5706854.html
Copyright © 2020-2023  润新知