美文网首页
python中的函数

python中的函数

作者: 伟大的洪立 | 来源:发表于2017-11-20 16:43 被阅读0次

    函数是什么

    表示的就是显示生活中的行为
    函数当定义的的时候不会立即执行
    而是调用函数的时候, 函数才会执行。

    函数的意义

    1. 函数表示的就是一种行为操作,就是封装了一段代码,如果我们需要使用这段代码就可以通过函数名称直接调用函数,来执行封装的代码。
    2. 降低了代码的重复量,提高了代码的重复使用性能。
    3. 函数的定义: 封装了一段代码的代码块,可以通过名称调用这段代码块。
    • 函数语法
      def 函数名称([参数]):
      函数中要执行的代码
      【return 返回值】

    • 函数的返回值

    1. 不需要参数, 不需要返回值的参数
     # 关窗户的函数: 不需要参数, 不需要返回值
    def closeWindow():
              print("关窗户")
    
    1. 需要参数, 不需要返回值的函数
    # 买气球的函数: 需要参数, 但不需要返回值
    def buyBubble(money):
          print("买了%s块钱的气球" %money)
    
    1. 不需要参数, 需要返回值的函数[return 返回结果]
    # 去快递的函数:不需要参数, 需要返回值的函数
    def getBox():
            print("开始过去去快递")
            return  "拿到快递"
    
    1. 需要参数, 需要返回值的参数
    # 货到付款取快递
    def getBoxes(money):
            print("开始过去去快递, 付款%s" % money)
            return "获取到的快递"
    
    • 函数的调用
    1. 调用没有参数没有返回值的函数
    closeWindows()
    

    2.调用有参数没有返回值的函数

    buyBubble(50)
    
    1. 调用没有参数,但是有返回值的函数,返回值要在函数执行完赋值给变量。
    box = getBox()
    print(">>>%s" % box)
    
    1. 调用有参数有返回值的函数
    boxes = getBoxes(100)
    print(">>>>>%s" % boxes)
    
    • 函数调用的流程图

      image.png
      声明函数的时候,我们需要分析函数是否需要某些资源才能正常执行,否则会出现错误;
    • 形式参数
      就是形式上/名义上需要的这个资源才能执行,这个参数简称 形参

    • 实际参数
      调用函数,发现函数需要提供资源数据才能执行, 此时调用函数时就需要传递一个具体的数据。实际存在的具体数据
      这个具体的数据,简称 实参

    • 变量
      程序中临时存储数据的容器[程序运行过程中,可以存储数据,一旦程序停止运行, 程序中的变量中的数据就会丢失]

    • 全局变量
      声明在函数外部的变量,在任何地方都可以使用访问
      函数中可以直接访问全局变量,但不能直接全局变量就行修改。
      可以使用global关键字,将全局变量分配到函数中进行使用。

    • 局部变量
      声明在函数内部的变量, 在函数内部可以访问。
      通常情况在函数中用于临时存储数据,用于惊醒数据运算。当函数执行完成,这个变量就可以丢弃了。

    函数参数默认值

    正常情况下,函数中定义了需要几个参数,在调用的时候,就必须传递几个数据。

    我们可以给函数的参数设置默认值,如果这个参数没有被传递,就可以是用默认值

    def test(arg1, arg2="帅帅"):
                    print("打印函数接受的数据: %s, %s " %(arg1, arg2))
    
    
    test("zhuzhu", "hahah")
    test("zhuzhu")
    
    结果是: 
    “zhuzhu”, "hahah"
    "zhuzhu", "帅帅"
    传递数据是以传递的数据为主
    不传递时以默认值为主
    

    注意: 没有默认值参数,不能跟在有默认值参数的后面。

    函数的可变参数

    • 基本语法
      参数前面加个*。 表示这个变量可以接受0-多个数据。
      可变参数接收到的数据,封装在一个元组中,可以通过下标获取数据
      同时传固定参数和可变参数: 固定参数在前,可变参数在后。
    def test(*info):
            print("函数接受到的参数数据" )
            print(info)
            print("~~~~~~~~~~~~~~~~~~~")
    
    test() # 没有参数
    test("hello")  # 有两个参数
    test("hello", "python") # 有两个参数
    test("jerry", 48, "tom and jerry") # 传递不同的参数
    
    image.png

    关键字参数(高级的可变参数)

    需要在传递数据的时候,给每个参数添加一个变量名称。
    可变参数,在参数的前面添加:**

    关键字参数,同样也是可变参数,必须放在参数列表的最后
    和普通的可变参数不同的是:关键字参数,传递数据时必须添加K=V的形式
    接收到的数据,会封装成字典在函数中使用。

    def test(**msg):
            print("接受到的数据: ")
            print(msg)
    test(name = "jerry")
    test(name = "jerry", age= 48)
    test(name = "tom", age= 50, sex="man")
    
    image.png

    函数中的万能参数

    可以接受任何数据当成参数

    def test2(*args, **keys):
            print("这个函数,可以接受任何参数")
            print(args, keys)
    test2()
    test2("tom", "jerry")
    test2(name= "tom", name1="jerry")
    test2(48, name="shuke")
    
    image.png

    返回值操作

    • 这是数据一致的情况下。
    # 定义一个计算缩放的函数 矩形
    def zoom(width, height, scale):
      w = width * scale
      h = height * scale
      return [w, h]
      
    squ = [10, 20]
    s = zoom(squ[0], squ[1], 0.5) 
    print(s)
    
    image.png
    • 如果数据不一致
      可以同时返回多个结果
    def zoom(width, height, scale):
            w = width * scale
            h = height * scale
            return w, h
      
    squ = [10, 20]
    s = zoom(squ[0], squ[1], 0.5) 
    # x, y =  zoom(squ[0], squ[1], 0.5)  也可以用两个数据接受。
    print("计算结果: %s, %s" %(x, y))
    

    相关文章

      网友评论

          本文标题:python中的函数

          本文链接:https://www.haomeiwen.com/subject/xhsvvxtx.html