Python基本数据类型

Python基本数据类型

Python的基本数据类型有:
Number(数字)String(字符串)bool(布尔类型)List(列表)Tuple(元组)Set(集合)Dictionary(字典)

Python3 的六个标准数据类型中:

  • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);
  • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合);

数字类型包括:整数类型、浮点数类型、布尔类型、复数类型

整数类型:int。其他语言有:int,long,short。

浮点数类型:float。其他语言有:float(单精度),double(双精度)。python的float类型可以表示任意精度。

复数类型:complex。

布尔类型:bool。(表示真和假:True,False)(Python中没有0和1,只有True和False),开头要大写才有用,不然会报错

布尔类型详解

int(True)----->1;int(False)----->0 (所以布尔类型归为数字类型)

bool(1)----->True;bool(0)----->False

注:bool(非零数字,包括负数,小数,不管进制)----->True

bool(“1,2,3”)----->True

bool(“”)----->False(空字符串); [ ]空列表,{ }空字典,(None),都是False

字符串类型详解

‘let’s go’----->报错

'let\'s go'----->let's go(用转义字符\)
""let's go""----->let's go(用双引号或三引号)

‘’'hello

hello

hello’‘’----->hello \nhello \nhello

‘’‘hello \nhello \nhello’‘’----->hello \nhello \nhello(三引号并不能起到转义字符的作用,只是表示多行字符串)

那有没有办法能识别转义字符呢?

print函数

print('''hello \nhello \nhello''')----->hello
                                        hello
                                        hello
#三引号换成单引号也是一样的

问题:print('hello \nhello \nhello')有没有办法把转义字符也一并打印到结果中呢?

  • 方法一:用r' '表示原始字符串

      print(r'hello \nhello \nhello')----->hello \nhello \nhello
      #r''表示原始字符串,不会被转义
    
  • 方法二:用转义字符\再把原来的转义字符\转义掉

    print('hello \\nhello \\nhello')
    

字符串的格式化

字符串的格式化包括:填充、对齐、宽度、精度、千位分隔符、类型、转换符

  • 填充:用{:}表示,用指定的字符在左侧填充
  • 对齐:用{:>}表示,用指定的字符在右侧填充
  • 宽度:用{:d}表示,用指定的字符在左侧填充,如果字符串长度大于指定的宽度,则截取字符串
  • 精度:用{:.2f}表示,用指定的字符在左侧填充,如果字符串长度大于指定的精度,则截取字符串
  • 千位分隔符:用{:,}表示,用逗号作为千位分隔符
  • 类型:用{:b}`表示,用指定的字符在左侧填充,如果字符串长度大于指定的宽度,则截取字符串
  • 转换符:用{:a}表示,用指定的字符在左侧填充,如果字符串长度大于指定的宽度,则截取字符串

type()函数可以返回变量或者值的类型.

type(1)----->int
type(1+1)----->int
(乘法也一样)type(1*1)----->int
type(1.0)----->float
type(1+1.0)----->float
(乘法也一样)type(1*1.0)----->float

但除法有差异:type(2/2)----->float,结果为1.0(牢记) "/"为浮点数除法
           type(2//2)----->int,结果为1         "//"为整数除法
           type(1//2)----->int,结果为0

type("True")----->bool
type(1+2j)----->complex
type("123")----->str

此外还可以用 isinstance()函数来判断

输出的值是bool类型

a = 111 
isinstance(a, int)
输出:True
还可以是 isinstance(a,(int,str,float))
#满足里面的任意一种就会返回True,否则就返回False

isinstance 和 type 的区别在于:

  • type()不会认为子类是一种父类类型。
  • isinstance()会认为子类是一种父类类型。

十进制,二进制,八进制,十六进制

十进制:0,1,2,3,4,5,6,7,8,9----满10进1,也就是到9以后加1,进一位变0,前面加一位变10

二进制:0,1----满2进1,也就是到1后加1,进一位变0,前面加一位,变10

八进制:0,1,2,3,4,5,6,7----满8进1,也就是到7以后加1,进一位变0,前面加一位,变10

十六进制:0,1,2,3,4,5,6,7,8,9,A(10),B(11),C(12),D(13),E(14),F(15)----满16进1,也就是到F后加1,进一位变0,前面加一位,变10

问题:python如何区分不同进制的“10”?

答:(python默认以10进制显示)比如:键入0b11,回车,输出3

十进制:10 ;

二进制:0b10(表示十进制的2),0b11(表示3);

八进制:0o10(表示8),0o11(表示9);

十六进制:0x10(表示16),0x1F(表示31)

python转换数字进制的函数

bin()函数----把其他进制转换为二进制:

bin(10)----->0b1010 ; bin(0o7)----->0b111 ; bin(0xE)----->0b1110

int()函数----把其他进制转换为十进制

oct()函数----把其他进制转换为八进制

hex()函数----把其他进制转换为十六进制

  • 31
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值