Глава #2.1 Сохранение значений выражений в переменных.
Этот раздел получился несколько больше, чем я рассчитывал, поэтому было решено вынести его в отдельную главу.
После вычисления выражения, вы можете сохранить полученное значение в переменной, чтобы использовать его в дальнейшем.
Переменная — поименованный участок памяти компьютера, который может содержать некоторое значение. Но такое определение, думаю, не очень понятно. Особенно если вы только делаете первые шаги в программировании. Для меня намного проще представлять переменную в виде ящика. То что вы напишете на ящике — будет именем переменной. А то, что вы в него положите — её значением:
Рисунок 2-5. Образное представление переменной
На рисунке 2-5 именем переменной будет spam, а значением — число 15. Каждая переменная в программе должна иметь уникальный идентификатор — имя — по которому Python будет отыскивать нужное значение. Создать переменную в Python и присвоить ей значение очень просто. Для этого, в командной строке нужно сначала написать имя будущей переменной (например «spam»), поставить оператор присваивания «=» и указать, какое значение будет хранится в переменной.
Все. Переменная создана. Следует отметить, что команда «spam=15» не является выражением. Это объявление. Поэтому после выполнения этой инструкции компьютер ничего не выводит в командную строку. Он вас понял — создал переменную с указанным именем и внес туда значение 15. Если вам не понятно, какие инструкции являются выражениями, а какие объявлениями, пока исходите из того, что результатом выражения является какое-то одно вычисляемое значение. Любые другие инструкции являются объявлениями.
Переменные сохраняют значения, а не выражения. Если вы попытаетесь присвоить переменной у качестве значения какое-либо выражение, то оно сначала будет вычислено, а потом его результат помещен в переменную.
Когда вы в первый раз объявляете переменную в интерпретаторе Python, он создает её и помещает в неё значение. Чтобы проверить, какое значение хранится в переменной, нужно просто ввести её имя:

Рисунок 2-6. Вывод содержимого переменной.
Выражение «spam» было вычислено интерпретатором Python как число 15 (значение переменной). Эта позволяет производить математические операции с переменными напрямую, подставляя их имена в качестве значений операторов:

Рисунок 2-7. Операция сложения с переменной.
Вы не сможете использовать переменную в выражениях до тех пор, пока не объявите её с помощью оператора «=». Опечатка в имени переменной так же приведет к сообщению об ошибке:

Рисунок 2-8. Сообщение об ошибке в случае опечатки в имени переменной.
Ошибка произошла потому, что в памяти компьютера есть переменная с именем «spam», но нет переменной с именем «psam», о чем компьютер и сообщает.
Присвоение существующей переменной нового значения также выполняется с помощью оператора «=». Взгляните на следующий пример:

Рисунок 2-8. Изменение значения переменной.
В результате первого выражения мы получили 20 потому, что перед этим поместили в переменную «spam» число 15. Следующей командой мы заменили значение переменной spam на число 3. Старое значение переменной было уничтожено. И результатом последнего выражения является число 8, которое стало результатом сложения числа 5 и нового значения переменной «spam».
Вы можете использовать имя переменной в выражении присвоения нового значения этой же переменной:
Повторите эту операцию несколько раз последовательно вводя в интерактивную оболочку выражение «spam=spam+5»:

Рисунок 2-9. Использование имени переменной при новом объявлении её значения.
Использование более одной переменной в программе.
В программах можно создавать столько переменных, сколько вам нужно. Для примера создадим две переменные с именами яйца («eggs») и бекон («bacon»). В переменную «eggs» поместим значение 15, а в переменную «bacon» значение 10 и попробуем с ними что нибудь сделать:

Рисунок 2-10. Операции с переменными.
Как мы видим, у объявленной переменной «spam» значение 25. Это произошло потому, что в переменных хранятся не выражения, а значения. При объявлении переменной «spam», компьютер сначала определил значения переменных «eggs» и «bacon», а после вычислил значение выражения и сохранил его результат в переменной.
Заключение.
В этой главе мы познакомились с базовыми инструкциями Python. К сожалению Pyton не обладает хоть каплей здравомыслия, поэтому нуждается в точных инструкциях, что и как он должен делать.
Выражениями являются значения (2 и более) связанных между собой математическими операторами. Python будет автоматически вычислять эти выражения по мере необходимости. Их результат может быть сохранен в переменной для дальнейшего использования.
В Python существуют и другие операторы и значения. С некоторыми из них вы познакомитесь в следующей главе. В ней мы напишем первую программу и узнаем, как Python работает с текстом.
Как записать скопированный текст в переменную?
Пользователь копирует любой текст, в любом приложении. Программа записывает этот текст в переменную. Как такое реализовать на Python?
- Вопрос задан более трёх лет назад
- 496 просмотров
Комментировать
Решения вопроса 1

