Причины именования в таких легко понятных классах Python, как OS и SYS?

Я заметил, что значительное количество вопросов в SO, связанных с Python, касаются людей, которые портят Sys -класс, класс OS и никакой класс. Например, легко запутанный случай: os.open("something"), open("something") а также sys.open("something"), Я еще не понял причины именования классов, возможно, это просто эволюция.

  1. Я хотел бы услышать why они были созданы с их нынешними именами?
  2. Названия связаны с такими вещами, как наличие FD в классе?
  3. Является ли наименование, потому что некоторые классы требуют специальных привилегий?
  4. Насколько именование является дизайнерским решением?

Если вы не можете ответить на вопрос, не стесняйтесь предложить несколько хороших мнемоник для запоминания классов и их дифференциации.

2 ответа

Решение

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

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

sys Модуль предназначен для системных вещей. sys.open() не существует.

Простая путаница заключается в случае: os.open("что-то"), open("что-то") и sys.open ("что-то").

"Мнемоника" - это документация, доступная онлайн или загруженная на вашу рабочую станцию.

"Мнемоника" - это легко. Используйте тот, который соответствует вашим требованиям.

почему они были созданы с их нынешними именами

Чтобы не загромождать язык в отдельных библиотеках.

Названия связаны с такими вещами, как наличие FD в классе?

Наверное. FD - это функция ОС, а не функция языка. Вот почему они находятся в отдельной библиотеке.

Является ли наименование, потому что некоторые классы требуют специальных привилегий?

Не за что.

Насколько именование является дизайнерским решением?

Чтобы не загромождать язык в отдельных библиотеках.

Другие вопросы по тегам