欢迎访问宙启技术站
智能推送

Python中Number()函数的使用示例与解析

发布时间:2023-12-27 03:40:19

Number()函数是python中的一个内置函数,用于将给定的参数转换为一个数字。

Number()函数的语法为:

Number(object)

该函数只有一个参数,即要转换的对象。

Number()函数对不同类型的对象有不同的转换规则:

1. 如果参数是字符串类型,且字符串是一个合法的数字类型(包括整数、浮点数、科学计数法等),则返回相应的数字。

2. 如果参数是布尔值类型,即True或False,则分别转换为1和0的整数类型。

3. 如果参数是一个可迭代对象,比如列表或元组,将抛出TypeError的异常。

4. 如果参数是一个字典类型,则将抛出TypeError的异常。

5. 如果参数是一个对象,且对象有__int__()或__float__()方法,则调用相应的方法进行转换。

6. 如果参数是一个对象,且对象有__index__()方法,则调用该方法进行转换。

7. 如果参数不符合以上任何一种情况,则将抛出TypeError的异常。

下面是一些使用Number()函数的示例:

num1 = Number("123")        # 将字符串转换为整数,结果为123
num2 = Number("3.14")       # 将字符串转换为浮点数,结果为3.14
num3 = Number("1e-10")      # 将字符串转换为科学计数法表示的浮点数,结果为0.0000000001

bool1 = Number(True)        # 将布尔值True转换为整数,结果为1
bool2 = Number(False)       # 将布尔值False转换为整数,结果为0

lst = [1, 2, 3]
num4 = Number(lst)          # 抛出TypeError异常,不支持将列表转换为数字

dic = {'a': 1, 'b': 2}
num5 = Number(dic)          # 抛出TypeError异常,不支持将字典转换为数字

class MyClass:
    def __int__(self):
        return 10

obj = MyClass()
num6 = Number(obj)          # 调用对象的__int__()方法进行转换,结果为10

需要注意的是,Number()函数在python 2中是不存在的,只有在python 3中才能使用。在python 2中可以使用int()和float()等内置函数来进行类型转换。