ascii转字符串代码(ascii转字符串代码讲解)

目录:字符转义,编码解码,格式化补充,format扩展,进制转化,深浅拷贝

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

代码 功能 例子

\n 换行符 print(‘hello\nworld’)

\t 水平制表符 print(‘\thello\tworld’)

\b 退格,往前删除一格 print(‘hell \bo’)

\r 当前位置移到本行开头,\r之前的数据被后面的覆盖,不是删除 print(‘ he\rllo’)

\\ 一个单斜杠 print(‘ \\’)

\’ 一个单引号 print(‘\”)

\” 一个双引号 print(‘\”‘)

\0 一个空格(仅用于交互式环境下,也就是命令窗口中) print(‘her\0sdf’)

\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’\xe4\xbd\xa0\xe5\xa5\xbd 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扩展,进制转化,深浅拷贝

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

(0)
小多多的头像小多多创始人

相关推荐

发表回复

登录后才能评论