函数二
Posted 庆长
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数二相关的知识,希望对你有一定的参考价值。
引用
什么是引用:变量是通过数据的内存起始地址读取数据的
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):
集合:大括号表示,无序,没有重复数据,不能通过下标获取
(只有增加和删除)
作用:进行去重转换类型(集合里不能有列表)
以上是关于函数二的主要内容,如果未能解决你的问题,请参考以下文章