4-Python3从入门到实战—基础之数据类型(字符串-String)
Python从入门到实战系列——目录
字符串表示
- 在 Python 3版本中,字符串是以 Unicode 编码的;Python 中使用 ' '或者" "表示字符串
msg = 'Hello World'
name = "SiberiaDante"
字符串操作
- Python 不支持单字符类型,单字符也在Python也是作为一个字符串使用,获取字符串中单个字符串的值:
name = "SiberiaDante"
print (name[0]) # 结果:S
print (name[0:4]) # 结果:Sibe
- 更新字符串中的值:截取字符串的一部分并与其他字段拼接
name = "SiberiaDante"
print ("更新name :",name[0:7]+"蛋疼") # 结果:更新name:Siberia蛋疼
- 字符串的不可变性(str.replace()相当于创建了一个新的变量,并不是改变了变量 str 的值)
>>> str='abcd'
>>> str.replace('a','A')
'Abcd'
>>> str
'abcd'
Python转义字符
- 在字符中使用特殊字符时,需要使用反斜杠()转义字符;
- \ (在行尾时) 续行符
- \ 反斜杠符号
- ' 单引号
- " 双引号
- \a 响铃
- \b 退格(Backspace)
- \e 转义
- \000 空
- \n 换行
- \v 纵向制表符
- \t 横向制表符
- \r 回车
- \f 换页
- \oyy 八进制数,yy代表的字符,例如:\o12代表换行
- \xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
- \other 其它的字符以普通格式输出
Python字符串运算符
- 运算符释义如下:
a=Hello b=Python
+ 字符串连接 a + b 输出结果: HelloPython
* 重复输出字符串 a*2 输出结果:HelloHello
[] 通过索引获取字符串中字符 a[1] 输出结果 e
[ : ] 截取字符串中的一部分 a[1:4] 输出结果 ell
in 成员运算符 - 如果字符串中包含给定的字符返回 True H in a 输出结果 1
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True M not in a 输出结果 True
r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母"r"(可以大小写)以外,与普通字符串有着几乎完全相同的语法。 print r'\n' prints \n 和 print R'\n' prints \n
% 格式字符串
Python字符串格式化
- python字符串格式化符号:
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
- 格式化操作符辅助指令:
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n. m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
- Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
Python三引号
- python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符等
para_str = """这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( \t )。
也可以使用换行符 [ \n ]。
"""
print (para_str)
输出结果
这是一个多行字符串的实例
多行字符串可以使用制表符
TAB ( )。
也可以使用换行符 [
]。
SiberiaDante的博客:http://www.cnblogs.com/shen-hua/
SiberiaDante的github地址:https://github.com/SiberiaDante
SiberiaDante的github地址:https://github.com/SiberiaDante