Переменные в Python для начинающих
Любая программы состоит из набора команд и данных. Так вот, чтобы хранить данные, в любом языке программирования, и Python не исключение, есть такое понятие как переменные.
Переменная это не что иное, как имя, с помощью которого можно обратиться к данным, сохраненным в памяти компьютера. Другими словами, переменная — это именованная область памяти. Чтобы создать переменную и назначить ей значение используется оператор присваивания. Вот несколько примеров того, как создается, или, как говорят программисты, «объявляется» переменная
first = "синий"second = 23
Синтаксис «объявления» прост: достаточно написать имя переменной, знак «=» и значение переменной. У разных переменных могут быть разные типы данных. В нашем примере переменная first является строкой, а переменная second — числом. В Python, кроме строк и чисел, есть и другие типы данных. Если вы начинающий программист и не знаете, что такое типы данных, не переживайте, об этом будет рассказано чуть позже.
Самое простое, что можно сделать с переменной, это вывести на экран ее значение.
first = "синий"second = 23print(first, second)
Попробуйте запустить такую программу и посмотрите, что она выведет на экран.
Имена переменных ¶
Следует придерживаться нескольких несложных правил при выборе имен переменных:
- Имя переменной может содержать только латинские буквы, числа и символ нижнего подчеркивания;
- Имя переменной не должно содержать пробелов;
- Имя переменной не должно начинаться с цифры;
- Регистр важен: var и Var это разные переменные.
Называя переменные помните, что имена переменных не должны совпадать с ключевыми словами и наименованиями встроенных функций . Их использование в языке Python предназначено для других целей, которые нам с вами предстоит узнать позже и называть так переменные нельзя.
Python: Именование переменных
greeting — пример простого имени, но не все имена так просты. Часто они включают в себя несколько слов: например, «имя пользователя». В разных языках применяются разные стили кодирования, и имя переменной будет отличаться.
В именовании переменных можно выделить три основных подхода, которые иногда комбинируют друг с другом. Все эти подходы проявляют себя, когда имя переменной состоит из нескольких слов:
- kebab-case — составные части переменной разделяются дефисом ( my-super-var )
- snake_case — для разделения используется подчеркивание ( my_super_var )
- CamelCase — каждое слово в переменной пишется с заглавной буквы ( MySuperVar )
Переменные в Python именуются в стиле snake_case : слова записываются строчными буквами и разделяются символом подчеркивания _ . Чтобы разобраться подробнее, можете изучить раздел «Как называть переменные» в стандарте PEP8.
На Хекслете мы начинаем работать с линтерами почти с самого начала.
Далее посмотрим пример плохих практик и разберем, почему их стоит избегать.
Задание
Создайте две переменные с именами «первое число» и «второе число» на английском языке используя snake_case. Запишите в первую переменную число 20 , во вторую — -100 . Выведите на экран произведение чисел, записанных в получившиеся переменные.
Код будет работать с любыми названиями, а наша система всегда проверяет только результат на экране, поэтому выполнение этого задания — под вашу ответственность.
Упражнение не проходит проверку — что делать?
Если вы зашли в тупик, то самое время задать вопрос в «Обсуждениях». Как правильно задать вопрос:
- Обязательно приложите вывод тестов, без него практически невозможно понять что не так, даже если вы покажете свой код. Программисты плохо исполняют код в голове, но по полученной ошибке почти всегда понятно, куда смотреть.
В моей среде код работает, а здесь нет
Тесты устроены таким образом, что они проверяют решение разными способами и на разных данных. Часто решение работает с одними входными данными, но не работает с другими. Чтобы разобраться с этим моментом, изучите вкладку «Тесты» и внимательно посмотрите на вывод ошибок, в котором есть подсказки.
Мой код отличается от решения учителя
Это нормально , в программировании одну задачу можно выполнить множеством способов. Если ваш код прошел проверку, то он соответствует условиям задачи.
В редких случаях бывает, что решение подогнано под тесты, но это видно сразу.
Прочитал урок — ничего не понятно
Создавать обучающие материалы, понятные для всех без исключения, довольно сложно. Мы очень стараемся, но всегда есть что улучшать. Если вы встретили материал, который вам непонятен, опишите проблему в «Обсуждениях». Идеально, если вы сформулируете непонятные моменты в виде вопросов. Обычно нам нужно несколько дней для внесения правок.
Кстати, вы тоже можете участвовать в улучшении курсов: внизу есть ссылка на исходный код уроков, который можно править прямо из браузера.
Полезное
Определения
- Стандарт кодирования — набор синтаксических и стилистических правил написания кода.
Правильный выбор имен переменных в Python
Будучи единоличным хозяином своей программы, вы вправе выбирать имена переменным. В прошлой статье я решил назвать переменную name, но с тем же успехом можно было бы ее именовать human, nickname или даже omega12345666: работа программы нисколько не изменилась бы.
Для создания корректных имен переменных надо следовать всего нескольким правилам; о некорректном имени Python вам сообщит, выведя ошибку.
Итак, важнейших правил два:
- имя переменной может состоять только из цифр, букв и знаков подчеркивания;
- имя переменной не может начинаться с цифры.
Вдобавок к этим двум абсолютным законам есть несколько негласных правил, которым следуют все опытные программисты.
Вы тоже, приобретя некоторый опыт, почувствуете разницу между “просто корректными” и “хорошими” именами переменным(приведу пример прямо сейчас: имя omega12345666 – корректное, но очень, очень плохое). Перечислю основное, что надо и нужно запомнить.
Имя должно описывать суть. Следует называть переменные так, чтобы другой программист, взглянув на ваш код, смог толком разобраться, что есть что. Поnэтому, например, score лучше, чем s.
Исключение – кратковременно действующие переменные, которым программисты склонны присваивать короткие имена, например х. Но даже этот случай нельзя считать подлинным исключением, ведь, называя переменную х, программист дает понять, что она временная.
Будьте последовательны. Есть много разных позиций по вопросу о том, как лучше оформлять имена переменных, составленные из нескольких слов. Будет ли лучше, например, написать high_score или highScore?
Я привык пользоваться подчеркиванием.Отнюдь не важно, какой системы вы придерживаетесь, лишь бы вы следовали все время только ей, хотя по стандарту оформления программ правильно использовать для переменных и функций именно подчеркивания.
Уважайте обычай языка. Некоторые правила именования переменных – всего лишь дань традиции. Так, в большинстве языков программирования, в том числе и в Python, имя переменной принято начинать со строчной буквы.
Другая традиция состоит в том, чтобы избегать подчеркиваний в качестве начальных символов в именах переменных (у имен с начальным подчеркиванием в Python особый смысл).
Следите за длиной. Иногда эта рекомендация может вступать в противоречие с первой, требующей от имен переменных описательной силы. В самом деле, разве удобно пользоваться таким, например, именем: persona1_checking_account_bаlance’? Видимо, нет.Чересчур длинные имена переменных проблематичны, в частности, тем, что загромождают код.
А кроме того, чем длиннее имя, тем выше риск сделать в нем опечатку. Советую вам не создавать имена длиннее 15 символов.
Кстати, самодокументирующим называется код, из которого даже без комментариев легко понять, что происходит в программе. «Говорящие» имена переменных – немаловажный шаг на пути к созданию такого кода.
Вот что случится если объявить переменную ошибочно, то есть начать переменную с цифрами:
Решение модуля 2.3 из курса для начинающих «Поколение Python»
Ответы на задачи из модуля 2.3 «Поколение Python»: курс для начинающих. Нумерация сквозная и идет именно по задачам.
Предыдущий модуль 2.2 «Поколение Python».
Первые три вопроса
1. Что будет выведено на экран в результате выполнения следующего кода?
print('31', '12', '2019', sep='-')
Ответ: 31-12-2019
2. Что будет выведено на экран в результате выполнения следующего кода?
print(‘Mercury’, ‘Venus’, sep=’*’, end=’!’)
print(‘Mars’, ‘Jupiter’, sep=’**’, end=’?’)
Решение: Mercury*Venus!Mars**Jupiter?
3. Сколько строк будет распечатано в результате выполнения следующего кода?
print('a', 'b', 'c', sep='*') print('d', 'e', 'f', sep='**', end='') print('g', 'h', 'i', sep='+', end='%') print('j', 'k', 'l', sep='-', end='\n') print('m', 'n', 'o', sep='/', end='!') print('p', 'q', 'r', sep='1', end='%') print('s', 't', 'u', sep='&', end='\n') print('v', 'w', 'x', sep='%') print('y', 'z', sep='/', end='!')
Ответ: 5.
Четвертый номер:
I like Python
Напишите программу, которая выводит на экран текст «I***like***Python» (без кавычек).
Примечание. Используйте необязательный параметр sep .
Sample Input:
Sample Output:
I***like***Python
Решение:
# При решении используем sep параметр который отвечает какой символ будет использоваться в качестве разделителя строк print('I','like','Python', sep='***')
Пятая задача:
Кастомный разделитель
Напишите программу, которая считывает строку-разделитель и три строки, а затем выводит указанные строки через разделитель.ые три строки через разделитель.
Код:
# Получаем введенные данные через input и присваиваем переменным a = input() b = input() c = input() d = input() # Выводим на экран полученные данные использую разделитель из переменной a print(b, c, d, sep=a)
Шестая задача:
Приветствие
Напишите программу, которая приветствует пользователя, выводя слово «Привет» (без кавычек), после которого должна стоять запятая и пробел, а затем введенное имя и восклицательный знак.
Ответ:
# В переменную name записываем введенное имя name = input() # Выводим на экран привестствие с восклицательным знаком в конце print('Привет,', name, end='!')
Пять последних вопросов
7. Какие из имён допустимы для названия переменных в Python?
Ответ: teacher teacher2 teacher_2
8. Что покажет приведенный ниже фрагмент кода?
language = 'Python' language = 'Pascal' print(language)
Результат: Pascal
9. Какое значение будет находиться в переменной s1 после выполнения следующего кода?
s1 = 'C++' s2 = 'Python' s3 = 'Java' s3 = s2 s1 = s3
Результат: Python
10. Выберите строки кода, соответствующие стандарту PEP 8.
Примечание. Будьте внимательны с пробелами.
Ответы:
- print(‘Follow PEP8!’)
- print(‘Follow’, ‘PEP8!’)
- print(‘Follow’, ‘PEP8′, sep=’**’)
- name = input()
11. Что будет напечатано в результате выполнения следующей программы?
# print('Java') # print('Ruby') # print('Scala') print('Python', end='+') # print('C++') # print('GO') print('C#', end='=') # print('C') print('awesome') # finish
Правильный текст: Python+C#=awesome
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы