数据类型

Python 数据类型有:整型、浮点型、复数、布尔型、字符串、列表、元组、集合、字典。

浮点数计算可能有误差

原因是计算机是用二进制存储数据的,这不是 Python 特有的情况,所有的高级编程语言都会有这种情况。

程序示例:

print(0.1 + 0.2)
n1 = 0.1
n2 = 0.2
print(n1 + n2)

输出:

0.30000000000000004
0.30000000000000004

数据类型转换

函数名 函数值
int(x, [基数]) 将数字或字符串转换为整数,如果 x 为浮点数,则自动截断小数部分
float(x) 将 x 转换为浮点型
bool(x) 转换为布尔类型的 True 或者 False
str(x) 将 x 转换成字符串,适合人阅读

round()

Python 的 round() 函数用于数字的四舍五入,其语法是 round(number, digits),其中 number 是要四舍五入的数字,digits 是可选参数,指定要保留的小数位数。当 digits > 0 时,表示四舍五入到指定的小数位数;当 digits = 0 或省略时,表示四舍五入到最接近的整数。

基本用法

round(number):只保留到最接近的整数。

程序示例:

print(round(10.0 / 3))
print(round(20 / 7))

输出:

3
3

round(number, digits):保留到指定的 digits 位小数。

程序示例:

print(round(10.0 / 3, 2))  # 保留两位小数
print(round(1.2345, 3))  # 保留三位小数

输出:

3.33
1.234

重要注意事项:四舍五入到偶数 (Round Half to Even)

Python 的 round() 函数遵循 “四舍五入到最接近的偶数” 的规则。当出现正好位于两个整数或小数之间(即末尾是 .5)的数字时,它会四舍五入到最接近的偶数。

round(1.5) → 2

(两个小数中的偶数)

round(2.5) → 2

(两个小数中的偶数)

round(3.5) → 4

(两个小数中的偶数)

其他用法示例:

保留负数位小数:当 digits 小于 0 时,会四舍五入到小数点左侧。

程序示例:

print(round(123.456, -1))  # 四舍五入到个位,小数点左侧一位
print(round(123.456, -2))  # 四舍五入到十位,小数点左侧两位

输出:

120.0
100.0

返回的类型:如果 digits 是 0 或被省略,函数会返回一个整数。否则,函数会返回一个浮点数。

程序示例:

print(type(round(3.14159, 2)))
print(type(round(10.0 / 3)))

输出:

<class 'float'>
<class 'int'>

ceil()

float()

isinstance()

isinstance(object, classinfo) 是一个 Python 内置函数,用于判断一个对象 (object) 是否是某个类或其子类的实例,或者是否属于 classinfo 参数指定的类型或元组中的一种类型。它返回 True 或 False,并且会考虑继承关系,这使得它在处理多态和确保数据类型时非常有用。

函数原型:

isinstance(object, classinfo)

object:需要检查的实例对象。

classinfo:一个类型、一个由类型组成的元组,或者一个类。

工作原理:

如果 object 是 classinfo 类型或其子类的实例,则返回 True。
如果 classinfo 是一个元组,则只要 object 是元组中任意一个类型的实例或其子类,就返回 True。

与 type() 的区别:

isinstance() 考虑继承关系,它会将子类视为父类类型的一种。
type() 则不考虑继承关系,只检查对象的精确类型。

程序示例:

# 字符串类型判断
my_string = "Hello"
print(isinstance(my_string, str))  # 输出: True

# 数字类型判断
my_number = 123
print(isinstance(my_number, int))  # 输出: True (因为 123 是 int 的实例)

# 使用元组判断多个类型
another_number = 45.67
print(isinstance(another_number, (str, list, tuple)))  # 输出: False


# 继承的示例
class Animal:
    pass


class Dog(Animal):
    pass


my_dog = Dog()
print(isinstance(my_dog, Dog))  # 输出: True (Dog 的实例)
print(isinstance(my_dog, Animal))  # 输出: True (Dog 是 Animal 的子类)
print(isinstance(my_dog, str))  # 输出: False

输出:

True
True
False
True
True
False

type()

Python 的 type() 函数主要用于获取一个对象的类型。当 type() 函数接受一个对象作为参数时,它会返回该对象的类。例如,要查看变量 a 的类型,可以调用 type(a)。

这是 type() 函数最常用的方式,通过传入一个变量来获取其数据类型。

程序示例:

# 定义一个整数变量
my_int = 10
print(type(my_int))
# 输出:<class 'int'>

# 定义一个字符串变量
my_str = "hello"
print(type(my_str))
# 输出:<class 'str'>

# 定义一个列表变量
my_list = [1, 2, 3]
print(type(my_list))


# 继承的示例
class Animal:
    pass


class Dog(Animal):
    pass


my_dog = Dog()
print(type(my_dog))  # 输出: <class '__main__.Dog'>
posted @ 2025-10-01 22:20  YouKong  阅读(11)  评论(0)    收藏  举报