Python字符串

Python(py)中的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节,如果说需要在网络上传输,或者保存到磁盘就把str变为以字节为单位的bytes

Python对于bytes类型的数据用 带b前缀的单引号或者双引号表示,例如

x=b'ABC'

几个常用的函数encode(),decode(),len()

以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如
 


'ABC'.encode('ascii')
'ABC'.encode('ascii')
Out[1]:
b'ABC'
In [2]:

str='ABC'
In [3]:

str.encode('ascii')
str.encode('ascii')
Out[3]:
b'ABC'
In [4]:

ASCLL
str.encode('ASCLL')
---------------------------------------------------------------------------
LookupError                               Traceback (most recent call last)
<ipython-input-4-e3991b725de6> in <module>()
----> 1 str.encode('ASCLL')

LookupError: unknown encoding: ASCLL

在 bytes 中,无法显示为 ASCII 字符的字节,用\x##显示。

反过来,如果我们从网络或磁盘上读取字节流,那么读到的数据就是bytes,要是把bytes

变为str,就需要用decode()方法:

>>> b'ABC'.decode('ascii')

'ABC'

>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')

'中文'

len()函数可以判断str包含多少个字符

str='ADC'

str.len()

3

或者 len(str)  len('ADC')

 

注:len()函数计算的是str的字符数,如果换成bytes的话就是计算字节数

>>> len(b'ABC')

3

 

格式化: 输出格式化的字符串

在py中,和C语言一样使用%来实现格式化。

常见的%占位符

%d     整数

%f      浮点数

%s     字符串

%x   十六进制整数

https://blog.csdn.net/hongzhen91/article/details/84065906  一些关于 常用占位符的操作都在这里面。

在字符串内部,%s表示用字符串替换,%d用整数替换,

使用了几个%,后面就要跟几个变量或者值,如果说只有一个%,括号就能省略

其中格式化整数和浮点数还可以指定是否补0 和整数与小数的位数

'%4d-%05d' %(3,222)
OUT:
'   3-00222'
# -号之前是四位 但是没有补0  -号之后是五位 但是少位补0

举例:

 'Hi, %s, you have $%d.'  % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'

Tips:有时候,字符串的%是一个普通字符,这时候需要使用转移字符

用%%来表示一个%:

>>> 'growth rate: %d %%' % 7 '

growth rate: 7 %'

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值