潭州课堂25班:Ph201805201 第五课:格式化输出和深浅复制 (课堂笔记)

格式化输出和字符串转义

占位符使用示意作用
%s'%s %s' % ('hello', 'world')表示占位的是str
%d'%d %d' % (1, 2)表示占位的是int
%d'%d %d' % (1.3,2.9)如果使用float占位,输出整数部分
%f'%f %f' % (1.3,2.9)表示占位的是float,默认不足6位小数末尾用0补全
  以上是上上节课的内容
 %有关的内容 
%.if'%.2f %.4f' % (1.123, 2.12)i为一个整数,表示小数后的位数,不足用0补全
%xf'%8f<>%10f' % (1.2, 1.2)x为一个整数,表示整个数字的位数,不足在左边用空格补全
%+f'%+f<>%+f' % (1.2, 1.2)'+ 表示显示正负号
%-f'%-7.2f<>%-7.2f' % (-1.2, 1.2)- 表示不足位数在右边用空格补全
%c'%c' % 97表示占位的为ASCII码,输出ASCII对应的字符
%o'%o' % 8表示占位的为十进制数字,输出对应的八进制数字
%x‘%x’ % 16表示占位的为十进制数字,输出对应的十六进制数字
%e‘%e’ % 11表示占位的是数字,用科学计数法输出
%r'%r<>%r' % ('1', 1)原始形象输出;区分字符串1 和 数字1
 foramt有关的内容 
{index}‘{1}<>{0}’.format('零', '一')索引输出
{obj}'{x}<>{y}'.format(x=2, y=1)关键字输出
{:x}'{:x}'.format(16)十进制转十六进制
{:o}'{:o}'.format(8)十进制转八进制
{:*<i}'{:#<5} {:*<8}'.format(123, 'abc')i表示整数,*表示补全的符号;不足位数在右边用符号补全
{:*>i}'{:#>5} {:*>8}'.format(123, 'abc')i表示整数,*表示补全的符号;不足位数在左边用符号补全
{:*^i}'{:#^5} {:*^8}'.format(123, 'abc')i表示整数,*表示补全的符号;不足位数在两边用符号补全
            

 

 

 

接下来是转义符

转义符作用
\a发出一声响
\n换行符
\t水平制表符
\b退格符
\r将当前位置移动到本行开头
\代表 \,转义特殊字符
\0空字符

 

字符串处理

添加的字符作用
u对字符进行Unicode编码
r取消转义
b

代表该字符串为bytes类型

字符串编码

PPT第十三页 编码规则PPT第十四页

方法作用
encode编码
decode解码

 

深浅复制

<font color='red'> 深浅复制只在列表嵌套的时候才讨论 </font>

li1 = [1,2,3,[4,5,6]]
li2 = li1.copy()
这个时候我们的li1和li2是不是相等的?如果我在这里修改li1[3][0] = 'a'
我们来看li1的结果 会变成什么?是不是[1,2,3,['a',5,6]],这个时候我们来看li2变成了和li1一样的了?
为什么呢?我么来看li1[3]和li2[3]的ID,是不是一样的,说明什么?说明他们是同一个对象;这就是浅复制
那么什么是深复制呢?
import copy
li3 = copy.deepcopy(li1)
现在我们再来修改嵌套的列表,看看会不会改变另一个

bytes和bytearray

1:bytes(二进制序列类型)
	一:用指定长度的0来填充字节对象
		bys1 = bytes(5)
	二:二进制字符串对象
		bys2 = bytes(b'abcde')
2:bytearray(二进制数组)
	一:用指定长度的0来填充字节对象
		bya1 = bytearray(5)
	二:二进制字符串对象
		bya2 = bytearray(b'abcde')

 

转载于:https://www.cnblogs.com/gdwz922/p/9121396.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值