zoukankan      html  css  js  c++  java
  • Python-函数基础

    一、函数:将一组语句的集合 通过一个函数名字封装起来,执行函数,直接调用函数名即可。

    特点:减少代码量,使程序变得可拓展;使程序易于维护。

    二、函数形参/实参

    形参:在函数内部的参数;在调用时才分配内存,调用结束后,释放所分配的内存单元。

    实参:调用函数,传入确定的值,以便把这些值传给形参。

    三、默认值(默认形参),关键参数(关键实参)

    默认值:在定义参数,将某一个形参指定为一个确定的值;在调用时,不写这个参数,会使用默认值;写参数,会使用你定义的值。默认值在位置参数后面。

    关键参数:在调用时,不想按顺序,可以 使形参名字=值  调用;关键参数放置在位置参数后面。

    四、非固定参数

    若你的函数在定义时不确定用户想传入多少个参数,可以用非固定参数。*args  **kwargs

    例如:def student_register(name,age,*args, **kwargs)  # *args 会把多传入的参数变成一个元组形式。如果没有传多余的值,会显示成一个()空元组, {} 空字典。

    调用 student_register("jack", 32, "CN", "Python", sex="Male", province="ShanDond")

    #输出

    jack 32 ("CN", "Python", {'sex':'Male', 'province':'ShanDong'})

    五、返回值return

    函数外部的代码想要获取函数的执行结果,就可以在函数里用return语句把结果返回。

    注意:return代表函数终止,如果没有在函数中指定return,那么这个函数的返回值是None。

    六、全局变量与局部变量、作用域

    全局变量:在程序一开始定义的变量成为全局变量。全局变量作用域是整个程序。

    局部变量:在函数中定义的变量为局部变量。局部变量作用域是定义该变量的函数。

    当全局变量与局部变量同名时,在定义局部变量的函数里,局部变量起作用;在其他地方全局变量,起作用。

    作用域:一段代码中的所用到的名字并不总是有效(例如全局变量,局部变量 显示名字的问题),限定这个名字的可用性的代码范围就是这个名字的作用域。

    七、嵌套函数、匿名函数、高阶函数

    嵌套函数:一层套一层函数应用

    匿名函数:calc = lambda x,y:x**y,可以与其他函数一起应用。

    高阶函数:变量可以指向函数,函数的参数能接受变量,那么函数就可以接受另一个函数作为参数。

    def add(x, y, f):
        return f(x) + f(y)
    res = add(3, -6, abs)
    print(res)

    接受一个或者多个函数作为输入,return返回另外一个函数。

    八、递归

    在函数内部,可以调用其他函数。如果一个函数在内部调用自己本身,这个函数就是递归函数。

    递归特性:1、必须有一个明确的结束条件 ;2、每次更深一层,问题规模相比上次递归都应有所减少;3、递归效率不高,递归层次过多会导致栈溢出。

  • 相关阅读:
    hdu2243 考研路茫茫——单词情结【AC自动机】【矩阵快速幂】
    poj3376 Finding Palindromes【exKMP】【Trie】
    hdu4763 Theme Section【next数组应用】
    hdu2609 How many【最小表示法】【Hash】
    hdu3374 String Problem【最小表示法】【exKMP】
    poj2728 Desert King【最优比率生成树】【Prim】【0/1分数规划】
    python装饰器
    python面试题
    salt教程1-理解saltstack
    redis慢查询日志
  • 原文地址:https://www.cnblogs.com/hexiaorui123/p/9994598.html
Copyright © 2011-2022 走看看