• 函数基础


    函数:

      函数是组织好的,可以重复使用,用来实现单一或相关联功能的代码段

      函数即变量,变量必须先定义后使用,未定义而直接引用,相当与在引用一个不存在的变量名

    函数定义:

      def 关键词开头():

        函数体

      def是固定的,不能变,他就是定义函数的关键词

      函数名,由数字,字母,下划线任意组合,同样不能以数字开头,要有可描述性

      注释:每个函数都应该对功能和参数进行相应的说明,应该写在函数下面的第一行,以增强代码的可读性。

      调用:就是函数名加括号()

    函数返回值 return

      在函数中如果遇到return,直接结束函数,return以后的内容不会执行,作用与循环中的break差不多

      在没有返回值得情况下,print(def 函数())返回None,

      return   单个值  时,返回的这个元素的类型就是什么类型

      return 多个值  时,返回的值是一个元组,所有的返回值作为元组中的一个函数

    def func1():
        a = 1
        b = 2
        c = []
        d = "alex"
        e = {}
        return  a,b,d       #(1, 2, 'alex') <class 'tuple'>
    # print(func1(),type(func1()))    

    函数的参数(形参和实参)

    形参即变量名(变量的名字)实参是指变量值,函数调用则将值绑定到名字上,函数调用结束后,解除绑定

    应用:

      位置参数:按照从左到右的顺序定义的参数  一一对应

        位置形参:必选的参数

        位置实参:按照位置给形参传值

      关键字参数:按照key= value的形式定义实参  

        无需按照位置为形参传值

        注意的问题:关键字实参必须在位置实参的右面,位置参数在左,关键字参数在右

              对同一个形参不能重复传值,即位置参数赋值后,右面不能再以关键字参数赋值,不然会报错

      默认参数:形参在定义的是就已经为其赋值

        可以传值,也可以不传值,经常变化的参数可以定义成位置参数,变化较小的可以定义成默认参数(形参)

        注意问题:1.只在定义时赋值一次

              2.默认参数定义在位置形参右边

              3.默认参数通常最好定义成不可变的类型

    默认参数中的一个陷阱点

      默认参数如果定义成可变的类型。例

    def my_func1(a,b=[]):
        b.append(a)
        print(b)
    my_func1("alex")        #['alex']
    my_func1("taibai")      #['alex', 'taibai']

    当默认参数定义成可变的类型时,这个可变的数据类型(例如list)的地址是指向的同一个。即,后面添加参数的都会出现在这个(list内)地址内部,而不是又新建一个列表。

  • 相关阅读:
    可持久化BCJ
    Codeforces 911 三循环数覆盖问题 逆序对数结论题 栈操作模拟
    找不同
    最接近的三数之和
    找到所有数组中消失的数字
    三数之和
    小程序中的变量
    二叉树的最近公共祖先
    深拷贝和浅拷贝
    下载安装JDK
  • 原文地址:https://www.cnblogs.com/yuncong/p/9482102.html
Copyright © 2020-2023  润新知