Am 04.07.18 um 17:31 schrieb Steven D'Aprano:
On Wed, 04 Jul 2018 13:48:26 +0100, Bart wrote:

Presumably one type hint applies for the whole scope of the variable,
not just the one assignment.

You know how in C you can write

     int x = 1;  # the type applies for just this one assignment
     x = 2.5;    # perfectly legal, right?


Not sure what point you are trying to make, but your example compiles in C, if you replace the '#' comment sign with '//'. Only it doesn't do what you might think: the 2.5 is down-converted to an integer, therefore x will be 2 in the end. There will be a compiler warning but no error.


=====================================
Apfelkiste:Tests chris$ cat intx.c
#include <stdio.h>
int main() {
        int x=1;
        x=2.5;
        printf("%d\n", x);
        return 0;
}

Apfelkiste:Tests chris$ gcc intx.c -o intx && ./intx
intx.c:4:4: warning: implicit conversion from 'double' to 'int' changes value
      from 2.5 to 2 [-Wliteral-conversion]
        x=2.5;
         ~^~~
1 warning generated.
2



        Christian
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to