zoukankan      html  css  js  c++  java
  • 4、python全栈之路函数初识

    四、函数初识

    http://www.cnblogs.com/Eva-J/articles/7125925.html

    1、定义函数

    def 函数名()

    def mylen():  #定义函数
        name = 'alexaaa'  #字符串
        length = 0
        for char in name:
            length += 1
        print(length)

     

    在内存中生成mylen函数,定义阶段不走函数体内的程序

    #基本函数相关的概念
    def 函数名(参数1,参数2):   #形参
        '''
        这是一个解决什么问题的函数
        :param 参数1: 传入一个用户名字
        :param 参数2: 传入一个数字表示用户的年龄
        :return: 返回一个列表
        '''
        print('函数体')
        返回值 = {参数1,参数2}
        return 返回值

    # 接受返回值 = 函数名('alex',83)  #函数的调用  —— 实参 实际参数
    # print(接受返回值)

    #函数的作用

    #解决代码冗余

    #提高代码的可读性

    #提高了代码的重用性

    #增强了代码的可扩展性

    2、调用函数

    函数名()

     

    3、函数的返回值

    3.1 返回值

    关键字 return

    #如果是有结果的函数,不用print,而是用return

    #如果只是单纯的实现某个功能,没有结果就不用return

    #return的作用:

        #1.能够返回值

        #2.结束一个函数的执行

     

    3.2 返回None

    返回None的情况:

        # 如果函数里什么都不写

        # return

        # return None

     

    3.3 返回多值

    #返回一个值:return 可以返回任意内容

     

    #多返回值:多个返回值以逗号隔开以元组的形式被返回

     

    3.4 接受返回值

    #1.一个值接受

    #2.多个变量接受:返回多少个值就用几个变量去接受,必须不多不少

    #列表也可以

     

    4、参数

    #站在调用角度:实参

    #站在定义角度:形参

    #参数可以是任意的数据类型

    #实参和形参的个数相等

     

    5、详解参数

    5.1 调用角度

    1)按照位置传参

    2)按照关键字传参

    3)混用:按照位置传参必须在关键字传参之前

     

     

    5.2 定义角度

    5.2.1 位置参数

     

    5.2.2 默认参数

     

    #默认参数

        #是可以不传的参数

        #如果不传默认是设置的默认值,如果传就用传入的值

        #默认的值是在定义阶段就确定了

        #默认参数的陷阱:针对可变的数据类型

    #默认参数的陷阱

    针对可变的数据类型要小心,所以一般不会用可变的数据类型做默认

     

    5.2.3 动态参数

    #站在函数定义的角度上:*做聚合用,将一个一个的参数组合成一个元组

    #站在函数调用的角度上:*做打散用,将一个列表或者元组打散成多个参数

    #动态传参:*args,**kwargs组合在一起可以hold 100%所有的传参

    *把位置参数转换成元组赋值给args

     

    **动态参数,接受按关键字传递过来的参数,组织成一个字典

     

    5.3 参数的顺序

    参数的顺序:

    位置参数-->*args-->默认参数-->**kwargs

     

    6、函数嵌套

    6.1 函数的嵌套调用

     

    6.2 函数的嵌套定义

     

     

    #为了保证某些功能特有的函数不被其他人随意调用

     

  • 相关阅读:
    Excel中substitute替换函数的使用方法
    如何在Excel中提取小数点后面的数字?
    提升单元测试体验的利器--Mockito使用总结
    SpringMVC项目读取不到外部CSS文件的解决办法及总结
    java8 Lambda表达式的新手上车指南(1)--基础语法和函数式接口
    Spring-data-redis操作redis知识总结
    优雅高效的MyBatis-Plus工具快速入门使用
    Thrift入门初探(2)--thrift基础知识详解
    Thrift入门初探--thrift安装及java入门实例
    spring事件驱动模型--观察者模式在spring中的应用
  • 原文地址:https://www.cnblogs.com/xiaojinyu/p/7464803.html
Copyright © 2011-2022 走看看