学习Python的第九天

copy() 潜赋值

  • 这里我们以 字典 为例,代码如下:
x = {'name': {'name':'亮亮'}, 'age': 22, 'sex': 'man', 'length': 1.75}
x2 = x.copy()

x2['name']['name']= 'iron man'
print(x)
print(x2)

# {'name': {'name': 'iron man'}, 'age': 22, 'sex': 'man', 'length': 1.75}
# {'name': {'name': 'iron man'}, 'age': 22, 'sex': 'man', 'length': 1.75}

x 和 x2 不是同一个对象,但我们对 x2 进行更改时,x 也发生了改变。这是因为 潜复制只会复制字典本身,如果字典中还有个字典是不会进行复制的

遍历字典

  1. dict.keys()
x = {'name': '毛日古', 'age': 22, 'sex': 'man', 'length': 1.75}
print(x.keys(),type(x.keys()))
# dict_keys(['name', 'age', 'sex', 'length']) <class 'dict_keys'>

以 列表 的形式返回所有的 key

  1. dict.values()
x = {'name': '毛日古', 'age': 22, 'sex': 'man', 'length': 1.75}
print(x.values(),type(x.values()))
# dict_values(['毛日古', 22, 'man', 1.75]) <class 'dict_values'>

以 列表 的形式返回所有的 value

  1. dict.items()
x = {'name': '毛日古', 'age': 22, 'sex': 'man', 'length': 1.75}
print(x.items())
for k,v in x.items():
    print(v)
'''
dict_items([('name', '毛日古'), ('age', 22), ('sex', 'man'), ('length', 1.75)])
毛日古
22
man
1.75
'''

返回 双值子序列 ,并且可以用 for 循环取值

集合的简介

# 1 集合中只能存储不可变对象
# 2 集合中存储的对象是无序的(不是按照元素的插入顺序保存的)
# 3 集合中不能出现重复的元素
  • 添加元素(add)
s = {1,2,3,4,5,6,8,7,9,8,8,8,8,8,8}
s.add(100)
# {1, 2, 3, 4, 5, 6, 7, 8, 9, 100}
  • 将一个集合的元素添加到另一个集合当中(update)
s = {1,2,3,4,5,6,8,7,9,8,8,8,8,8,8}
s2 = {10,11,12,13}
s.update(s2)
print(s)
# {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13}

注意:这里是把 s2 的元素添加到 s 当中

  • 删除元素(remove 和 pop)
s = {1,2,3,4,5,6,8,7,9,8,8,8,8,8,8}
s.remove(2)
print(s)
# {1, 3, 4, 5, 6, 7, 8, 9}
s = {1,2,3,4,5,6,8,7,9,8,8,8,8,8,8}
s.pop()
print(s)
# {2, 3, 4, 5, 6, 7, 8, 9}

remove 是删除指定的元素,而 pop 是随机删除一个元素

  • 清空集合(clear)
s = {1,2,3,4,5,6,8,7,9,8,8,8,8,8,8}
s.clear()
print(s)
# set()

清空集合,返回一个 空集合

集合的运算

  1. 交运算(&)
s = {1,2,3,4,5,6,7}
s1 = {4,5,6,7,8,9}
print(s & s1)
# {4, 5, 6, 7}
  1. 并运算(|)
s = {1,2,3,4,5,6,7}
s1 = {4,5,6,7,8,9}
print(s | s1)
# {1, 2, 3, 4, 5, 6, 7, 8, 9}
  1. 差运算(-)
s = {1,2,3,4,5,6,7}
s1 = {4,5,6,7,8,9}
print(s - s1)
# {1, 2, 3}
  1. 亦或运算(^)
s = {1,2,3,4,5,6,7}
s1 = {4,5,6,7,8,9}
print(s ^ s1)
# {1, 2, 3, 8, 9}
  1. 其他运算
<= 检查一个集合是否是另一个集合的子集
<  检查一个集合是否是另一个集合的真子集
>= 检查一个集合是否是另一个集合的超集
>  检查一个集合是否是另一个集合的真超集

函数的简介

  • 函数可以用来保存一些可执行的代码,并且可以在需要的时候,多次对这些代码调用。使用关键字 def 创建
def functionname([parameterlist]):
	代码块
调用函数
函数对象()
def jiemei(a,b):
    print(sum([a,b]))

jiemei(10,30)
# 40

函数的参数

# 在定义函数的时候,可以在函数名后面的括号中定义数量 不等的形参
# 定义多个形参要用,隔开
# 形参(形式参数) 定义形参就是相当于在函数内部声明了变量,不是赋值
# 实参(实际参数) 如果函数定义的时候指定了形参,那么在调用的时候也必须传递实参
# 实参将会赋值给对应的形参,简单来说,有几个形参就得几个实参

函数的传递方式

  1. 位置传参
    位置传参就是将对应位置上的实参赋值给对应位置上的形参
def jiemei(a,b):
    print(a + b)

jiemei(10,30)
# 40
  1. 关键字传参
    关键字传参可以不按照形参定义的顺序去传递,可以直接根据参数名去传递。位置参数和关键字参数可以混合使用,但是关键字产生不能放到位置参数的前面
def jiemei(a,b):
    print(a + b)

jiemei(10,b = 30)
# 40
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值