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 = 100

0b100 — 0b表示进制,后面的100才是4转2进制的值

2.oct() 十进制转八进制

print(oct(10))   #10=8+2,逢8进1,所以为12

0o12

3.hex() 十进制转十六进制

print(hex(16))   #16=16+0,逢16进1,所以为10

0x10

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地址一致,外层不一致字符串转义,编码解码,格式化,format扩展,进制转化,深浅拷贝

浅复制:内层id一致,外层不一致

内层id地址一致,说明改动内嵌列表,其他含有这个内嵌列表的列表都会跟着改变字符串转义,编码解码,格式化,format扩展,进制转化,深浅拷贝

浅复制:内层id一致,a列表改变,b和c也跟着一起变

2.深复制—- 调用copy内置库(import copy)—copy.deepcopy()

内层地址不一致,外层地址不一致字符串转义,编码解码,格式化,format扩展,进制转化,深浅拷贝

深复制,内层地址不一致,当一列表改变时,另一列表不受影响

原创文章,作者:admin,如若转载,请注明出处:https://www.qq65hfghe5.com/tg/86017.html