Как автодополнение работает в коде Visual Studio (Python, tkinter)?Python

Программы на Python
Anonymous
Как автодополнение работает в коде Visual Studio (Python, tkinter)?

Сообщение Anonymous »

Обычно я пишу код на Python в Visual Studio Code и использую tkinter.
Когда я начинаю вводить параметры функции, она иногда предлагает мне их значения,
например вот
Вообще не знаю откуда это:
  • Это из-за tkinter ?
  • Это код Visual Studio?
  • Это Pylance? (Не знаю, что это такое, но я читал "Pylance" в подобных автодополнениях)
Я тоже это заметил, когда хотел создать класс наследование существующего класса с помощью существующей функции:

Код: Выделить всё

from tkinter import *

class MyClass (Label):
def pack_conf
Я нажал на вкладку и появилось следующее:

Код: Выделить всё

# These imports were almost all automatically added :
from collections.abc import Mapping
from tkinter import *
from tkinter import _Anchor, _ScreenUnits
from typing import Any
from typing_extensions import Literal

class MyClass (Label):
def pack_configure(self,
cnf: Mapping[str, Any] | None = ...,
*,
after: Misc = ..., anchor: _Anchor = ...,
before: Misc = ..., expand: int = ...,
fill: Literal['none', 'x', 'y', 'both'] = ...,         # Interesting
side: Literal['left', 'right', 'top', 'bottom'] = ..., # Interesting
ipadx: _ScreenUnits = ..., ipady: _ScreenUnits = ...,
padx: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
pady: _ScreenUnits | tuple[_ScreenUnits, _ScreenUnits] = ...,
in_: Misc = ...,
**kw: Any
) -> None:

return super().pack_configure(cnf, after=after, anchor=anchor, before=before, expand=expand, fill=fill, side=side, ipadx=ipadx, ipady=ipady, padx=padx, pady=pady, in_=in_, **kw)
Здесь я нашел значения, предлагаемые автодополнением (

Код: Выделить всё

['left', 'right', 'top', 'button']
) (см. строки с комментариями #Interesting).
Я хотел бы включить это автодополнение для своих функций. Является ли Literal причиной автодополнения? Если да, то правильно ли это использовать в моих функциях?

Подробнее здесь: https://stackoverflow.com/questions/775 ... on-tkinter

Вернуться в «Python»