Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
subjects:programming:python:start [2021/12/27 15:37] ¶ [Модуль os] |
subjects:programming:python:start [2023/12/16 17:41] (текущий) ¶ [Ввод/вывод] |
||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | ====== Python ====== | + | ====== Python 3 ====== |
| FIXME | FIXME | ||
| + | ===== Философия ===== | ||
| + | * Явное лучше неявного. | ||
| + | |||
| + | Полный текст философии **Python** доступен по команде: | ||
| + | <code python>import this</code> | ||
| + | |||
| + | В отличие от девиза **Perl** ((Принцип //**T**here **i**s **M**ore **T**han **O**ne **W**ay **T**o **D**o **I**t// (//**TiMTOWTDI**, pronounced Tim Toady//) --- всегда есть больше одного способа сделать это --- девиз языка **Perl**.)), **Python** придерживается философии «//должен существовать один --- и, желательно, только один --- очевидный способ сделать это//». | ||
| ===== Основы синтаксиса ===== | ===== Основы синтаксиса ===== | ||
| - | Эквивалент null в Python: None | + | Эквивалент ''null'' в Python: ''None'' |
| Проверка: | Проверка: | ||
| <code python> | <code python> | ||
| + | null_variable = None | ||
| if null_variable is None: | if null_variable is None: | ||
| <действия> | <действия> | ||
| Строка 124: | Строка 132: | ||
| * ''input()'' --- ввод, считывает одну строку целиком. | * ''input()'' --- ввод, считывает одну строку целиком. | ||
| * ''print()'' --- вывод, с переводом строки | * ''print()'' --- вывод, с переводом строки | ||
| - | * ''%%print(<строка>, end='')%%'' --- вывод, БЕЗ перевода строки | + | * ''%%print(<строка>, sep=';', end='')%%'' --- вывод, С заменой разделителя на "'';''" и БЕЗ перевода строки |
| <code python> | <code python> | ||
| n = input('input text') | n = input('input text') | ||
| Строка 130: | Строка 138: | ||
| </code> | </code> | ||
| + | === Файл === | ||
| + | ''open(name [,mode [,bufsize [, encoding [, errors [, newline [, closefd]]]]]])'' | ||
| + | * ''encoding'' --- имя кодировки символов, например: ‘utf-8’ или ‘ascii’ | ||
| + | * ''errors'' --- политика обработки ошибок, связанных с кодировкой символов | ||
| + | * ''newline'' --- порядок работы в режиме поддержки универсального символа перевода строки и может принимать значения: **None**, ‘’, ‘\n’, ‘\r’ или ‘\r\n’ | ||
| + | * значение **None** --- любые символы окончания строки, такие как ‘\n’, ‘\r’ или ‘\r\n’, преобразуются в ‘\n’ | ||
| + | * значение %%‘’%% (пустая строка) --- любые символы окончания строки распознаются, как символы перевода строки, но в исходном тексте остаются в первоначальном виде | ||
| + | * Если аргумент ''newline'' имеет любое другое допустимое значение, оно будет использоваться для преобразования символов окончания строки | ||
| + | * Аргумент ''closefd'' определяет, должен ли в действительности закрываться дескриптор файла при вызове метода ''close()''. По умолчанию имеет значение **True**. | ||
| + | |||
| + | ^ ''mode'' ^ Действие: ^ | ||
| + | ^‘+’|открытие на **чтение** и **запись**| | ||
| + | ^‘r’|открытие на **чтение** (**по умолчанию**)| | ||
| + | ^ Виды записи: || | ||
| + | ^‘w’|открытие на **запись**, содержимое файла **удаляется**,\\ если файла не существует, создается **новый**| | ||
| + | ^‘x’|открытие на **запись**,\\ если файла не существует, иначе **исключение**| | ||
| + | ^‘a’|открытие на до**запись**, информация **добавляется** в конец файла| | ||
| + | ^ Содержимое: || | ||
| + | ^‘b’|открытие **в двоичном** режиме| | ||
| + | ^‘t’|открытие **в текстовом** режиме (**по умолчанию**)| | ||
| + | |||
| + | :!: После окончания работы с файлом его **обязательно нужно закрыть** с помощью метода ''close()''. | ||
| + | |||
| + | == Чтение из файла == | ||
| + | <code python> | ||
| + | f = open('text.txt', 'rt') | ||
| + | for line in f: | ||
| + | print(line) | ||
| + | f.close() | ||
| + | |||
| + | # 'Hello world!\n' | ||
| + | # '\n' | ||
| + | # 'The end.\n' | ||
| + | # '\n' | ||
| + | </code> | ||
| + | |||
| + | == Запись в файл == | ||
| + | <code python> | ||
| + | l = ['aa', 'bb', 'c\nc', 'd\td'] | ||
| + | f = open('text.txt', 'wt') | ||
| + | for i in l: | ||
| + | f.write(i + '\n') | ||
| + | f.close() | ||
| + | </code> | ||
| + | |||
| + | == with … as … == | ||
| + | Для чего применяется конструкция with ... as? Для гарантии того, что критические функции выполнятся в любом случае. | ||
| + | |||
| + | <code python> | ||
| + | with open('newfile.txt', 'w', encoding='utf-8') as g: | ||
| + | d = int(input()) | ||
| + | print('1 / {} = {} '.format(d, 1 / d), file=g) | ||
| + | </code> | ||
| + | |||
| + | <code python> | ||
| + | with open('newfile.txt', 'rt', encoding='utf-8') as fd: | ||
| + | for line in fd: # Перебор строк | ||
| + | print(line.strip()) # Убираем пробельные символы и переводы строк в начале и конце | ||
| + | </code> | ||
| + | |||
| + | И вы можете быть уверены, что файл будет закрыт вне зависимости от того, что введёт пользователь. | ||
| ==== Условия ==== | ==== Условия ==== | ||
| === if === | === if === | ||
| Строка 177: | Строка 246: | ||
| Цикл от 1 до 6 с шагом 2, с использованием ''range()'': | Цикл от 1 до 6 с шагом 2, с использованием ''range()'': | ||
| <code python> | <code python> | ||
| - | for i in range(1,6,2): | + | for i in range(1, 6, 2): |
| print(i, end=''); | print(i, end=''); | ||
| ## 135 | ## 135 | ||
| Строка 204: | Строка 273: | ||
| Модуль ''math'' для вычислений. | Модуль ''math'' для вычислений. | ||
| - | Функции (''int, round, abs'') являются стандартными и не требуют подключения модуля ''math'' для использования. | + | Функции (''int, round, abs, pow, divmod'') являются стандартными и не требуют подключения модуля ''math'' для использования. |
| * **Округление** | * **Округление** | ||
| Строка 211: | Строка 280: | ||
| * **Корни, логарифмы** | * **Корни, логарифмы** | ||
| * ''sqrt(x)'' --- Квадратный корень. Использование: sqrt(x) | * ''sqrt(x)'' --- Квадратный корень. Использование: sqrt(x) | ||
| - | * ''log(x)'' --- Натуральный логарифм. При вызове в виде log(x, b) возвращает логарифм по основанию b. | + | * ''log(x)'' --- //**Натуральный**// логарифм. |
| + | * ''log(x, b)'' --- Логарифм по основанию **b**. | ||
| * ''e'' --- Основание натуральных логарифмов e = 2,71828... | * ''e'' --- Основание натуральных логарифмов e = 2,71828... | ||
| * **Тригонометрия** | * **Тригонометрия** | ||
| Строка 251: | Строка 321: | ||
| ===== Полезные ресурсы ===== | ===== Полезные ресурсы ===== | ||
| - | * Интерактивный учебник языка Python (//без регистрации//): __pythontutor.ru/lessons/dicts/__ | + | * Учебник: |
| + | * A Byte of Python: __python.swaroopch.com__ | ||
| + | * Укус Питона: __wombat.org.ua/AByteOfPython__ | ||
| + | * Справочник: | ||
| + | * __pythonworld.ru/samouchitel-python__ | ||
| + | * Интерактивный учебник языка Python (//без регистрации//): __pythontutor.ru/lessons/while/problems/std_dev/__ | ||
| + | * Ответы: __pyanswer.site/zadacha-standartnoe-otklonenie/__ | ||
| + | * Online Python: __www.onlinegdb.com/online_python_compiler__ | ||
| + | |||
| + | ==== Игровое обучение ==== | ||
| + | * CodeCombat __codecombat.com/play__ | ||
| + | * CodinGame __www.codingame.com__ | ||
| + | * Check iO __checkio.org__ | ||
Записаться на занятия к репетитору