python 基础 _ 集合、函数参数
1.集合的运算
在python中的集合和学校学的集合差不多。
需要返回值赋值哦!
#交集运算 &
结果如下,不会影响原来的集合:
#并集运算 |
结果如下:
##差集运算 -
S1 里有哪些在S2中没有。 结果是 1 和2
##异或集运算 ^ 即不相交的部分
** 还有几个**
2.可变对象
每个对象都保存了三个数据
举例: 对象中的value 可以改变。
第一个是改对象中的一个value即id 为0的1 变10;
而第二步是重新创建了新的a的对象,id 也随之变了。
总结
列表就是可变对象
这个a和b都不变
这个b都变化了,包括id
3. 函数 function
函数是干什么的? 注意,函数不能用关键字哦,
函数简介: 函数也是个对象(function)
函数用来保存一些可执行的代码,在你需要的时候,可以对这些语句进行多次调用。
fn()三次就是调用三次
函数的参数
@@ 在定义函数的事后,可以在函数后面的括号里面定义数量不等的形参,多个形参要以,隔开。
@@ 形参也叫形式上的参数,定义形参相当于在函数内部声明了变量,但是并没有赋值。
定义一个函数,可以用来求任意2个数的和
def s():
print(1+1)
s()
如果少了实参,报错如下
也叫做位置传参,因为是根据位置传对应。
##函数的传递方式
@@定义一个函数的时候是可以指定默认值的。
函数的传递方式分为两种:1. 位置传参。对应位置上的实参赋值给对应位置的形参
2.关键字传参。可以不按照定义的顺序去传递,更具参数名去传递。 两个方式可以混用。
位置传参
实参的类型
时刻记住可变对象 ,可变列表的精髓 ,注意id变与不变。
不定长参数
例: 定义一个函数,求任意数的和。
位置数要对应 多了少了都不行,如下。
所以呢,我们用不定长参数,在定义函数时,可以在形参的前面加上一个*, 这个形参将会获取到所有的实参,而且它会将所有实参保存到一个元组当中。
运行结果如下:
如果不加最后的c=6 会报错,全部被*拿走了。
同理如下再举例*
下图指明,用了* 代表位置传递, 就不能处理下方的 关键字传递
两个星号 **来解决一切。
原理请见源码举例,这才是精髓
参数的解包
取 4 5 6 出来
用(*t)可以解决无数的对应取值,
运行结果是 a=4 b=5 c=6
另类解包
- 和** 区别,上方已经讲过了
- 解决位置传递
- *解决关键字传递
*总结本次
*
本文地址:https://blog.csdn.net/Bill_82/article/details/107475911