整数类型:integer,简写为int,可以表示正数,负数和零

整数的不同进制表示方式

  • 十进制---Python默认的进制
  • 二进制---以0b开头(计算机默认的进制)
  • 八进制---以0o开头
  • 十六进制---以0x开头

计算机进制

print('十进制', 118)  # python默认进制,范围0-9
print('二进制', 0b10101111)  # 计算机默认进制,范围0和1
print('八进制', 0o166)  # 范围0-7
print('十六进制', 0xed76)  # 范围0-9和a-f
# 这样的输出形式都会输出为十进制,可用程序员计算机计算是否相符

运行结果:

  • 十进制 118
  • 二进制 175
  • 八进制 118
  • 十六进制 60790

逢几进一和借一当几的理解:

1.逢几进一

十进制当一位数为9时再加1就成了10了,二进制一个意思当一位数为1时再加1就成10了,这就是逢二进一,就是说在二进制中不允许出现2这个数字,当要出现时就进一位

2.借一当几

十进制当中,10减去1就等于9了,二进制中10减去1也就成01了,这个和上面的正好相反的操作

print(0b101011 + 1)  # 二进制:0b101011+1=0b101100 逢二进一
print(0b101010 - 1)  # 二进制:0b101010-1=0b101001 借一当二
print(0o167 + 1)  # 八进制:0o167+1=0o170 逢八进一
print(0o160 - 1)  # 八进制:0o160-1=0o157 借一当八
print(0xed6f + 1)  # 十六进制:0xed6f+1=0xed70 逢十六进一
print(0xed60 - 1)  # 十六进制:0xed60-1=0xed5f 借一当十六

运行结果:

  • 44
  • 41
  • 120
  • 111
  • 60784
  • 60767

更多结果可自行测试并用程序员计算器对照结果

浮点数类型:float,由整数部分和小数部分组成,也就是带小数点的数字

浮点数计算的时候,小数位可能会不精确,这是因为计算机是二进制计算的原因,需要导入模块进行计算(补充:不需要进行运算直接打印的浮点数不会出现不精确的情况)

print(1.1 + 2.2)  # 测试来看,计算结果小数部分有3就会出现不精确的情况
print(1.1 + 2.1)

运行结果:

  • 3.3000000000000003
  • 3.2

导入模块decimal来计算,就可以解决这个问题

from decimal import Decimal  # 调用模块的表达式

a = Decimal('1.1') + Decimal('2.2')  # 这里用赋值是为了方便查看输出结果的数据类型
print(a + 1, type(a))  # 输出的数据类型虽然不是整数和浮点数类型,但允许进行加减乘除的运算

运行结果:

  • 4.3 <class 'decimal.Decimal'>

(未理解,后期跟进)

布尔类型:Boolean,简写为bool,用来表示真或假的值,True表示真,False表示假(布尔值必须首字母为大写,不然不生效)

布尔值可以转化为整数或者浮点数:

  • True = 1
  • False = 0
a = True
b = False
print(a + 1)
print(b + 1)
print(float(a))
print(float(b))

运行结果:

  • 2
  • 1
  • 1.0
  • 0.0

字符串类型:string,简写为str,又被称为不可变的字符序列(未理解,后期跟进)

可以使用单引号 '' 双引号 "" 三引号 ''' '''""" """ 包裹字符来定义(例:'这是一个字符串')

单引号和双引号定义的字符串必须是一行,换行需要用到转义符 \n

三引号定义的字符串可以自由的用回车键来多行输出

print('11112222')
print('1111\n2222')
print("11112222")
print('''1111
2222''')
print("""11112222""")

运行结果:

  • 11112222
  • 1111
    2222
  • 11112222
  • 1111
    2222
  • 11112222

字符串除了可以用 + 加号拼接,还可以用 * 乘号乘以整数来实现多次重复输出

q1 = 'ooo'
q2 = 'ppp'
print(q1 * 3 + q2)

运行结果:

  • oooooooooppp
最后修改:2021 年 06 月 21 日 02 : 29 PM