Можно ли использовать список с тем же именем, что и строка?

Код отрабатывает без ошибок, просто хочу уточнить. На вход поступает строка из чисел, разделенных пробелами.

numbers = input()
numbers = numbers.split()
print(numbers)

Ответы (2 шт):

Автор решения: CrazyElf

Питон - язык без строгой типизации, поэтому в одной и той же переменной можно держать по очереди всё, что угодно - строку, число, список и даже ссылку на функцию, например.

Но нужно помнить, что такой подход сильно затрудняет чтение кода, поэтому обычно для разных сущностей программистами используются разные переменные и, желательно, "с говорящими названиями".

В конкретно вашем случае более понятно для читающего код было бы назвать результат input-а например input_numbers либо numbers_string, чтобы было понятно, что это не список чисел, как в numbers, а строка - результат пользовательского ввода.

И ещё. Беспокоиться, что лишние переменные захламляют память программы, обычно не нужно. Если вы пишете код в виде функций, то при выходе из функции локальные переменные перестают быть действующими, и если памяти программе вдруг будет не хватать в какой-то момент, то сработает сборщик мусора и вернёт память, использовавшуюся этими переменными, в общий доступ.

→ Ссылка
Автор решения: Yachoy

Можно, в 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)

Главное чтобы не путались в названиях переменных и их содержимым :)

→ Ссылка