单引号、双引号、三引号:
>>> "i'm sam"
"i'm sam"
>>> '"you are welcome", tom said'
'"you are welcome", tom said'
>>> '''first row,
secomd row.'''
'first row,\nsecomd row.'
转义字符:
\ 反斜杠符号
’ 单引号
" 双引号
\a 响铃
\b 退格(backspace)
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\ooo 最多三位八进制,例如:\12代表换行
\xyy 最多两位十六进制,例如\x0a代表换行
字符串运算符:
>>> a='abc'
>>> b='def'
>>> a+b
'abcdef'
>>> a*3
'abcabcabc'
>>>
字符串的判断
>>> s='123'
>>> '3' in s
True
>>> '12' in s
True
>>> '4' in s
False
>>> '4' not in s
True
字符串索引及切片:
>>> a='123456789'
>>> a[2]
'3'
>>> a[0]
'1'
>>> a[0:3]
'123'
>>> a[-1:3]
''
>>> a[3:-1]
'45678'
>>> a[:3]
'123'
>>> a[3:]
'456789'
>>> 'this is a string'[5]
'i'
>>> 'this is a string'[4]
' '
字符串的逆序输出
>>> s='abcdefghijk'
>>> s1=s[::-1]
>>> s1
'kjihgfedcba'
ascii码与字符间的相互转换:
>>> chr(97)
'a'
>>> ord('a')
97
生成asscii码表:
for i in range(ord('A'),ord('Z')+1):
print(chr(i),'\t',i)
for i in range(ord('a'),ord('z')+1):
print(chr(i),'\t',i)
字母 ascii表:
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
K 75
L 76
M 77
N 78
O 79
P 80
Q 81
R 82
S 83
T 84
U 85
V 86
W 87
X 88
Y 89
Z 90
a 97
b 98
c 99
d 100
e 101
f 102
g 103
h 104
i 105
j 106
k 107
l 108
m 109
n 110
o 111
p 112
q 113
r 114
s 115
t 116
u 117
v 118
w 119
x 120
y 121
z 122
关系运算符:
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
>>> 123>23
True
>>> '123'>'23'
False
>>> '123'<'23'
True
>>> 'abc'<'d'
True
>>> 1<3<5
True
>>> 3<5>2
True
>>> 1>6<8
False
>>> import math
>>> 1<6>math.sqrt(9)
True
>>> 'Hello'>'world'
False
>>> ascii('H')
"'H'"
>>> ascii(H)
>>> ord('H')
72
>>> ord('w')
119
逻辑运算:and、or、not
>>> 3>5 and a>3
False
>>> 3>5 or a>3
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
3>5 or a>3
NameError: name 'a' is not defined
注意a没有被定义,但是在第一个例子中,由于and关系中,第一个关系运算为False,第二个关系运算被短路。第二个例子中,由于or关系中,第一个关系运算为False,需要继续判断第二个关系运算,因此第二个例子中用到了a,程序报错:a没有被定义。(短路原则)
>>> not 3
False
>>> not 0
True