Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия Последняя версия Следующая версия справа и слева | ||
subjects:programming:python:start [2021/12/27 19:10] ¶ [Полезные ресурсы] |
subjects:programming:python:start [2022/11/29 18:27] ¶ [Полезные ресурсы] |
||
---|---|---|---|
Строка 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> | ||
+ | |||
+ | И вы можете быть уверены, что файл будет закрыт вне зависимости от того, что введёт пользователь. | ||
==== Условия ==== | ==== Условия ==== | ||
=== if === | === if === | ||
Строка 177: | Строка 240: | ||
Цикл от 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 | ||
Строка 252: | Строка 315: | ||
===== Полезные ресурсы ===== | ===== Полезные ресурсы ===== | ||
- | * Интерактивный учебник языка Python (//без регистрации//): __pythontutor.ru/lessons/dicts/__ | + | * Учебник: |
- | * A Byte of Python: __python.swaroopch.com__ | + | * A Byte of Python: __python.swaroopch.com__ |
* Укус Питона: __wombat.org.ua/AByteOfPython__ | * Укус Питона: __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__ | ||