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()等内置函数来进行类型转换。
