• 函数与高阶函数.avi


    个人认为,函数的优点在于复用性,于多次调用时会显得极其简易,压缩代码整洁思路

    我对于函数的概念,仍旧停留在学习Java时残留的记忆里,觉得仅仅调用一次时创建函数实在是蠢爆了

    然而Python3中,函数的动态参数及默认参数确实是较为简便的,运用得当会省略大量的代码

    于Python3中,定义函数应以 def 定义/申明,我个人比较喜欢定义一词。

    def  函数名 (参数/也可空):

    调用函数则需选择函数名()其中的函数名是函数的内存地址,而()是调用的关键

    函数名()

    def inner():    #定义名为inner的函数
        print(666)  #这个函数作用即打印666
    inner()      #调用函数 inner inner为函数内存地址,()表调用

    我们将函数()中的称之为形参,具体叫什么忘了,但大家都说它是形参emmm

    同上,调用函数时函数的()内的称之为实参,带*或**的为动态参数,可接受复数的值,*返回值为元组形式,**返回值为字典形式(相对应的,被赋予的值也应是键值对形式的)

    形参是由自己定义的参数,仅在函数体内部生效,与实参相互照应,于此处也有*与**方法,均为打散,其中**会将字典打散为键值对,*打散为键

    def wrapper(a):   #这里的a便是形参,随意定义的
        a+=1      #函数体
    
    wrapper(6)     #实参,向形参赋予的数据

    有趣的三元运算符 与 return

    简化 if else判断,适用范围有限是其的缺陷,能也仅能简化 if else 

    而 return 于函数中相当于程序中的 quit()方法,其存在便是为了结束函数,并返回内容,无添加下默认返回None

    def function(*args):
        return args[0] if args[0]<args[-1] else args[-1]
    print(function(7,8))
    global
    global是函数中的一个关键字,其作用便是 当函数中使用却找不到某一元素时,对函数外的全局部分搜索该元素并调用,无结果时会生成,但如若生成后未能为其赋值,就直接参与运算,则会报错,当已有元素时也会报错
    nonlocal
    同上nonlocal也是函数关键字,会在局部(函数体)空间内逐层寻找元素,未能找到会报错,当已有元素时也会报错
    a = 1
    def wrapper():
     
        def inner():
            global a
            a += 1
            print(a)
    
        inner()
    wrapper()
    
    
    def wrapper():
        a = 1
        def inner():
            nonlocal a
            a += 1
            print(a)
        inner()
    wrapper()

    三元运算符

    仅能简化表述 if: else:

    例:sex= '男' if name=='神秘海螺'  else: '女'

     匿名函数

    关键字lambda定义的,不需要命名的,匿名函数限制仅一行内容,无法表述过于复杂的逻辑

    高阶函数


    定义上,以某一函数(包含匿名函数)为参数的函数即为高阶函数,高阶函数内内置了for循环,省去一步for循环的同时也大大限制了逻辑表达

    个人表示大多数情况下,完全可以用推导式取代高阶函数

    推导式

    而关于推导式,用来查看一个包/类/数据类型的具体操作方法

                              [x for x in dir(str) if not x.startswith('_')]

                              就是一个推导式,其中x为返回结果,之后为逻辑语句

  • 相关阅读:
    微信公众平台—— 获取微信服务器IP地址
    微信公众平台——获取access_token、expires_in
    PHP版本切换
    开源各种系统
    VUE -- 如何快速的写出一个Vue的icon组件?
    Mac下php 5升级到php 7的步骤详解
    Nginx反向代理导致PHP获取不到正确的HTTP_HOST,SERVER_NAME,客户端IP的解决方法
    nginx服务器URL无法自动添加index.php
    php类库安装xml simplexml
    Mac DBeaver Client home is not specified for connection解决办法
  • 原文地址:https://www.cnblogs.com/lttlpp61007188/p/10533284.html
Copyright © 2020-2023  润新知