Найти - Пользователи
Полная версия: type hinting (PEP 0484) программа все равно работает
Начало » Python для новичков » type hinting (PEP 0484) программа все равно работает
1
psb60984
Python 3.5.1 x64

Я ожидаю, что такое не будет работать

def test(my_int: int) -> str:
    return str(my_int)
if __name__ == '__main__':
    test('my_int')

Однако оно работает
Хочу что бы хотя бы при несовпадении типов формальных и фактических аргументов функции программа крашилась.
Нашел декоратор Это единственный способ?
JOHN_16
а оно и не должно крашится. Это всего лишь подсказка по типам для программистов, IDE, check утилитам и тп.
Питон язык с динамической типизацией, и ломать ее никто не будет.
Например в вашем случае - что если передать в качестве my_int объект, который ведет себя как int ? Что должна сделать программа? Упасть потому что это явно не int, или работать потому что объект реализует все возможности int ? Это так, вопрос на подумать, в сообществе разработчиков ядра Python это даавно решили.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB