ascii转字符串代码(ascii转字符串代码讲解)
目录:字符转义,编码解码,格式化补充,format扩展,进制转化,深浅拷贝
转义:字符前存在,在特定情况下字符就不再表示本身的意思
代码 功能 例子
n 换行符 print(&‘hellonworld&’)
t 水平制表符 print(&‘thellotworld&’)
b 退格,往前删除一格 print(&‘hell bo&’)
r 当前位置移到本行开头,r之前的数据被后面的覆盖,不是删除 print(&‘ herllo&’)
\ 一个单斜杠 print(&‘ \&;)
&‘ 一个单引号 print(&”&’)
&” 一个双引号 print(&‘&”&‘)
一个空格(仅用于交互式环境下,也就是命令窗口中) print(&‘hersdf&’)
a 电脑提示音(仅用于交互式环境下) print(&‘a&’)
在字符串前加r,就可以防止转义
print('t00b')print(r't00b')00b
t00b
编码(encode)和解码(decode)
a = '你好 python'b = a.encode('utf-8')print(b)print(b.decode('utf-8'))b&’xe4xbdxa0xe5xa5xbd python&’ &—- 只编码中文字符串,英文字符串不变
你好 python &— 解码要先新设变量存储编码后的数据,解码是在新变量的基础上解
格式化补充
代码 功能 例子
%s 占位符 print(&‘%s&’ % &‘帅&’)
%r 显示原数据类型 print(&‘%r&’ % &‘帅&’)
%d 整数 print(&‘%d&’ % 数字)
%f 浮点数 print(&‘%f&’ % 数字)
%c 查找ASCII表(就是一个特殊的表)里对应数字的元素 print(&‘%c&’ % 数字)
%o 将数字转为8进制(逢8进1) print(&‘%o&’ % 数字)
%x 16进制 (逢16进1) print(&‘%x&’ % 数字)
%e 科学计数法 print(&‘%e&’ % 数字)
&– 左对齐,用法:%-6指定长度.4指定小数点后面的位数 print(&‘%-6.4f&’ % 10.3)
+ 显示正号 print(&‘%+6.4f&’ % 10.3)
%数字s 设置格式化长度 print(&‘%5s&’ % &‘ab&’)
1.%s 占位符
print('%s年%s月%s日' % (2021,4,28))2021年4月28日
2.%r 显示原数据类型
print('%r' % ('2021,4,28'))&‘2021,4,28&’ &— 原本的引号都一并输出,和原数据一模一样
3.%d 整数
print('%d' % 1.8) #相当于向下取整1
4.%f 浮点数
print('%f' % 1.4) #自动保留六位小数1.400000
5.%c 查找ASCII表(就是一个特殊的表)里对应数字的元素
print('%c' % 65)print('%c' % 100)A
d
6.%o 8进制(逢8进1)
print('%o' % 65)101
7.%x 16进制
print('%x' % 65)41
8.%e 科学计数法
print('%e' % 65) #65 = 6.5 *10的一次方,结果中的01=10的1次方6.500000e+01
9.%-6指定长度 .4指定小数点后面的位数
print('%-6.4f' % 10.3) #4规定小数点后面有几位,f代表浮点数,6为指定长度;优先满足小数点后几位数10.3000
10.%+ 显示正号
print('%+6.4f' % 10.3) +10.3000
11.%数字s 设置格式化长度
print('%5s' % 'ab')ab &— ab前面空了三格
format扩展
功能 例子
保留小数点后两位数 print(&‘{:.2f}&’.format(10.3333333333))
指定传入,保留小数点后两位数 print(&‘{s:.2f}&’.format(s = 10.33333333333))
百分比格式化 print(&‘{:.2%}&’.format(0.33))
转16进制 print(&‘{:x}&’.format(20))
转8进制 print(&‘{:o}&’.format(20))
左对齐,长度为10 print(&‘{a:&<10}&’.format(a = 10.333, b = 21.21))
传入数据长度不足,用x填充 print(&‘{a:x&<10}&’.format(a = 12.1, b = 23))
右对齐 print(&‘{a:x&>10}&’.format(a = 12.1, b = 23))
两端对齐 print(&‘{a:x^10}&’.format(a = 12.1, b = 23))
1.保留小数点后两位数
print('{:.2f}'.format(10.3333333333))10.33
2.指定传入,保留小数点后两位数
print('{s:.2f}'.format(s = 10.33333333333))10.33
3.百分比格式化
print('{:.2%}'.format(0.33))33.00%
4.转16进制
print('{:x}'.format(20))14
5.转8进制
print('{:o}'.format(20))24
6.左对齐,字符长度为10
print('{a:&<10}'.format(a = 10.333, b = 21.21))10.333 &— 3的后面还有4个空格
7.传入数据长度不足,用x填充
print('{a:x&<10}'.format(a = 12.1, b = 23)) #&<箭头尖指向左边,所以往左对齐12.1xxxxxx
8.右对齐
print('{a:x&>10}'.format(a = 12.1, b = 23)) #&>箭头尖指向右边,所以往右对齐xxxxxx12.1
9.两边对齐
print('{a:x^10}'.format(a = 12.1, b = 23))xxx12.1xxx
进制转化
代码 功能 例子
bin() 十进制转二进制 bin(4)
oct() 十进制转八进制 oct(10)
hex() 十进制转十六进制 hex(16)
int(&‘输入需转化的数字&’, 输入进制对应的数字) 其它进制转十进制 int(&‘100&’,2)
ord() 将字符转换为ASCII码 ord(&‘a&’)
chr() 将ASCII码转换成字符 chr(97)
1.bin() 十进制转二进制
print(bin(4)) #4 = 2*2,逢2进1,所以就是10*10 = 1000b100 &— 0b表示进制,后面的100才是4转2进制的值
2.oct() 十进制转八进制
print(oct(10)) #10=8+2,逢8进1,所以为120o12
3.hex() 十进制转十六进制
print(hex(16)) #16=16+0,逢16进1,所以为100x10
4.int(&‘输入需转进制的数字 &‘, 输入进制代表的数字)其他进制转十进制
int('100',2) #需要在交互模式环境下(或者python console);在命令窗口中,只能转为16进制,输其他进制会报错4
5.ord() 将字符转换为ASCII码
print(ord('a'))97
6.chr() 将ASCII码转换成字符
print(chr(97))a
深浅拷贝(一般针对嵌套列表)
1.浅复制&—copy()&—-内层id地址一致,外层不一致
浅复制:内层id一致,外层不一致
内层id地址一致,说明改动内嵌列表,其他含有这个内嵌列表的列表都会跟着改变
浅复制:内层id一致,a列表改变,b和c也跟着一起变
2.深复制&—- 调用copy内置库(import copy)&—copy.deepcopy()
内层地址不一致,外层地址不一致
深复制,内层地址不一致,当一列表改变时,另一列表不受影响
