数值
显示
float浮点型
- 精度问题:计算机硬件导致
>>> 1.1+2.2
3.3000000000000003
- 显示取两位小数
>>> f = 2.2222
>>> 'f={0:.2f}'.format(f)
'f=2.22'
除法
特殊情况
- 除法取整
>>> 10 //4
2
- 精度不同的操作
>>> 10//4.0
2.0
结果是高精度的
取整
- math中的floor函数,正向取整即正数向下取整,负数向下取整
>>> import math
>>> math.floor(3.2)
3
>>> math.floor(-3.2)
-4
- math中的trunc函数,截断式取整
>>> import math
>>> math.trunc(3.2)
3
>>> math.trunc(-3.2)
-3
- 全局的round函数,四舍五入
>>> round(3.2)
3
>>> round(3.9)
4
进制
进制 | 开头字母 | 转换函数 |
---|---|---|
八进制 | 0o | oct() |
十六进制 | 0x | hex() |
二进制 | 0b | bin() |
十六进制10表示为0xa
特殊类型
- decimal
>>> import decimal
>>> decimal.Decimal('1.1')+decimal.Decimal(2.2)
Decimal('3.300000000000000177635683940')
>>> 1.1+2.2
3.3000000000000003
decimal精度问题处理得更好
- boolean
true本质上是int型1,false本质上是int型0。
字符串
声明
单引号、双引号、三引号
双引号:一般存在于字符串里有单引号的情况。
三引号:生成说明文档。
转义符
- \
- ’
- "
- \n
- \b :退格
- \t :四个空格
- \a
忽略转义符:r‘内容’
操作
- 求长度:len
- 加、乘
>>> 'xue'+'tongxue'
'xuetongxue'
>>> 'xue'*5
'xuexuexuexuexue'
- 打印:循环
>>> for c in s:
... print(c)
...
h
e
l
l
o
>>> for c in s:
... print(c,end='')
...
hello>>>
-
取特定位置
-
切割:最后一个不操作
>>> s='sbaoua'
>>> s[0:3]
'sba'
- 限制步长:注意-1
>>> s[:]
'sbaoua'
>>> s[::2]
'sau'
>>> s[::-1]
'auoabs'
注意:字符串不可以原位改变,改变只能赋值。
>>> h='hello'
>>> h= h.replace('e','a')
>>> h
'hallo'
- 分割:split
>>> url = 'codeclassromc,uke,youpin'
>>> l=url.split(',')
>>> l
['codeclassromc', 'uke', 'youpin']
- 开头结尾:startswith(’’) endswith(’ ')
- 包含:find
列表
特点
任意对象,通过索引查找,可变
操作
- 追加:.append()
- 扩展:.extend()
- 排序:.sort()
- 反置:.reverse()
- 弹出:.pop()
类似栈 - 删除:.del()
全局 - 检索:.index()
- 统计:.count()
注意
引用类型,支持改变。
直接相等,原列表改变,一起变。
copy、[:],原列表改变,新列表不变。
>>> l1 = [1,2,3,4,5]
>>> l2 = l1
>>> l2
[1, 2, 3, 4, 5]
>>> l1[1] = 9
>>> l1
[1, 9, 3, 4, 5]
>>> l2
[1, 9, 3, 4, 5]
>>> l3 = l1[:]
>>> l1[2]=100
>>> l1
[1, 9, 100, 4, 5]
>>> l3
[1, 9, 3, 4, 5]
>>> l4 = l1.copy()
>>> l4
[1, 9, 100, 4, 5]