Формат вызова:
print(value, …, sep=’ ‘, end=’\n’, file=sys.stdout, flush=False)
выводит в файл file значение value, добавляя в конце вывода строку end элементы value разделены строкой sep. Если flush=True, тогда после выполнения команды посылается команда очистки буферов ввода/вывода.
value может быть любым объектом python
чаще всего эта функция используется для вывода строковых сообщений.
форматрирование строк для того, чтобы вывести форматированную строку на экран, нужно использовать строку с символами форматирования:
%s — подстановка строки
%d — подстановка целого числа
%f — подстановка числа с плавающей точкой
Подстановочные аргументы передаются в строку форматирования с помощью оператора %, за которым следует кортеж с постановочными аргументами.
str_tmp = "2+3=%4d"%(5) print("2+3=%d"%(5)) >>2+3=5 print(str_tmp) >> 2+3= 5
Формат вызова:
input(prompt=None, /)
Читает строку со стандартного ввода. Символ перевода строки опускается.
Если prompt указан, то он выводится в стандартный вывод без символа перевода строки.
Если пользователь послал сигнал EOF (*nix: Ctrl-D, Windows: Ctrl-Z-Return), вызывает исключение EOFError. На *nix системах используется библиотека readline, если таковая установлена.
Оператор присваивания в Python, как и во многих других языках программирования это =. Поскольку все в Python объекты, операция присваивания копирует ссылку на объект. Это так в случае изменяемых объектов (array, bytearray, list, dict, set), однако для неизменяемых, таких как int, float, complex, str, bytes, tuple, frozenset, bool, происходит создание нового объекта.
В питоне выделяют два циклических выражения: for и while.
While loop Выражение while или цикл «пока» имеет следующий вид:
while "logical expression": suite else: suite
Цикл выполняется, пока logical expression истинно, если условие нарушается, выполняется блок else и осуществляется выход из цикла
Пример:
i=0 while i<10: print(i) i+=2 else: print("I>10")
# Вывод следующий 0 2 4 6 8 I>10
For loop В питоне цикл for используется для прохода всех элементов в последовательности (строка, список, кортеж) или другого итерируемого объекта.
for "target_list" in "expression_list": suite else: suite
expression_list вычисляется один раз; оно должно вернуть итерируемый объект. Suite выполняется каждый раз для каждого элемента из итератора. Каждый элемент итератора в свою очередь присваивается target_list и затем выполняется suite.
Когда элементы итератора исчерпываются (когда последовательность заканчивается или итератор вызывает StopException исключение), выполняется suite из ветки else и цикл завершается.
Если в теле цикла вызывается break, она завершает цикл, без выполнения ветки else. continue в теле цикла пропускает оставшуюся часть кода до новой итерации или до ветки else, если новой итерации нет.
Цикл for присваивает значения переменным из target_list. Это действие переписывает все предыдущие присваивания переменным, включае те, что были сделаны в теле цикла.
for i in range(10): print(i) i = 5 # не нарушает ход выполнения цикла # так как i будет переписана на следующей итерации цикла
имена из target_list не удаляются по завершении цикла, но если итерируемая последовательность пуста, они не будут инициализированы.
функция range() возвращает итератор, с помощью которого можно с эмулировать работу цикла for в паскале. list(range(5))=[1,2,3,4].
Если мы итерируем по mutable объекту и нам нужно удалять или вставлять туда элементы, то цикл вида:
for i in x: if i<0: x.remove(i)
будет выполняться неверно, поскольку при удалении из списка его размер уменьшится, и в позиции, куда указывает итератор, будет стоять следующий элемент. На следующем шаге позиция итератора снова сдвинется, приведя к тому, что один элемент будет пропущен.
То же касается и вставки.
Выход из решения — создать временную копию списка, например с помощью сечения.
for i in x[:]: if i<0: x.remove(i)
Здесь мы итерировать будем копию списка, а удалять элементы из оригинала.