Можно ли использовать список с тем же именем, что и строка?
Код отрабатывает без ошибок, просто хочу уточнить. На вход поступает строка из чисел, разделенных пробелами.
numbers = input()
numbers = numbers.split()
print(numbers)
Ответы (2 шт):
Питон - язык без строгой типизации, поэтому в одной и той же переменной можно держать по очереди всё, что угодно - строку, число, список и даже ссылку на функцию, например.
Но нужно помнить, что такой подход сильно затрудняет чтение кода, поэтому обычно для разных сущностей программистами используются разные переменные и, желательно, "с говорящими названиями".
В конкретно вашем случае более понятно для читающего код было бы назвать результат input-а например input_numbers либо numbers_string, чтобы было понятно, что это не список чисел, как в numbers, а строка - результат пользовательского ввода.
И ещё. Беспокоиться, что лишние переменные захламляют память программы, обычно не нужно. Если вы пишете код в виде функций, то при выходе из функции локальные переменные перестают быть действующими, и если памяти программе вдруг будет не хватать в какой-то момент, то сработает сборщик мусора и вернёт память, использовавшуюся этими переменными, в общий доступ.
Можно, в python нету жесткой типизации, одну перемену переменную можно переназначить на совсем другое, к примеру с int на str, или даже list на dict.
a = 15
print(a)
a = 'Hello wrold'
print(a)
a = ["1",1,1.1]
print(a)
a = {1:"yes"}
print(a)
Главное чтобы не путались в названиях переменных и их содержимым :)