I\'ve recently noticed something interesting when looking at Python 3.3 grammar specification:
funcdef: \'def\' NAME parameters [\'->\' test] \':\' suite
def f(x) -> str: return x+4 print(f(45)) # will give the result : 49 # or with other words '-> str' has NO effect to return type: print(f(45).__class__)