Python 中的类型转换是如何工作的?

How type casting works in Python?

我有一个工作面试,面试官问我“如何python决定“a”和“1”中的哪一个可以转换为int类型?”。所以答案是什么? python 如何知道哪个字符串可以转换为整数?它取决于编程语言吗? Java 对此有不同的规则吗?

在python中,我们基本上使用了3种方法。 int()、float() 和 str()。如果您必须将字符串类型转换为整数值,您将使用 int()。 将其视为适当的参数函数。现在如果你尝试传递一些参数,它会寻找严格的参数,如果没有找到,你会得到一个错误。 举个例子。 当你在 python 中传递 int("34") 时,它 returns 34 作为一个整数 但是如果你尝试传递 int("34.12"),它会 return 错误,导致即使从字符串转换后,最终答案是一个浮点数,但是 function/method(in java ) 被设为 return 只有整数值,所以它会 return 你一个错误。 以你的例子为例,在 java 我们可以做一些像... Datatype.parseDatatype(variable) 将字符串转换为数据类型。即- Integer.parseInt(string); 反之亦然,或者转换成你做的字符串...... Datatype.toString(变量); 即- Integer.toString(变量);

希望你得到了你需要的。

要了解 python 如何检查某些内容是否可转换,您必须首先了解不同的数据类型具有不同的数据大小,尽管在 python 的情况下有些是相同的。 当变量来强制转换时,首先测试值的大小,数组或字符串的大小比整数大很多,它是通过帮助 9f 数据大小来验证是什么数据类型。现在,请注意,Python 将任何没有前缀的数字视为整数。 所以在查找大小之后,它会查找指定的前缀,以验证它是 string/array 还是字符(即 'a')。 排除前缀后,现在只需要区分整数和浮点数,显然排除了字符或任何其他使用大于数字数据大小的数据大小的非数字数据类型。 使用下面的代码检查输入是否为字符串,否则 Python 将所有输入视为字符串,因此即使我输入 number/decimal 点,输入也被视为字符串。

def get():
    prompt = 'Give a number or a word.\n'
    x = input(prompt)
    try:
        float(x)
        print('You entered a number.')

    except:
        print('You entered a string.')

所有这些都已经堆栈溢出,所以使用它。 最后要区分整数和浮点数,不仅仅是 python,几乎所有编程语言都使用最大位转换或位操作。由于所有数据都存储在位中,您可以轻松编写编译器来区分整数和浮点数。您需要做的就是检查尾数。如果是整数,它会存储但 null 否则它会给你一些值。