Явное объявление типа переменной в Python

Я использую pyscripter для кодирования, он поддерживает автозаполнение. Итак, когда я говорю:

a = []
a.

Он дает мне все функции списка. аналогично строкам я делаю b=''.

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

Есть ли способ явно объявить тип переменной в Python, так что моя IDE может быть более полезной?

Ответ 1

если вы хотите, чтобы методы вызывались на тип... вы всегда можете использовать dir (var) в консоли python...

Ответ 2

У Python нет объявлений типа. Python 3 представляет что-то, называемое аннотации функций, которые Guido иногда называют "вещью, которая не является декларацией типа", потому что наиболее очевидное использование он будет предоставлять информацию о типе как подсказку.

Как отмечали другие, различные IDE выполняют лучшую или худшую работу при автозаполнении.

Ответ 4

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

explicite_number: type

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

def function(explicite_number: type) -> type

Этот пример из этого поста: Как использовать статическую проверку типов в 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}!")

Вы можете найти всю информацию в официальной документации для набора текста на python: typing - Поддержка подсказок типов

Ответ 5

Начиная с Python 3, вы можете явно объявлять переменные по типу:

x: int = 3

или:

def f(x: int):
    return x