Я знаю, что такое сильные и слабые типы. Я также знаю, что Java строго типизирована. теперь я изучаю python, и это язык со строгой типизацией. Но теперь я вижу, что Python «более» строго типизирован, чем Java. пример для иллюстрации
public class StringConcat {
public static void main(String[] args) {
String s="hello ";
s+=4;
System.out.println(s);
}
}
Нет ошибок и печатает привет 4
в питоне
>>> 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.
toString
) (и это относится к+=
, как указал Прашант), но нет другого подобного случая, когда происходит такое преобразование между несвязанными типами. Я бы не назвал Java слабо типизированной из-за этого единственного исключения из правил. - person ajb   schedule 30.08.2013