• Python之旅.第三章.函数


    一、函数: 

      1、为什么要有函数?什么是函数?
        1、组织结构不清晰,可读性差
        2、代码冗余
        3、管理维护的难度极大,扩展性

        具备某一个功能的工具就是程序的中函数
        事先准备工具的过程----》函数的定义
        拿来就用----》函数的调用

        所以函数的使用必须遵循:先定义,再调用

      2、定义函数:    

      1、语法
        def 函数名(参数1,参数2,...):
          """
          文档描述
          """  
          代码1
          代码2
          代码3
          return 值

        def:定义函数的关键字
        函数名:是用来调用函数的,
          函数名的命名必须能反映出函数的功能
        文档描述:推荐写上,来增强函数的可读性
        代码块:函数的功能实现代码
        return:函数的返回值

        例:

        print('========================')
        print('hello egon')
        print('========================')
        

        2.1 定义阶段
          def print_sym(sym,count):     #print_sym=<function print_msg at 0x000001B2A33698C8>
          print(sym*count)

          def print_msg(msg):
          print('33[045m%s33[0m' %msg)

        2.2 调用阶段:函数名加括号就是在调用函数

          print(print_sym)
          print_sym('#',30)
          print_msg('hello egon')
          print_sym('#',30)

      3 定义函数的三种类型:
        3.1 有参函数:参数是函数体代码用来接收外部传入值的
          def max2(x,y):     #x=100,=y101
          if x > y:
          print(x)
          else:
          print(y)
          max2(100,101)

        3.2 无参函数:当函数体的代码逻辑不需要函数的调用者掺入值的情况下,就无参
          def func():
            print('----------------------')
            print('---soft run-----------')
            print('----------------------')


          def interactive():
            name=input('username>>: ').strip()
            pwd=input('password>>: ').strip()
            print(name,pwd)


          interactive() #定义时无参,意味着调用时也无须传入参数
          interactive() #定义时无参,意味着调用时也无须传入参数
          interactive() #定义时无参,意味着调用时也无须传入参数


        3.3 空函数:函数体为pass
          def auth():
            """
            这是一个认证功能
            :return:
            """
            pass

          def put():
            """
            上传功能
            return:
            """
            pass

          def get():
            """
            下在功能
            return:
            """
            pass

          def ls():
            """
            list contents
            return:
            """
            pass

      4.调用函数

        函数的使用必须遵循:先定义,后调用的原则
        注意:没事先定义函数而直接调用,就相当于在引用一个不存在的变量名

        定义阶段:在定义阶段只检测语法,不执行函数体代码
        调用阶段:根据函数名找到函数的内存地址,然后执行函数体代码

        函数名加括号即调用函数
          def bar():
          print('from bar')


        调用函数的三种形式
         1、不带参数直接调用
          def func():
          print('from func')


          func()


         2、带参数调用
          def max2(x,y):
          if x > y:
          return x
          else:
          return y


          res=max2(10,3)

            print(res)

        3、调用且运算

          def max2(x,y):
          if x > y:
          return x
          else:
          return y

          res=max2(10,3)*100
          print(res)

        4、嵌套调用

          res=max2(max2(10,3),11)
          print(res)

      5.返回值:

        什么时候应该有返回值:
        函数体代码运行完毕后需要有一个返回结果给调用者

        返回值有三种形式:

        1 没有return,返回值None
          def func():
            pass

          res=func()
          print(res)

        2 return后跟一个值,返回该值本身
          def func1():
            return 1

          res=func1()
          print(res)

        3 return可以逗号分隔,返回多个值,会返回一个元组给调用者
          def func2():
            return 1,2,[1,2,3]

          res=func2()
          print(res)


        return注意点:
          1、return返回值的值,没有类型限制
          2、return是函数结束的标志,函数内可以写多个return,但
          执行一次,函数就立刻结束,并把return后的值作为本次调用的返回值

          def func3():
            print('first')
            return 1
            print('second')
            return 2
            print('third')
            return 3

          res=func3()
          print(res)

  • 相关阅读:
    【博客大赛】使用LM2677制作的3V至24V数控可调恒压源
    电压跟随器
    运算放大器虚短和虚断
    JTAG TAP Controller
    JTAG Pinouts
    USB Mass Storage Class – Bulk Only Transport
    Send custom commands to Mass Storage device
    USB Mass Storage communication with PassThrough / more than 64K data length
    STLink download/debug interface for Linux.
    SCSI Pass-Through Interface Tool
  • 原文地址:https://www.cnblogs.com/yangli0504/p/8651261.html
Copyright © 2020-2023  润新知