学习出处
https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431664106267f12e9bef7ee14cf6a8776a479bdec9b9000
变量类型
变量类型
字符串
'abc'只有
a,
b,
c这3个字符。如果
'本身也是一个字符,那就可以用
""括起来,比如
"I'm OK"包含的字符是
I,
',
m,空格,
O,
K这6个字符。
如果字符串内部既包含
'又包含
"怎么办?可以
用转义字符
\来标识,比如:
'I\'m \"OK\"!'
如果字符串里面有很多字符都需要转义,就需要加很多
\,为了简化,Python还允许用
r''表示
''内部的字符串默认不转义
ord() #获取字符的整数表示
chr() #与ord()相反,把编码转成对应对应的字符
含有中文的str无法用ascii编码,因为中文的编码范围超过了ascii编码的范围,python会报错
bytes
encode和decode
字符串转字节码(用于网络传输)--
str.encode()
字节码转字符串(从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法)--bytes.decode()
计算
str
包含多少个字符,可以用
len()
函数:len()
当传入的参数为字节(bytes)时,len()计算的是字节数
python文本编码保存问题
在Python中,采用的格式化方式和C语言是一致的,用
%
实现,举例如下:
>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have $1000000.'
你可能猜到了,
%
运算符就是用来格式化字符串的。在字符串内部,
%s
表示用字符串替换,
%d
表示用整数替换,有几个
%?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个
%?
,括号可以省略。
常见的占位符有:
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> '%2d-%02d' % (3, 1)' 3-01'>>> '%.2f' % 3.1415926'3.14'
如果你不太确定应该用什么,
%s
永远起作用,它会把任何数据类型转换为字符串:
>>> 'Age: %s. Gender: %s' % (25, True)'Age: 25. Gender: True'
有些时候,字符串里面的
%
是一个普通字符怎么办?这个时候就需要转义,用
%%
来表示一个
%
:
>>> 'growth rate: %d %%' % 7'growth rate: 7 %'