码迷,mamicode.com
首页 > 其他好文 > 详细

(五)函数二

时间:2018-04-30 16:42:59      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:添加   不能   读取   集合   需要   函数参数   value   表达式   影响   

引用
什么是引用:变量是通过数据的内存起始地址读取数据的
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):
    集合:大括号表示,无序,没有重复数据,不能通过下标获取
                (只有增加和删除)
    作用:进行去重转换类型(集合里不能有列表)

(五)函数二

标签:添加   不能   读取   集合   需要   函数参数   value   表达式   影响   

原文地址:https://www.cnblogs.com/qingchang/p/8973726.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!