(一)数值基本运算
① 基本数值运算: +, -, *, /, //, %, **
② 进制转换: hex()转十六进制;oct()转八进制;bin()转二进制
>>> 33 + 7 # 加
40
>>> 33 -7 # 减
26
>>> 33 * 7 # 乘
231
>>> 33 / 7 # 除
4.714285714285714
>>> 33 // 7 # 地板除
4
>>> 33 % 7 # 取余
5
>>> 33 ** 7 # 幂运算
42618442977
>>> hex(33) # 转十六进制
'0x21'
>>> oct(33) # 转八进制
'0o41'
>>> bin(7) # 二进制
'0b111'
>>> bin(3+4)
'0b111'
(二)类型转换
1,0,‘abc’,None,1.2,False,‘ ’
str(), bool(), int(), float(), is None, ==, !=
>>> str(0)
'0'
>>> str(abc) # 注意,字符串用‘ ’ 括起来,不扩起来会当做 名字→数据标签
Traceback (most recent call last):
File "<pyshell#14>", line 1, in <module>
str(abc)
NameError: name 'abc' is not defined
>>> str('abc')
'abc'
>>> str(None)
'None'
>>> str(1.2)
'1.2'
>>> str(False)
'False'
>>> str('')
''
注意:在str()函数中,字符一定要用引号‘ ’ 来表示,否则会当做一个变量名字来处理,会报错
>>> bool(0)
False
>>> bool(1)
True
>>> bool(1.2)
True
>>> bool(None)
False
>>> bool(False)
False
>>> bool(True)
True
>>> bool('abc')
True
>>> bool('')
False
>>> bool(' ') # 这里引号内有一个空格
True
注意:在布尔值中空串‘’ ,与 ‘空格’的布尔值是不一样的
>>> int(1.2)
1
>>> int(False)
0
>>> 0 is None
False
>>> 'abc' is None
False
>>> ''is None
False
>>> False is None
False
>>> None is None
True
>>> 0 == None
False
>>> ' ' == None
False
(三)字符串基本操作
+,*,len(),[ ],in,ord(),chr(),含有中文的字符串
>>> 'Hello World' + 'Tom and Bob'
'Hello WorldTom and Bob'
>>> len('Hello World')
11
>>> 'Hello World'[:7:2]
'HloW'
>>> 'Hello World'[7::2]
'ol'
>>> 'ol' in 'Hello World'
False
>>> 'l' in 'Hello World'
True
>>> ('Hello World'[7::2]) * 3
'ololol'
注意:字符串一定要用引号括起来,否则会当变量名来处理!
>>> ord('a')
97
>>> ord('A')
65
>>> ord('1')
49
>>> chr(97)
'a'
>>> chr(65)
'A'
>>> chr(49)
'1'
(四)字符串高级操作
s=‘abcdefg12345’
切片:获得defg12,获得fg12345,获得54321,
获得aceg2
>>> s = 'abcdefg12345'
>>> s[3:9:]
'defg12'
>>> s[5:]
'fg12345'
>>> s[-1:-6:-1]
'54321'
>>> s[::2]
'aceg24'
>>> s[:-2:2] #此处用的反方向索引值
'aceg2'
注意:步长方向,每一个序列都有正向索引值和反向索引值,两种。
t=‘Mike and Tom’
split拆分
upper/lower/swapcase修改大小写
ljust/center/rjust排版30位宽度左中右对齐
replace将Mike替换为Jerry
>>> t = 'Mike and Tom'
>>> t.split(' ')
['Mike', 'and', 'Tom']
>>> t.upper()
'MIKE AND TOM'
>>> t.lower()
'mike and tom'
>>> t.swapcase()
'mIKE AND tOM'
>>> t.ljust(30, '*')
'Mike and Tom******************'
>>> t.center(30, '*')
'*********Mike and Tom*********'
>>> t.rjust(30, '*')
'******************Mike and Tom'
>>> t.replace('Mile', 'Jerry')
'Mike and Tom'
>>> t.replace('Mike', 'Jerry')
'Jerry and Tom'