python函数&字典&集合-笔记

集合

1.可变类型
2.创建空集合
set()
3.三大特征
无序
去重
存储的数据必须是不可变的
4.pop ()删除最后一个数据
5.remove()删除指定的数据
6.update ()添加其他的集合搭配当前集合中
7.add()添加数据到集合中

函数

1.函数名fun 、调用函数fun()、fun()=return的值
2.函数的参数的传递方式
1.可以给形参加上默认值,当没有传递实参的时候,会使用默认值,传递了参数,使用参数
2.位置传参:–对应的传参方式,要按实参得排列顺序来写
3.关键字传产:使用形参这个关键字来进行赋值传参,顺序可以打乱
4.当位置传参和关键字传参混合使用的时候:位置传参必须放到关键字传参之前

函数介绍

#自定函数
def fun():
    print('这是我的第一个函数:')

fun()

#函数对象 : fun
#调用函数 : fun()

函数的参数

def fun(a,b):       #这个参数叫做形参 也叫形式上的参数
    #a = 1
    #b = 2
    print(a+b)

fun(1,2)  #实参 实际参数, 当你调用的时候传递实际参数
fun(234324234,234234234)

参数的传递方式


def fun (a,b=0,c=0):    #c=0 给形参指定的默认值,当没有传递实参的时候,使用默认值,当传递了参数,使用传递进来的参数
    print(a)
    print(b)
    print(c)
fun(1,2,3)


#参数的传递方式:
#位置传递
#关键字传递
def fun (a,c,b):
    print(a)
    print(b)
    print(c)
fun(1,3,b=2)
#位置传递和关键字传递参混合使用,位置传递必须放到关键字传参的前面

参数的类型


def fun1(): #传递一个函数类型
    pass

def fun(a): #a =b
    print(a)
b = 1           #int类型
b = [1,2,3]     #list列表类型
b = True        #boor布尔类型
b = 'ab'        #str字符串类型
b = {'1':1}     #dict字典类型
b = fun1        #传递一个函数类型
fun(b)

#实参不管是什么类型的对象都可以


def fun2(a): #a =b
    a[0]= 10
    print(a)
b = 1
b = [1,2,3]
c = b.copy()
fun2(c)
print(b)

可变类型和不可变类型

#可变类型: 列表 字典 集合 值改变了,但是id不变
#不可变类型: 字符串 元组 值改变了,id就改变了

字典遍历


#dict,keys() 获取字典中所有的键
dict1 = {'name':'杨过','age':18,'sex':'男'}
print(dict1.keys())

#dict.values() 获取字典中所有的值


#dict.items() 获取字典中的建值对(项)
print(dict1.items())

for k, v in dict1.items():
    print(k, '=' , v)

浅拷贝和深拷贝


#coyp
dict1 = {
    'a' : 1,
    'b' : 2
}

#浅拷贝
dict2 = {
    'a' : 1,
    'b' : 2
}
print(id(dict1),id(dict2))  #id不相同


a = 'ab'
b = 'ab'
print(a,b)
print(id(a),id(b))      #id相同

#方式一
dict2 = dict1.copy()
print(id(dict1),id(dict2))  #id不相同

#方式二
import copy
dict2 = copy.copy(dict1)
print(dict1,dict2)
print(id(dict1),id(dict2))

#深拷贝
dict1 = {
    'a' : 1,
    'b' : [1,2,3]
}
# dict2 = copy.copy(dict1)
# print(dict1,dict2)
# print(id(dict1),id(dict2))
# print(id(dict1['b']))       #id相同 向其他地方应用过来的相当于快捷方式
# print(id(dict2['b']))       #id相同
# print(dict1['b'],dict2['b'])


dict2 = copy.deepcopy(dict1)
print(dict1,dict2)
print(id(dict1),id(dict2))
print(id(dict1['b']))
print(id(dict2['b']))
print(dict1['b'],dict2['b'])

集合的使用


# len() 使用len()来获取集合中元素的数量
# add()像集合中添加元素
# update()将一个集合中的元素添加到另一个集合当中
# pop()随机删除集合中的一个元素一般是删除最后一个元素
# remove() 删除集合中指定的元素
# clear() 清空集合

#set.add()添加元素
set1 = set()
set1.add(1)
print(set1)

print(len(set1))  #长度

#set.update() 讲一个集合添加到另一个集合中
set2 = {2,3}
set1.update(set2)
print(set1)

set3 = set1.copy()
print(set3)

集合的运算

set1 = {1,2,3,4,5}
set2 = {4,5,6,7,8}
# & 交集运算
print(set1 & set2)

# | 并集运算
print(set1 | set2)

# - 差集运算
print(set1 - set2)

# ^ 亦或集
# <= 检查一个集合是否是另一个集合的子集
# < 检查一个集合是否是另一个集合的真子集
# >=检查一个集合是否是另一个集合的超集
# >检查一个集合是否是另一个集合的真超集

集合简介


#集合只能存储不可变对象
#集合中存储的对象是无序的
#集合不能出现重复元素

#set表示集合 {}
# set1 = {[1,2,3,4,5]}
# print(set1)

set2 = {6,8}        #集合中存储的对象是无序的
print(set2)
# print(set2[0])     #没有索引

set3 = {2,2,3,3,4,4}
print(set3)           #根据 集合的特性 可以取重复的值

set1 = {}   #创建空字典
print(type(set1))
set2 = set()  #创建空集合
tuple1 = ()
print(type(tuple1))

#强制转换位集合的业务场景 取重
list1 = [1,1,2,2,3,4,4]
set3 = set(list1)
print(set3)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值