Python学习(10)|可变字符串_io.StringIO_

本文介绍了Python中字符串的不可变性以及如何使用io.StringIO进行可变字符串操作。此外,详细讲解了Python中的类型转换,包括int、float、complex、str、list和tuple之间的转换,以及字符和整数之间的转换方法。
摘要由CSDN通过智能技术生成

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Bug.ink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值