М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет160/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   156   157   158   159   160   161   162   163   ...   334
Байланысты:
Изучаем Python

remember_me.py
import json
# Программа загружает имя пользователя, если оно было сохранено ранее.
# В противном случае она запрашивает имя пользователя и сохраняет его.
filename = 'username.json'
try:

with open(filename) as f:

username = json.load(f)

except FileNotFoundError:

username = input("What is your name? ")

with open(filename, 'w') as f:
json.dump(username, f)
print(f"We'll remember you when you come back, {username}!")
else:
print(f"Welcome back, {username}!")
Никакого нового кода здесь нет; просто блоки кода из двух предыдущих приме-
ров были объединены в один файл. В точке 

программа пытается открыть файл 
username .json
. Если файл существует, программа читает имя пользователя в па-
мять 

и выводит сообщение, приветствующее пользователя, в блоке 
else
. Если 
программа запускается впервые, то файл 
username .json
не существует и происходит 
исключение 
FileNotFoundError

. Python переходит к блоку 
except
, в котором 
пользователю предлагается ввести имя 

. Затем программа вызывает 
json.dump()
для сохранения имени пользователя и выводит приветствие 

.
Какой бы блок ни выполнялся, результатом является имя пользователя и соот-
ветствующее сообщение. При первом запуске программы результат выглядит так:
What is your name? 
Eric
We'll remember you when you come back, Eric!
Если же программа уже была выполнена хотя бы один раз, то результат будет 
таким:
Welcome back, Eric!


Сохранение данных
219
Рефакторинг
Часто возникает типичная ситуация: код работает, но вы понимаете, что его струк-
туру можно усовершенствовать, разбив его на функции, каждая из которых решает 
свою конкретную задачу. Этот процесс называется 
рефакторингом
(или перера-
боткой). Рефакторинг делает ваш код более чистым, понятным и простым в рас-
ширении.
В процессе рефакторинга 
remember_me .py
мы можем переместить основную часть 
логики в одну или несколько функций. Основной задачей 
remember_me .py
является 
вывод приветствия для пользователя, поэтому весь существующий код будет пере-
мещен в функцию 
greet_user()
:


Достарыңызбен бөлісу:
1   ...   156   157   158   159   160   161   162   163   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет