Настройка GitHub в PyCharm

  1. Заходим в File-Settings-Version Control-GitHub
  2. Кликаем Create API Token, вводим логин и пароль с GitHub’a
  3. Заходим VCS-Enable Version Control Systems. Если не всплывает ошибка, то переходим к п. 4, иначе см. примечание.
  4. Выбираем Git.
  5. Выбираем VCS-Import into Version Control-Share Project on GitHub.
  6. После этого всплывет окно, где нужно указать имя для папки, потом выбираете файлы для отправки и готово.

Но у меня возникли проблемы на этапе 3. Всплыла ошибка: Errors while executing git —version. exitCode=-1073741792 errors

После тырканий всплыла еще одна:

В общем если у вас что-то подобное, то нужно установить или переустановить программу Git. Скачиваем ее отсюда: https://git-scm.com/

Ставим. Везде, где был выбор, все оставил по умолчанию. И готово!

Возможно ваш PyCharm еще не тот путь видит на файл Git. Чтобы это исправить, заходим File-Settings-Version Control-Git и исправляем там путь. У меня это: C:\Program Files\Git\cmd\git.exe

Перегрузка операторов

Перегруженный оператор — это метод со специальными именами, где за ключевым словом operator следует символ переопределяемого оператора.

Благодаря этому перегруженному оператору мы суммируем сразу 2 параметра. Перегруженный оператор должен быть static.

Перегружены могут быть все арифметические операторы и операторы сравнения. При перегрузке оператора >, оператор < должен быть тоже перегружен (тип будет bool: public static bool operator>).

Запуск сторонних приложений

Работа с путями (os, os.path), проверка существования каталога перед созданием, запуск сторонней программы с аргументами:

Формирование списка файлов, содержащих запрос

Очередная тренировка работы с кодировками, поиском слов. И немного про пути к файлам (os, os.path), есть пример использования исключений (try, except).

 

Классы: индексаторы

Объявление индексатора похоже на объявление свойства класса, разница лишь в том, что для индексатора нужен индекс. Как и в свойствах можно использовать элементы get и set. Однако, где свойства возвращают или устанавливают определенный элемент данных, индексаторы возвращают или устанавливают определенное значение объекта. Индексаторы определяются ключевым словом this.

Теперь, когда мы объявили объект Clients, мы используем индекс для обращения к определенным объектам, типа элементов массива:

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

readonly vs const

Модификатор readonly защищает элементы класса от модификации после построения. Поле с readonly может быть модифицировано только при создании объекта класса или внутри конструктора.

3 отличия:

  1. Константа должна быть инициализирована при объявлении
  2. Readonly может быть модифицировано в конструкторе
  3. Readonly может быть присвоено значение, являющееся результатом вычислений

Static

Если переменная в классе статическая, то к ней из вне можно обратиться через имя класса:

ClassName.variable

Чтобы всегда можно было обратиться из вне, функция Main всегда статична. Константы тоже всегда статичны, там можно даже не указывать static.

Классы: деструкторы

Когда программа запускается, то сначала создается объект, выполняется конструктор. В конце программы конструктор удаляется, а деструктор вызывается.

Работа со строками в C#