1. len 函数
要计算 str
包含多少个字符,可以用 len()
函数:
>>> len("abcd")
4
>>> len('函数')
2
2. python 的字符串
由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;
第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。
3. 格式化
%
运算符就是用来格式化字符串的。在字符串内部,%s
表示用字符串替换,%d
表示用整数替换,有几个 %?
占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个 %?
,括号可以省略。
常见的占位符有:
占位符 | 替换内容 |
---|---|
%d | 整数 |
%f | 浮点数 |
%s | 字符串 |
%x | 十六进制整数 |
格式化整数和浮点数还可以指定是否补0和整数与小数的位数:
>>> print('%2d-%02d' % (3, 1))
3-01
>>> print('%.2f' % 3.1415926)
3.14
%02d
表示 1 这个数占 2 位,其余位补 0。
>>> 'Age: %s. Gender: %s' % (25, True)
'Age: 25. Gender: True'
字符串里面的 %
是一个普通字符怎么办?这个时候就需要转义,用 %%
来表示一个 %
:
>>> 'growth rate: %d %%' % 7
'growth rate: 7 %'
4. format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'
5. f-string
以对应的变量替换
>>> r = 2.5
>>> s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62
{r}
被变量 r
的值替换,{s:.2f}
被变量 s
的值替换,并且 :
后面的 .2f
指定了格式化参数(即保留两位小数),因此,{s:.2f}
的替换结果是 19.62。