python基础知识巩固(一)——字符串
一、概念:
字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等,分别表示abc,xyz.而'a','b','c'表示单个字符a,b,c。
二、转义字符:
1、如果字符串内部既包含'又包含"怎么办?可以用转义字符\来标识,比如:print('I\'m Jay.) 会输出:I'm Jay.
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\.
2、如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部的字符串默认不转义,可以自己在命令行试试:
>>> print('\\\n\\')
输出:
\
\
>>> print(r'\\\n\\')
输出:
\\\n\\
>>>
3、如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用'''...'''的格式表示多行内容,比如:
>>> print('''行1
... 行2
... 行3''')
输出:
行1
行2
行3
三、字符编码
由于Python源代码是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python3
# -*— coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
四、格式化输出
我们经常会输出类似'亲爱的xxx用户,您好!很抱歉的通知您,您已欠费xx元!'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。
1、在python中可以采用跟C语言一样的格式化输出,即利用%输出。例如:
>>> print('Wow,that\'s %dcm!' %18)
输出:
Wow,that's 18cm!
常见的占位符有:
占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%u 无符号整型
%o 无符号八进制数
%x 十六进制整数
%c 格式化字符及其ASCII码
其中,格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> print('%2d-%02d' % (3, 1))
输出: 3-01
>>> print('%.2f' % 3.1415926)
输出:3.14
如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串:
>>> 'Age: %s. Gender: %s' % (25, True)
输出:'Age: 25. Gender: True'
格式化操作符辅助指令:
符号 功能
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
<sp> 在正数前面显示空格
0 显示的数字前面填充'0'而不是默认的空格
% '%%'输出一个单一的'%'
m.n. m 是显示的最小总宽度,n 是小数点后的位数
2、format()形式
另一种格式化字符串的方法是使用字符串的format()方法,它会用传入的参数依次替换字符串内的占位符{0}、{1}……,不过这种方式写起来比%要麻烦得多:
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
输出:'Hello, 小明, 成绩提升了 17.1%'