- 数值类型:
整数(int)
浮点数(float)
布尔类型(bool,返回True/False)
复数(complex)
- 整数(int):返回小数点前的值,不会四舍五入
>>> print(int(1.7))
1
-
布尔类型(bool):只有0/空值返回False,其余(包括正负数)都返回True
-
True/False可被加减乘运算,True=1,False=0(0无法为分母)
-
python float浮点数计算不精确(具体跟底层平台有关),用decimal模块进行精确计算(浮点数本身存在误差,需要将浮点数转为字符串):
详情解释参考:https://blog.csdn.net/qq_40376800/article/details/98176897
>>> from decimal import Decimal
>>>> a = Decimal('4.4')
>>> b = Decimal('3.3')
>>> print(a-b)
1.1
- //向下取整,小数除会带小数
>>> print(8.8//2)
4.0
print(-9//2)
-5
- **幂运算
- 向上/向下取整,引用math模块,向上用ceil方法,向下用floor方法:
>>> import math
>>> print(math.ceil(2.5))
3
>>> print(math.floor(2.5))
2
- 百分号代表了占位符,所以带占位符的字符串中要表示百分号必须写成%%
- 序列类型
字符串(str,用‘’,""表示)
列表(list,中括号[]表示)
元组(tuple,小括号()表示)
二进制字符串(不常用)
二进制列表(不常用)
- 三者的区别:
- 列表可变:可改变原本数据本身
- 元组/字符串不可更改:只能通过覆盖方式更改,元组若要进行更改,需要更改type为list,由于元组不可变属性,在数据安全方面可采用元组,可转为列表来索引下标进行增删改,
- 三者相同点:
- 可通过下标索引切片(切片的范围不包括最后一个下标索引):
>>> liming = ['小明',18,True,180.5]
>>> print(liming[:2])
['小明', 18]
练习:
- 字符串201905018取出年/月/日:
>>> a = int('201905018')
>>> nian =int(a/100000)
>>> print(nian)
2019
>>> print(int(a/1000%100))
5
>>> print(int(a%100))
18
- 切片
正向切片
反向切片
步长
>>>yuanzu = ('小明',18,True,180.5)
>>>print(yuanzu[0:4]) #取到尾,取值方向从左到右,
('小明', 18, True, 180.5)
>>>print(yuanzu[3::-1]) # -1, 改变取值方向, 右到左
(180.5, True, 18, '小明')
>>>print(yuanzu[3::-2]) #-2,-1为步长,即走几步取值,-为方向,走几步取值
(180.5, 18)