Программист, философ
Если не захотите использовать API операционной системы, проще проверять содержимое буфера обмена по таймеру: https://pypi.org/project/pyperclip/
Возможно, найдется готовая библиотека.
Ответ написан более трёх лет назад
# . @andro1 Автор вопроса
Остановлюсь на варианте посложнее

# ., зависит от задачи, конечно. Хотя, на этапе прототипа можно попробовать сделать решение проще — а потом развить его, наращивать.
Gennady S, можно расширение для браузера написать на питоне.
У меня переводчик оповещает когда я выделяю текст,длинной большей 255 символов.
Скорее, всего он в этот момент получает весь выделенные текст, и по логике сможет сохранить его

Jungles, нет, не думаю, что расширение для браузера можно писать на Python (по крайней мере до развития WebAssembly), да и зачем? Там свой специализированный JS-инструментарий (смотрите документацию браузеров). Плюс, не думаю, что расширение браузера имеет доступ к буферу обмена системы, только на страничках браузера.
Как сохранить текст в переменной?
Подскажите, как можно сохранить введенные данные в QLineEdit ?
Необходимо переключаться между вкладками чтобы текст в каждой отдельной вкладке сохранялся в поле ввода.
from PyQt5.QtWidgets import QWidget, QPushButton, QLineEdit, \ QLabel, QMainWindow, QHBoxLayout, \ QVBoxLayout, QFormLayout from PyQt5.QtCore import Qt from PyQt5 import Qt class Mainwindow(QMainWindow): def __init__(self): super().__init__() centralwidget = QWidget() self.setCentralWidget(centralwidget) example_layout = QVBoxLayout(centralwidget) pbs = QHBoxLayout() pb1 = QPushButton("1") pb2 = QPushButton("2") pbs.addWidget(pb1) pbs.addWidget(pb2) example_layout.addLayout(pbs) pics = QVBoxLayout() pic1 = QLabel("1") pic2 = QLabel("2") pics.addWidget(pic1) pics.addWidget(pic2) pictures = [pic1,pic2] comments_layout = QVBoxLayout() le1 = QLineEdit() le2 = QLineEdit() comments_layout.addWidget(le1) comments_layout.addWidget(le2) self.formlayout = QFormLayout() self.formlayout.setLayout(0, QFormLayout.LabelRole, pics) self.formlayout.setLayout(0, QFormLayout.FieldRole, comments_layout) example_layout.addLayout(self.formlayout) example_layout.addLayout(self.formlayout) pb1.clicked.connect( lambda pb=pb1, pc=pictures: self.action1(pb, pictures)) pb2.clicked.connect( lambda pb=pb2, pc=pictures: self.action2(pb, pictures)) def action1(self,pb,laybels): sl = ['не 1', 'не 2'] for i in laybels: i.setText(sl.pop(0)) def action2(self,pb,laybels): sl = ['1', '2'] for i in laybels: i.setText(sl.pop(0)) if __name__ == '__main__': app = Qt.QApplication([]) w = Mainwindow() w.show() app.exec()
Отслеживать
73.1k 107 107 золотых знаков 38 38 серебряных знаков 55 55 бронзовых знаков
Запись строки с переменной в текстовый файл в Python
Одна из распространенных задач при работе с файлами в Python — это запись данных в файл. Предположим, есть строка, которую нужно записать в файл, и эта строка содержит переменную, значение которой должно подставиться при записи.
Пример такой строки: «Количество покупок: «, где после двоеточия должно подставиться значение переменной, содержащей количество покупок.
purchase_count = 10 text_file = open("Output.txt", "w") text_file.write("Количество покупок: " + str(purchase_count)) text_file.close()
В данном примере сначала объявляется переменная purchase_count и присваивается ей значение 10. Затем с помощью функции open открывается файл для записи ( «w» ).
Затем с помощью метода write происходит запись в файл строки «Количество покупок: » и значения переменной purchase_count , преобразованного в строку с помощью функции str .
Наконец, с помощью метода close происходит закрытие файла.
Таким образом, в файл будет записана строка «Количество покупок: 10».
Строка и значение переменной объединяются с помощью оператора + . Однако, перед этим значение переменной нужно преобразовать в строку, так как оператор + не может объединять строки и числа.
Также стоит учесть, что при открытии файла в режиме записи ( «w» ), если файл уже существует, его содержимое будет удалено. Если нужно добавить данные в конец существующего файла, следует использовать режим дозаписи ( «a» ).
Для удобства работы с файлами может использоваться конструкция with , которая автоматически закрывает файл после выполнения блока кода.
purchase_count = 10 with open("Output.txt", "w") as text_file: text_file.write("Количество покупок: " + str(purchase_count))
В этом примере файл будет автоматически закрыт после выполнения блока кода, даже если во время выполнения произойдет ошибка.
