zoukankan      html  css  js  c++  java
  • (五)函数二

    引用
    什么是引用:变量是通过数据的内存起始地址读取数据的
    a = 1 :表示变量a指向了1的内存起始地址
    在python中,值是靠引用来传递来的。我们可以用id( )来判断两个变量是否为同一个值的引用。 我们可以将id值理解为那块内存的地址标示。
     
    变量类型:
        可变类型:修改变量数据,变量引用的地址没有发生变化        (列表、字典、集合)
        不可变类型:如果修改内容,则变量的引用的地址会发生变化      (数字、字符串、元组、布尔类型)  
        {一旦重新赋值,内存地址必定改变}
    不可变类型数据作为实参传递,修改形参,对实参没有影响
    可变类型数据作为实参传递,修改形参,实参跟着发生改变;如若把形参重新赋值,修改形参,不会影响实参。
    • Python中函数参数是引用传递(注意不是值传递)
    注:列表中:+=和=+是特列
        += :会把数据添加原先的列表后面
        =+:生成了一个新的列表
    {扩展:哈希算法:能够通过一个数据计算出一个数字,相同数据的哈希值必定相同}
     
    递归函数:
        本身便是循环,一般不会使用
        必定需要一个结束的条件,不然陷入死循环
     
    匿名函数:
        用lambda关键词能创建小型匿名函数 (没有函数名定义) 
          lambda函数的语法只包含一个语句:lambda+表达式
    # 格式:lambda arg1, arg2: arg1 + arg2    arg1, arg2:形参 arg1 + arg2:运算表达式
    sum = lambda arg1, arg2: arg1 + arg2
    # 调用sum函数
    print("Value of total : " % sum( 10, 20 ))
    print("Value of total : "% sum( 20, 20 ))
    Lambda函数能接收任何数量的参数但只能返回一个表达式的值
    匿名函数不能直接调用print,因为lambda需要一个表达式
    匿名函数可以作为参数进行传递
     
    附:字典排序:变量名.sort(key=匿名函数)
     
    列表推导式:
        ps:轻量级循环创建列表
    >>a = [x for x in range(4)]  
    >> [0,1,2,3]
    # 可多个for循环,多个变量接收
     
    集合(set):
        集合:大括号表示,无序,没有重复数据,不能通过下标获取
                    (只有增加和删除)
        作用:进行去重转换类型(集合里不能有列表)
  • 相关阅读:
    面试题八 二进制中 1 的个数
    面试题七 斐波那契数列
    面试题六 用两个栈实现队列
    第 3 章 第 2 题 求级数问题 递归法实现
    第 3 章 第 1 题 精简冗余 if 语句问题 使用数组实现
    第 2 章 第 10 题 测量电灯泡体积问题
    第 2 章 第 9 题 顺序 & 二分搜索效率分析问题
    带缓冲的IO( 标准IO库 )
    Linux 中权限控制实例
    Linux 中权限的再讨论( 下 )
  • 原文地址:https://www.cnblogs.com/qingchang/p/8973726.html
Copyright © 2011-2022 走看看