• 6,函数


    函数可以减少代码的重复率

    方便日后修改,维护,升级

    定义:

    def 函数名():

        函数体

    调用:

    函数名()

    函数必须先定义,再调用

    函数的注释,或者说是说明放在函数名的下方,用“”“  ”“”包裹 ,当调用时,可以按 ‘ctrl + Q’来查看注释

    举例:

    def func():

     “”” 这是函数的注释“””

        print('in the func')

    func()  #光标在这里按‘ctrl+Q’查看

    >>> "in the func"

    函数里面也可以带参数:

    x=3,y=5

    def sum1(a, b):

        print(a+b)

    sum1(x, y)

    其中 a, b叫做形参, x,  y 叫做实参

    默认参数:

    默认参数就是给形参先固定一个值,如果不调用,默认使用那个值,调用使用传过来的那个值

    举例:

    def sum1(x, n =2):

        sum = x**n

        return sum

    return sum 就是将函数的结果返回,需要一个变量接收。

    这是一个计算数字n次方的函数,不给n传参数就是计算x的平方,给n传参数,计算的是x的n次方

    正常情况下,我们都是先传 x的值,再给n传值,这种方式叫做按位置传参数,x,n这时叫做位置参数,但是我想先给n传值,这时就需要这么做:

    sum1(n = 3,x = 5),这样x,n就叫做关键参数,如果一个函数调用时既有位置参数,又有关键参数,关键参数一定要放在位置参数的后面

    当你不确定你要传多少参数的时候,你可以定义一个非固定参数:

    def func(*args):

        print(*args)

    func(1,2,3,4,5)

    func(*[1,2,3,4,5])

    这样你想传多少传多少,结果会以元组的形似打印出来

    def func (**kwargs)

        print(kwargs)

    func('key' = 'value','key2' = 'value2')

    func(**{'key' : 'value','key2' : 'value2'})

    将键值对或者字典相传多少传多少,最后以字典的方式输出

    局部变量

    name = 'ma'

    def name1():

        name = 'li'

    name1()

    print(name)

    你会发现 name的值依旧是'ma',如果你一定要在函数内修改全局变量请在函数内加global

    嵌套函数:

    def yi():

        def er():

            def  san():

    在函数中在定义一个函数就叫做嵌套函数,嵌套函数只能在他的上一级函数中调用,就像局部变量一样

    递归函数:

    函数的内部是可以调用函数的,如果函数内部调用的是函数的本身,这个函数就叫做递归函数

    特性: 必须要有一个明确的结束条件,每一次递归,问题要有减少,递归函数效率不高,容易溢出

    匿名函数主要是配合其他函数使用calc = lambda n:n**n   print(calc(10))

  • 相关阅读:
    Entity SQL 与 TransactSQL 的区别
    项目使用Entity Framework用到的公共操作方法基类(Repository)及其使用 (转载)
    ModelHelper类
    sql 2008 远程备份
    DbContext 和ObjectContext两者的区别
    vs2012 mvc3项目ObjectContext与DBContext .
    学 Win32 汇编[29] 串指令: MOVS*、CMPS*、SCAS*、LODS*、REP、REPE、REPNE 等
    学 Win32 汇编[25] 符号扩展指令: CBW、CWDE、CDQ、CWD
    如何放缩 TWebBrowser 中的页面 回复 "飘逸的蓝" 的问题
    如何和我共享 DropBox 上的 PDF 电子书
  • 原文地址:https://www.cnblogs.com/MaDon/p/9157560.html
Copyright © 2020-2023  润新知