Skip to content

数据类型

汇总

Python 支持多种数据类型,主要包括:

  • 整数(int):用于表示整数值,例如 10-542_000
  • 浮点数(float):用于表示带小数点的数值,例如 3.14-3.143.14e+23.14e23.14E+23.14E21e-31E-3
  • 字符串(str):用于表示文本数据,例如 "Hello, World!"'Hello, World!'"""Hello, World!"""'''Hello, World!'''
  • 布尔值(bool):用于表示真(True)和假(False)。
  • 列表(list):用于存储有序的元素集合,例如 [1, 2, 3]
  • 元组(tuple):类似于列表,但不可变,例如 (1, 2, 3)
  • 字典(dict):用于存储键值对,例如 {"name": "Alice", "age": 30}
  • 集合(set):用于存储唯一元素的无序集合,例如 {1, 2, 3}

整数

py
print(-12)        # -12
print(0)          # 0
print(12)         # 12
print(12_000)     # 12000
print(12_000_000) # 12000000

浮点数

py
print(3.14)       # 3.14
print(-3.14)      # -3.14
print(3.14e+2)    # 314.0
print(3.14e2)     # 314.0
print(3.14E+2)    # 314.0
print(3.14E2)     # 314.0
print(1e-3)       # 0.001
print(1E-3)       # 0.001

字符串

py
print("Hello, World!")      # Hello, World!
print('Hello, World!')      # Hello, World!
print("""Hello, World!""")  # Hello, World!
print('''Hello, World!''')  # Hello, World!

msg1 = ('Hello'
       ', World!')
print(msg1) # Hello, World!

msg2 = '''Hello,
World!'''
print(msg2) # Hello\n,World!

布尔值

py
print(True)   # True
print(False)  # False

格式化输出

占位符精准控制
  • m.ns:string(字符串)
    • m
      1. 字符串的最小宽度,位数不够会自动使用空格补全,位数小于字符串长度则不起作用
      2. 正数是右对齐,负数是左对齐
    • n
      1. 精度控制,最多输出n个字符(若n大于实际字符串长度,则不起作用)
  • m.nd:decimal(十进制整数)
    • m
      1. 最小宽度,位数不够会使用空格补全,位数小于整数位数,则自动失效
      2. 正数是右对齐,负数是左对齐
    • n
      1. 精度控制,含义:最少用n位显示数字
      2. 位数不够用0来补,位数小于整数位,则自动失效
  • m.nf:floating point(浮点数)
    • m
      1. 控制整体宽度(整体宽度 =整数宽度+小数点+小数宽度)
      2. 位数不够空格来补,位数小于整体宽度,则自动失效
      3. 正数是右对齐,负数是左对齐
    • n
      1. 精度控制,保留n位小数(n的默认值为6),不够0来补,截断时会四舍五入
py
name = "Alice"
age = 30

# f-string(推荐)
print(f"My name is {name}, and I am {age} years old.")
print(f"My name is {name:10s}, and I am {age:03d} years old.")

# 补充
print("My name is %s, and I am %d years old." % (name, age))
print("My name is %.10s, and I am %03d years old." % (name, age))

print("My name is {}, and I am {} years old.".format(name, age))
print("My name is {:10s}, and I am {:03d} years old.".format(name, age))

判断数据类型

py
print(type('Hello'))    # str
print(type(42))         # int
print(type(3.14))       # float
print(type(True))       # bool
print(type([1, 2, 3]))  # list
print(type((1, 2, 3)))  # tuple
print(type({'a': 1}))   # dict
print(type({1, 2, 3}))  # set


print(isinstance('Hello', str))      # True
print(isinstance(42, int))           # True
print(isinstance(3.14, float))       # True
print(isinstance(True, bool))        # True
print(isinstance([1, 2, 3], list))   # True
print(isinstance((1, 2, 3), tuple))  # True
print(isinstance({'a': 1}, dict))    # True
print(isinstance({1, 2, 3}, set))    # True

类型转换

py
# 转换为字符串
str_num = str(42)          # '42'
str_float = str(3.14)      # '3.14'

# 转换为整数
int_str = int('42')        # 42
int_float = int(3.99)      # 3

# 转换为浮点数
float_str = float('3.14')  # 3.14
float_int = float(42)      # 42.0

基于 MIT 许可发布