Как объявить тип переменной, стиль C в python

Я студент по программированию, и мой учитель начинает с C, чтобы научить нас парадигмам программирования, он сказал, что это нормально, если я доставляю свою домашнюю работу на python (это проще и быстрее для домашних заданий). И я хотел бы, чтобы мой код был как можно ближе к обычным C. Вопрос: Как объявить типы данных для переменных в python, как в C. ex:

int X,Y,Z;

Я знаю, что могу сделать это в python

x = 0
y = 0
z = 0

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

Ответ 1

Невозможно объявить переменные в Python, поскольку не существует ни "декларации", ни "переменных" в смысле С. Это будет привязать три названия к одному и тому же объекту:

x = y = z = 0

Ответ 2

Начиная с Python 3.6, вы можете объявлять типы переменных и функций, например:

explicit_number: type

или для функции

def function(explicit_number: type) -> type:
    pass

Этот пример из этого поста: Как использовать проверку статического типа в Python 3.6 является более явным

from typing import Dict

def get_first_name(full_name: str) -> str:
    return full_name.split(" ")[0]

fallback_name: Dict[str, str] = {
    "first_name": "UserFirstName",
    "last_name": "UserLastName"
}

raw_name: str = input("Please enter your name: ")
first_name: str = get_first_name(raw_name)

# If the user didn't type anything in, use the fallback name
if not first_name:
    first_name = get_first_name(fallback_name)

print(f"Hi, {first_name}!")

См. документы для модуля typing.

Ответ 3

Python не обязательно проще/быстрее, чем C, хотя он возможно, что он проще;)

Чтобы прояснить другое сделанное вами выражение, "вам не нужно объявлять тип данных" - его следует повторить, чтобы вы не могли объявить тип данных. Когда вы присваиваете значение переменной, тип значения становится типом переменной. Это тонкая разница, но тем не менее.

Ответ 4

Я удивлен, что никто не указал, что вы на самом деле можете это сделать:

decimalTwenty = float(20)

Во многих случаях бессмысленно вводить переменную, поскольку ее можно перепечатать в любое время. Однако в приведенном выше примере это может быть полезно. Существуют и другие функции типа, такие как: int(), long(), float() и complex()

Ответ 5

Все в Python является объектом и включает в себя классы, экземпляры классов, функции кода, библиотеки функций, называемые модулями, а также значения данных, такие как целые числа, числа с плавающей запятой, строки или контейнеры, такие как списки и словари. Он даже включает пространства имен, которые представляют собой словарные (или картографические) контейнеры, которые используются для отслеживания связей между именами идентификаторов (объекты символьной строки) и объектами, которые в настоящее время существуют. Объект может даже иметь несколько имен, если два или более идентификатора становятся связанными с одним и тем же объектом.

Связывание идентификатора с объектом называется "привязка имени к объекту". Это самое близкое к объявлению переменной в Python. Имена могут быть связаны с разными объектами в разное время, поэтому нет смысла объявлять, к какому типу данных вы присоедините его - вы просто это сделаете. Часто это делается в одной строке или блоке кода, который указывает как имя, так и определение значения объекта, вызывающего его создание, например <variable> = 0 или функцию, начинающуюся с def <funcname>.

Как это помогает.

Ответ 6

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

Свободные типы просто смещают сложность с "дизайн/взломать" время для запуска.