我熟悉什么是强类型和弱类型。我也知道 Java 是强类型的。 现在我学习python,它是一种强类型语言。但现在我看到 python 比 Java 强类型化。举例说明
public class StringConcat {
public static void main(String[] args) {
String s="hello ";
s+=4;
System.out.println(s);
}
}
没有错误并打印 hello 4
在 python 中
>>> x="hello"
>>> x+=4
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
所以这个例子说明python是强类型的。除非在幕后使用 Java,否则会进行一些操作以将 int 转换为 String 并执行 String concat。
请您参考如下方法:
尽管有您的示例,Java 仍然是强类型的。代码等同于
String s = "hello ";
s = s + 4;
Java会将4转换为字符串,然后进行字符串拼接。这是一种语言功能。
但是,在 Python 中,您不能使用 + 将 4 连接到您的字符串,因为该语言不会随意将其转换为 str 。正如您所指出的,Java 在后台为您完成了这项工作。
