Day08 集合与函数

集合

  • 创建空集合需要用到set()
  • 集合只能储存不可变对象
    因此与列表等有序数据会冲突
例如:
a = [1,2,3] #列表是可变的
b = set(a) #集合是不可变的
print(b)
结果:
报错
  • 集合中储存的对象是无序的
例如:
a = {6,8}
b = set(a)
结果:
{8,6}
  • 集合中不能出现重复元素
例如:
a = {1,2,4,1,2,5,4,1,2}
b = set(a)
print(b)
结果:
{12345}

字典的方法

  1. len()
    用来获取集合元素数量
  2. add()
    用来向集合中添加元素
例如:
a = set()
a.add(1)
a.add(2)
print(a)
结果:
{1,2}
  1. 集合①.update(集合②)
例如:
a = {1,2,3}
b = {4,5,6}
a.update(b)
print(a)
结果:
{1,2,3,4,5,6}
  1. pop()
    随机删除集合中的一个元素,一般删除第一个

  2. remove()
    删除集合中的指定元素

集合的运算

  1. & 交集运算
    查看集合中的相同的元素
例如:
a = {1,2,3,7,8}
b = {4,5,6,7,8}
s1 = a & b
print(s1)
结果:
{8,7}
  1. | 并集运算
例如:
a = {1,2,3,7,8}
b = {4,5,6,7,8}
s2 = a | b
print(s2)
结果:
{1,2,3,4,5,6,7,8}
    • 集差运算
例如:
a = {1,2,3,7,8}
b = {4,5,6,7,8}
s3 = a - b
print(s3)
结果:
{1,2,3}

集合①减去集合②与集合①相同的部分,只留下两个集合的非公共部分,

  1. ^ 亦或集
    返回只出现过一次的元素

可变类型与不可变类型

  • 可变类型:列表、字典、集合 (里面的数据被改变,但是id不变)
  • 不可变按类型:int, float, 字符串,元组 (里面的元素改变,id就会发生变化)
    列表变化部分:id,type,value

函数(1)

函数也是一个对象
函数用来保存一些可执行的代码,可以保存起这些代码来多次使用
函数保存的代码不会立即执行,只在需要调用函数的时候才会执行
定义函数的方法:

def 函数名称(): #冒号和小括号不能漏!!! 
	代码块

调用函数:

函数名称()

在函数中定义形参(可变的参数),相当于在函数中声明变量
若已经定义了形参,就必须在调用时传递实参(由用户定义的参数)
参数可以在设置形参的时候设置一个默认值,若传递参数,那么此参数会改变为所传递的参数;若实参未传递,就使用默认值

例如:
def fun(a,b=10):
	print(a+b)
fun(1)
结果:
11
——————————————————
fun(12)
结果:
3

传参

  1. 位置传参
    将对应位置上的实参按照定义形参的顺序去给予对应位置上的形参

  2. 关键字传参
    可以不按照对应形参的位置,而选用参数名来传递实参

例如:
def fun(a,b):
	print(a)
	print(b)
fun(b=1,a=2)
结果:
2
1
  1. 混合使用
    位置传参在前,关键字传参在后
例如:
def fun(a,b,c):
	print(a)
	print(b)
	print(c)
fun(1,c=2,b=5)
结果:
1
5
2

不定长参数

即不限定传递参数个数

def fun(b,*a):
	r = b
	print(a)
	for i in a:
		r += i
		print()
fun(1,2,3,4,5)

*args参数接受到的参数结果会是一个元组
不定长参数不能接受关键字传参。若想要接受,则要用到**kwagrs不定长参数,结果会是一个字典
所有不定长参数必须放到位置参数和关键字参数之后
不管是*args还是**kwargs不定长参数,在同一个函数中都只能有一个。但*args**kwargs可以同时使用,而且*args必须在**kwargs之前

作业

作业1题目
作业1
2. 输出斐波那契数列的前20个
作业2

  1. 求1-100中所有整数的和
    作业3
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值