数据类型

数据类型的判断

  • Number => int float complex bool
    容器 => str list tuple set dict

判断类型

isinstance(数据,类型) => 如果是这个类型返回True , 否则返回False
lst = [1,2,3]
res = isinstance(lst,list)
print(res)  # 假如把lst换成int,则输出错误

tup = 1,    # 若不加逗号,则是什么数据就是什么类型  ,才是区分是否是元素标识符
print(isinstance(tup,tuple))
isinstance(数据,(类型1,类型2,类型3… ) ) => 如果有一个类型符合括号里面的条件即为真,反之为假
res = isinstance("abc" , (str , list ,tuple) )
res = isinstance("abc" , (set , list ,tuple) )
print(res)

数字类型

int

intvar = 100          #var变量的意思  intvar就是整型变量
print(intvar)
type 获取一个值的类型
res = type( intvar )
print(res)   #打印出<class 'int'>   class代表一个类型 叫做int的一个类型
id 获取一个值的地址
res = id(intvar)
print(res)   #每次运行出来的数字不一样,这是内存的一套机制
用二进制表示整型
intvar = 0b101        #101=5  111=7...
print( intvar , type( intvar )  , id(intvar) )
用八进制表示整型
intvar = 0o10         #0~7  7+1 = 0o10
print(  intvar  ,  type(  intvar  )   ,  id(intvar) )
用十六进制表示整型
intvar = 0xff  #0xf => 二进制 0000 1111
print(  intvar  ,  type(  intvar  )   ,  id(intvar) )

float 浮点型

取值范围和小数精度都存在限制,但常规计算可忽略
取值范围数量级约-10308~10308
浮点数间运算存在不确定尾数,不是bug,不确定尾数一般发生在10^-16左右,round()十分有效
round(x,d) : 对x四舍五入,d是小数截取位数
floatvar = 3.15
print(floatvar , type(floatvar) )
表示方法2 (科学计数法)
floatvar = 6.7e3    # 小数点向后移动3位,得到一个小数,需要在数值最后带上小数点.0
floatvar = 9e-2     # 小数点向左移动2位
print(floatvar , type(floatvar))

4.3e-3  ->> 0.0043 
9.6E5   ->> 960000.0

bool 布尔型

boolvar = False        # False 代表假
boolvar = True         # True  代表真
print( boolvar , type(boolvar) )

complex 复数类型

结构: 实数+虚数
3+4j 3: 代表实数 4j: 代表虚数
什么是j?
如果有一个数,它的平方等于-1,那么这个数就是j, 科学家认为有,表达一个高精度类型;
1.
complexvar = 3+4j
complexvar = 5-90j
complexvar = 5j
print( complexvar  , type(complexvar) )

2.
complex(实数,虚数)
res = complex(3,4)
res = complex(5,-90)
res = complex(0,5)
print(res)
转义字符
\ + 字符 => 语法
可以把有意义的字符变得无意义
可以把无意义的字符变得有意义
\n : 换行
\r\n : 换行
\t : 缩进 (水平制表符)
\r : 把\r后面的字符串直接拉到当前行行首

元字符串 r “字符串” 不转义字符原型化输出

path = r"E:\python35\nat"
print(path)

格式化字符串

%d 整型占位符
%d 整型占位符
strvar = "卢婷婷买了%d个lv的包包" % (5)
print(strvar)
%2d 占2位,不够两位拿空格补位,原字符串居右;
strvar = "卢婷婷买了%2d个lv的包包" % (5)
print(strvar)
%-2d 占2位,不够两位拿空格补位,原字符串居左;
strvar = "卢婷婷买了%-2d个lv的包包" % (5)
print(strvar)
%f 浮点型占位符
%f 浮点型占位符 小数位默认保留6位小数
strvar = "卢婷婷买lv的包包,花了%f元" % (5)
print(strvar)
%.2f 浮点型占位符 小数位默认保留2位小数 [四舍五入]
strvar = "卢婷婷买lv的包包,花了%.2f元" % (5.5678)
print(strvar)
%s 字符串占位符
strvar = "%s" % ("今天天气很热")
print(strvar)
综合案例
strvar = "卢婷婷买%d个lv的包包,花了%.2f元,心情%s" % (5,100000.6789,"非常爽,反正不是自己的钱")
print(strvar)