• 函数


    函数

    1,定义和使用

    1
    2
    3
    4
    5
    6
    def 函数名(参数):
           
        ...
        函数体
        ...
        返回值

    函数的定义主要有如下要点:

    • def:表示函数的关键字
    • 函数名:函数的名称,日后根据函数名调用函数
    • 函数体:函数中进行一系列的逻辑计算,如:发送邮件、计算出 [11,22,38,888,2]中的最大数等...
    • 参数:为函数体提供数据
    • 返回值:当函数执行完毕后,可以给调用者返回数据。

    调用运行:可以带参数也可以不带参数

    函数命名规则:

    -函数名必须以下划线或者字母开头,可以包含任意字母数字下划线的组合,不能使用任何的标点符号

    -函数名是区分大小写的

    -函数名不能是python 内部保留字

    -带参数

    def test(x):
    '''
    y = 2 * x + 1
    :param x: 整数数字
    :return: 返回计算结果
    '''
    y = 2 * x + 1
    return y
    print(test(4))======>结果是:9

    -不带参数

    def test():
    '''
    y = 2 * x + 1
    :param x: 整数数字
    :return: 返回计算结果
    '''
    x = 4
    y = 2 * x + 1
    return y
    print(test())========结果是:9

    2,使用函数的好处:

    - 减少代码量

    - 保持一致性,易维护

    - 可扩展性

    3, 过程

    过程是没有返回值的函数

    1)函数没有返回值(返回值数=0),返回None

    2) 返回值数=1(有一个返回值),返回object

    3) 返回值数>1(有多个返回值),返回tuple(元祖)

    例如:

    def test01():
    msg = "hi"
    print(msg)==========>没有返回值,所以print(t1)值是None


    def test02():
    msg = "what is your name"
    print(msg)
    return msg=========>返回值是msg,所以print(msg)值是 what is your name


    def test03():
    msg = "what is your name"
    print(msg)
    return 1, 2, {1:2, 33: 44}, [23, 34]=====>多个返回值,所以返回值是元祖
    (1, 2, {1:2, 33: 44}, [23, 34])

    t1 = test01()
    t2 = test02()
    t3 = test03()
    print(t1)
    print(t2)
    print(t3)

    4,函数参数

    1)位置参数 (注意,传参数时需对应。如:test(x, y, z) 参数应该对应输入3个

    def test(x, y, z):
    '''
    a = x + y + z
    :param x: 整数数字
    :param y: 整数数字
    :param z: 整数数字
    :return: 返回计算结果
    '''
    a = x + y + z
    return a
    print(test(1, 2, 3))=====>结果是:6

    2)关键字参数

    def test(x, y, z):
    '''
    a = x + y + z
    :param x: 整数数字
    :param y: 整数数字
    :param z: 整数数字
    :return: 返回计算结果
    '''
    a = x + y + z
    return a
    test(x = 1, y = 2, z = 3)
    print(test(x = 1, y = 2, z = 3))======>结果是: 6

    3)位置参数与关键字参数混用时,位置参数必须在关键字参数左边。例如print(test(1,2,z=3)

    一个形参只能一次传一个值,不能传多个值

    4)默认参数

    def test(x, y, z,type = 3): =====>type是默认参数。写参数时可以不写type
    '''
    a = x + y + z
    :param x: 整数数字
    :param y: 整数数字
    :param z: 整数数字
    :return: 返回计算结果
    '''
    a = x + y + z + type
    return a
    test(1, 2, 3)
    print(test(1, 2, 3))=======>结果是: 9

    5)参数组

    -*args

    接收多个参数,并把它放成列表的形式

    *args除了不能传入关键字参数(例如:x=2)和**字典外,其他的都可以传

    - **kwargs

    接收多个参数,并把它放成字典的形式

    **kwargs 只能接收关键字参数,如果接收字典的话,需要在字典前加上**

    def test(**kwargs):
    print(kwargs)#{'name': 34}
    a = test(**{'name':34})
    print(a)#None 函数没有返回值,所以默认None

     **kwargs :一般放键值对 (例如: a=3,b=3)

    *args 一般放(例如:1,2,3等具体参数)

    *args 必须放在**kwargs前边。

  • 相关阅读:
    20个热门jQuery的提示和技巧
    10个原生JavaScript技巧
    HTML5开发 BUG解决
    JS笔试题
    AMD:浏览器中的模块规范
    Win8 App使用Listview的简单方法
    Javascript模块化编程
    移动端插件IScroll.js
    移动web资源概论
    Commonjs规范中module.exports和exports的区别
  • 原文地址:https://www.cnblogs.com/wode110/p/14425453.html
Copyright © 2020-2023  润新知