博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python字符串
阅读量:4981 次
发布时间:2019-06-12

本文共 1423 字,大约阅读时间需要 4 分钟。

Python 3 之后的版本里,字符串使用Unicode编码,即支持多语言。

 

对于单个字符的编码,Python提供ord (  ) 函数获取字符的整数表示 , chr()函数把编码转换成对应的字符

知道字符的整数编码还可以用十六进制写(反人类)

 

 Python字符串类型是str,内存中以Unicode表示,一个字符对应若干个字节,传输或保存的时候需要把 str 变成 bytes ,对于bytes类型的数据用前缀 b 跟单引号或双引号字符串。

举例: x=b'ABC' 

(稍微)详解:‘ABC’ 是 str,占用字节大于1,b'ABC''ABC'占用1个字节

以Unicode表示的str 通过 encode()方法可以编码为指定的bytes,但是需要遵循编码规定,ASCII编码不能转中文,会报错的哦。  bytes中,无法显示的ASCII字符会以 \x## 表示

反之,decode()可以把bytes变成str

记得前缀 b 才是表示bytes

 如果bytes包含无法解码的字节,decode()方法会报错

如果已知bytes中只有一小部分字节无效,可以传入 errors='ignore' 忽略错误字节

 

计算str 有多少字符,可以使用 len()函数  注意:是字符数,ABC就是三个,'中文'就是两个,字面意思

计算bytes有多少字符,也可以使用 len()函数,这时就是计算字节数的时候了

 

可以看出来,utf-8下英文字符及特殊符号是占一个字节的,中文就是三个字节 (包括中文特殊符号,……是6个,¥3个)

Python源代码都是文本文件,编码过程要坚持使用utf-8编码,保存时务必声明保存为utf-8编码才行。当解释器读取到源代码时,会按照开头的声明进行解码:

#!/usr/bin/env python3

# -*- coding:utf-8 -*-

第一行注释为了告诉Linux\OS X系统,这是一个可执行的Python程序,但由于Windows不能直接运行.py文件所以会自动忽略

第二行告诉python解释器,按照utf-8 编码读取源代码,否则中文可能会乱码

注意:声明解释编码为utf-8并不意味着.py 文件一定是utf-8编码,一定确定文本编辑器正在使用的是utf-8 without BOM编码(中文直接叫utf-8编码),这样保存的中文解释器解释后才会是保存进去的中文

 

 

格式化字符串

  有固定模板,需要动态填充某些不一样的东西,需要用到格式化。举例:短信   尊敬的XXX用户您好,余额为XXX元,该充钱了。XX年XX月XX日

  %运算符      %s使用字符串替换,%d用整数替换,  有几个 %? 占位符后面就跟几个变量,顺序要对好,不然会报错

只有一个 %? 时可以不用带括号 

 

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

不同的是,整数补0要在%后跟一个0,至于能不能补两个,至少目前看来这种格式化的方式并不能:

在不确定要补什么东西的时候,%s是最好的选择,可以把任何类型数据转换成字符串:  注意布尔类型哈,会被转成“True”而不是0或者1

同样,需要注意转义,用%放在转需要转义的字符前(一般指“%”):

 

 另一种格式化的方式:format()  占位符为 {0} 、 {1} 、{2}  

 

 

 

转载于:https://www.cnblogs.com/johnwatson/p/9953231.html

你可能感兴趣的文章
[django]form的content-type(mime)
查看>>
仿面包旅行个人中心下拉顶部背景放大高斯模糊效果
查看>>
iOS 电话在后台运行时,我的启动图片被压缩
查看>>
js --基本语法3 函数,数组,堆棧
查看>>
hdu 3068(最长回文)
查看>>
python已处理的异常
查看>>
假如项目中使用到了多 表查询,怎么办?
查看>>
.net framework 4.0无法在Win7下安装的解决办法
查看>>
Day 8作业
查看>>
一道前端试题
查看>>
spring mvc +easy ui +Mybatis 录入数据
查看>>
洛谷P1047 校门外的树
查看>>
PostgreSQL 9.5,带来 UPSERT 等新特性
查看>>
[转][C#][WebApi]
查看>>
[转]NSIS:使用SectionSetFlags根据不同环境自动勾选特定区段
查看>>
一个五位数ABCDE乘以9,得到EDCBA,求此五位数
查看>>
数据库基本常识【总结】
查看>>
iOS8以后自动计算cell的高度
查看>>
forever 使用
查看>>
Ubuntu PostgreSQL安装和配置(转, 自己学习记录,版权归原作者)
查看>>