31-可变字符串_io.StringIO
可变字符串:
Python中,字符串属于不可变对象,不支持原地修改,如果需要修改其中的值,只能创建新的字符串对象。
确实需要使用到修改字符串的,可以使用 io.StringIO 对象或者 array 模块。
import io
s = "abcdefghijklmn" #不可变字符串
sio = io.StringIO(s) #sio是可变字符串
print(sio) #执行结果:<_io.StringIO object at 0x000001989AB19318>
print(sio.getvalue()) #查看sio所代表的值,执行结果:abcdefghijklmn
#修改
sio.seek(3) #指针到索引 3 这个位置
sio.write("***") #写入修改的值
print(sio.getvalue()) #执行结果:abc***ghijklmn
32-类型转换总结
与 c++ 、java、等高级程序设计语言一样,Python语言同样也支持数据类型转换。
#类型转换
#转换为int
a = '010'
print('int()默认情况下为:',int()) #执行结果:int()默认情况下为: 0
print('str字符型转换为int',int(a)) #执行结果:str字符型转换为int 10
b = 234.23
print('float浮点型转换为int:',int(b)) #执行结果:float浮点型转换为int: 234
#十进制数10,对应2进制,8进制,10进制,16进制分别是:1010,12,10,0xa
print('int(\'0xa\',16) = ',int('0xa',16)) #执行结果:int('0xa',16) = 10
print('int(\'10\',10) = ',int('10',10)) #执行结果:int('10',10) = 10
print('int(\'12\',8) = ',int('12',8)) #执行结果:int('12',8) = 10
print('int(\'1010\',2) = ',int('1010',2)) #执行结果:int('1010',2) = 10
#转换为float
print('float()默认情况下为:',float()) #执行结果:float()默认情况下为: 0.0
g = '123.01'
print('str字符型转换为float:',float(g)) #执行结果:str字符型转换为float: 123.01
d = 32
print('int浮点型转换为float',float(d)) #执行结果:int浮点型转换为float 32.0
#转换为complex
print('创建一个复数(实部 + 虚部):',complex(12,43)) #创建一个附属(实部+虚部): (12+43j)
print('创建一个复数(实部 + 虚部)',complex(12)) #执行结果:创建一个复数(实部 + 虚部) (12+0j)
#转换为str字符串
e = 232.33
print('str()默认情况下为:',str()) #执行结果:str()默认情况下为:
print('float型转换为str:',str(e)) #执行结果:float型转换为str: 232.33
print('int转换为str:',str(d)) #执行结果:int转换为str: 32
lists = ['a','b','c','d','a']
print('列表lists转换为str:'.join(lists)) #执行结果:a列表lists转换为str:b列表lists转换为str:c列表lists转换为str:d列表lists转换为str:a
#转换为list
strs = 'hongten'
print('序列strs转换为list:',list(strs)) #执行结果:序列strs转换为list: ['h', 'o', 'n', 'g', 't', 'e', 'n']
#转换为tuple
print('序列strs转换为list:',tuple(lists)) #执行结果:序列strs转换为list: ('a', 'b', 'c', 'd', 'a')
#字符和整数之间的转换
f = 67
print('整数转换为字符chr:',chr(f)) #执行结果:整数转换为字符chr: C
print('字符chr转换为整数',ord('c')) #执行结果:字符chr转换为整数 99
h = 12
print('整数转16进制数:',hex(h)) #整数转16进制数: 0xc
print('整数转8进制数:',oct(h)) #执行结果:整数转8进制数: 0o14