1.不同数据类型转换
int数字类型,可以用float转换
float不能用int转换
int_data = 12
float_data = 3.14
str_int_data = str(int_data)
str_float_data = str(float_data)
print(str_int_data,str_float_data,type(str_float_data),type(str_int_data))
zero_number = 0
_number = -1
str_zero_number = str(zero_number)
str_number = str(_number)
print(str_zero_number,str_number,type(str_zero_number),type(str_number))
str_float = '3.14'
str_int = '123456'
real_float = float(str_float)
real_int = int(str_int)
print(real_float, real_int ,type(real_float),type(real_int))
float_data_str = '3.14'
test_data = float(float_data_str)
print(test_data)
2.字符串与列表间的转换
(1)字符串转列表的函数 --split
(2) 列表转字符串的函数 --join
(1)split 将字符串切割成列表
string.split(sep = None, mmaxsplit = -1)
sep:默认空格
(2)将列表以一定规则转成字符串
'sep'.join(iterable)
a = 'abc'
print(a.split()) #因为没有空格
b = 'a,b,cd'
print(b.split(','))
c = 'a|b|c|d'
print(c.split('|',1)) #切割一次
f = ' a~b~c '
print(f.split('~'))
test = ['a', 'b', 'c']
test_str = '|'.join(test)
print(test_str)
#test2 = [1,2,3]#如果是数字类型就不能用join进行合并
#print('|'.join(test2))
#test3 = [{'name':'dewei'},{'name':'xiaomu'}]#字典成员也不能通过join进行合并,元组[(1, ), ('a','b')]也不行
#print(('.'.join(test3)))
sort_str = 'a b c d f i e'
sort_list = sort_str.split(' ')
print(sort_list)
sort_list.sort()
print(sort_list)
sort_str = ' '.join(sort_list)
print(sort_str)
sort_str_new = 'abdfipqc'
res = sorted(sort_str_new)
print(res)
print(''.join(res))
3.字符串与比特
(1)bytes
二进制数据流
是一种特殊的字符串
字符串前+b标记
bt = b'my name is dewei'
(2)字符串转bytes的函数-encode
string,encode(encoding = ‘utf-8’, errors = ‘strict’)
a = 'hello xiaomu'
print(a,type(a))
b = b'hello xiaomu '
print(b,type(b))
print(b.capitalize()) #可以执行函数功能
print(b.replace(b'xiaomu',b'dewei'))#传入参数为字符串类型就不行
print(b[0])
print(b[3])
print(b[:3])
print(b.find(b'x'))
print(dir(b))
#c = b'hello 小慕'#bytes can only contain ASCII literal characters.
#print(c)
d = 'hello 小慕'
e = d.encode('utf-8')
print(e, type(e))
print(e.decode('utf-8'), type(e))