学习python第六天

一.集合的包含判断

a.issuperset(b): 判断b是否为a的子集
    
a.issubset(b): 判断a是否为b的子集
    
isdisjoint: 判断交集------Flase

二.可变与不可变

不可变(immutable)int、字符串(string)float(数值型number)、元组(tuple)

可变(mutable):字典型(dictionary)、列表型(list)

在Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能重新创建一个新的字符串对象。
# replace

三.字符串转义

字符前存在\,在特定情况下字符就不再表示本身的意思

常见:

符号解释案例
\n换行符print(‘s\nd’)
\t水平制表符print('ss\t’dd)
\b退格(删除一格)print(‘帅 \b 不帅’)
\r当前位置移到本行开头print(‘d\rhahahs’)
\反斜杠print(’\’)
‘’一个双引号
\0一个空格符
\a系统提示音

字符串前面加上r就可以防止转义

四.编码与解码

ms = '张三很帅'

ms.encode('utf-8') # 编码

ms.decode('utf-8') # 解码

五.格式化补充

#1. %s 占位符
print('%s' % '帅')

#2. %r 显示原数据类型
print('%r' % '帅')

# %d 整数
print('%d' % 1)

# %f 浮点数
print('%f' % 2.1)

# %c ASCII
print('%c' % 65)

# %o 8进制
print('%o' % 11)

# %x 16进制
print('%x' % 11)

# %e 科学计数法
print('%e' % 10.3)


# -: 左对齐  6:这位置指定长度  3:这位置指定小数点后面保留多少位
print('%-6.3f' % 10.3)  # 优先满足小数点后几位数

# +:显示正号
print('%+6.3f' % 10.3)  # 优先满足小数点后几位数

# 格式化长度
print('%5s' % 'ab')  #   ab


format扩展

format扩展

# 保留小数点后两位
a1 = '{:.2f}'.format(12.333)
print(a1)

# 指定传入,保留小数点后两位
a2 = '{s:.2f}'.format(s=12.333)

print(a2)
# 百分比格式化
a3 = '{:.2%}'.format(0.333)
print(a3)  # 33.30%


# 转十六进制
a4 = '{:x}'.format(20)
print(a4)
# 转八进制
a6 = '{:o}'.format(20)
print(a6)


# 左对齐,长度为10
a7 = '{a:<10}'.format(a=12.3, b=13.44)
print(a7)
# 传入数据长度不足,用x填充
a8 = '{a:x<10}'.format(a=12.3, b=13.44)
print(a8)
# 右对齐
a9 = '{a:>10}'.format(a=12.3, b=13.44)
print(a9)
# 两边对齐
a10 = '{a:^10}'.format(a=12.3, b=13.44)
print(a10)

六.进制转化

# 十进制转二进制
bin()

# 十进制转八进制
oct()

# 十进制转十六进制
hex()

# 其它进制转十进制
int('进制数据',进制类型)

# ord()函数将字符转换为ASCII码,
ord("a")  # ----- 97
# chr则将ASCII码转换成字符。
chr(97)

七.深浅拷贝

1.浅拷贝

外层不受影响,内层会受影响

l1 = [1234, 5678, 910]

l2 = ['a', l1]

l3 = l2.copy()

l1.append('帅')

>>> id(l1)
1750917116360
>>> id(l2)
1750917140744
>>> id(l2[1])
1750917116360
# 内层id地址相同

print(id(l2))  # 2429073232384
print(id(l2[1]))  # 2104199485056
print(id(l3))  # 2429073240128
print(id(l3[1]))  # 2104199485056

# 浅复制 外层不同,内层id相同

2.深拷贝

内外层都不影响

import copy
l1 = [1234, 5678, 910]

l2 = ['a', l1]

l4 = copy.deepcopy(l2)

l1.append('帅')

print(id(l1))  # 1633334532096
print(id(l2))  # 1633334532352
print(id(l4))  # 1633334448384
print(id(l2[1]))  # 1633334532096

print(id(l2[0]))  # 1633303890928
print(id(l4[0]))  # 1633303890928
print(id(l4[1]))  # 1633334532672

l2[0] = 1234
print(id(l4[0]))  # 外层地址不同
print(id(l2[0]))  

# 内外层都不同
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值