«Автозаполнение и IntelliSense» предоставлено Python Сервером. В vscode в основном вы можете выбрать «Джедай» или «Microsoft», и они имеют разные действия. Честно говоря, оба они недостаточно хороши, если вы воспользуетесь Pycharm, вы не столкнетесь с этой проблемой.
In 'Jedi':
'import pygame', 'import pygame.display', 'from pygame import *': display будет рассматриваться как значение, поэтому они не работают.
'from pygame import display', 'from pygame import display as display': display будет рассматриваться как переменная, поэтому они не работают.
'import pygame.display as display': display будет рассматриваться как модуль, поэтому он работает.
'import pygame', 'import pygame.camera', 'import pygame.camera as camera', 'from pygame import camera', 'from pygame import camera as camera': камера будет рассматриваться как модуль, поэтому она работает.
'from pygame import *': это не работает, потому что не удается найти модуль 'pygame' или 'camera'.
Почему это произошло? Это связано с тем, что модуль display был предоставлен через файл display.cp38-win32.pyd, это файл .pyd. И «камера» была предоставлена через файл «camera.py», это файл python.
В 'Microsoft':
'import pygame': display будет рассматриваться как значение, поэтому он не работает.
'import pygame.display', 'import pygame.display as display', 'from pygame import display', 'from pygame import display as display', 'from pygame import *': отображение будет рассматриваться как модуль, поэтому они работают.
'import pygame', 'from pygame import *': не удается найти модуль камеры, поэтому они не работают. 'import pygame.camera', 'import pygame.camera as camera', 'from pygame import camera', 'from pygame import camera as camera': можно найти модуль камеры, чтобы они работали.
Почему это произошло? вы можете обратиться к
https://docs.python.org/zh-cn/3/tutorial/modules.html#importing -from-a-package, чтобы узнать, почему 'from pygame import *' работает разница между дисплеем и камерой.