Використання змінних в python 3

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

Змінні - дуже важлива складова програми; по суті, це символ (або набір символів), якому присвоєно значення і який можна використовувати замість цього значення при написанні програми.

Даний посібник ознайомить вас з основами роботи з змінними в Python 3.

Що таке змінна?

З технічної точки зору змінна привласнює значення символічне ім'я або ідентифікатор. Ім'я змінної використовується для того, щоб послатися на збережене значення в комп'ютерній програмі.

Змінну можна уявити як мітку або ярлик з ім'ям, який прив'язаний до значення.

Наприклад, у вас є ціле число 103204934813. Ви можете зберегти його у змінній, і тоді вам не доведеться постійно вводити повторно довге число. Збережіть число у змінній my_int:

По суті, my_int - це ярлик, прив'язаний до значення +103204934813.

Фраза my_int = 103204934813 - це операція присвоювання, яка складається з наступних частин:

  • my_int - ім'я змінної;
  • = - оператор присвоювання;
  • 103204934813 - значення.

Таким чином, привласнюючи значенням ім'я, ви ініціалізіруете, або створюєте змінну. Після цього можна використовувати змінну замість значення. В Python, на відміну від деяких інших мов програмування, змінні не потрібно явно декларувати. Тобто, оголосивши, що my_int одно 103204934813, ви можете просто використовувати my_int замість числа. Спробуйте запустити:

За допомогою змінних можна швидко виконати обчислення. Спробуйте відняти 813 з my_int:

print (my_int - 813)
103204934000

Як значення змінної можна використовувати результат математичного рівняння. Спробуйте скласти два числа і зберегти значення їх суми в змінної x:

Як бачите, це дуже схоже на просте шкільне рівняння; тут, як і в алгебрі, букви і інші символи використовуються для представлення чисел і величин у формулах і рівняннях. Синтаксис Python має на увазі, що ім'я змінної знаходиться зліва, а значення - справа.

Виведіть значення x:

Python виводить 221, тому що саме це число виходить в результаті складання 76 і 145.

У вигляді змінної можна уявити будь-який тип даних, не тільки числа.

my_string = 'Hello, World!'
my_flt = 45.06
my_bool = 5> 9 # логічний оператор оцінює вираз як істинне або помилкове
my_list = [ 'item_1', 'item_2', 'item_3', 'item_4']
my_tuple = ( 'one', 'two', 'three')
my_dict =

Спробуйте запитати одну з цих змінних. На екрані з'явиться значення цієї змінної:

my_list = [ 'item_1', 'item_2', 'item_3', 'item_4']
print (my_list)
[ 'Item_1', 'item_2', 'item_3', 'item_4']

Мінлива виділяє невелику область пам'яті, яка приймає задане значення.

Правила завдання імен змінних

Існує ряд правил, яких слід дотримуватися при найменуванні змінних.

  • Імена змінних не можуть містити пробілів (формально, ім'я змінної складається з одного слова).
  • Імена змінних можуть складатися тільки з букв, цифр і нижнього підкреслення (_).
  • Ім'я змінної не може починатися з цифри.

Для прикладу розглянемо правильні і неправильні імена змінних:

Але найголовніше правило - це бути послідовним. Якщо вже ви почали використовувати в програмі змінні, написані в верблюжому стилі, продовжуйте дотримуватися цього принципу до кінця.

Читайте також. PEP 8 - офіційний мануал з кодування в Python

перепризначення змінної

Значення змінної (що видно з самого поняття) можна змінювати.

Можливість перепризначення змінної дуже важлива: це дозволяє програмі додавати власні значення в існуючі змінні, повернути змінної колишнє значення і т.п.

Спробуйте змінити в змінної x число, а потім перепризначити її і поставити рядок:

Якби програма була написана так:

x = 76
x = "8host"
print (x)

в результаті на екрані з'явилося б тільки друге присвоєне значення, так як це останнє призначення:

Множинне присвоювання змінної

Python дозволяє привласнювати одне значення декільком змінним одночасно. Таким чином, ви можете форматувати кілька змінних, а пізніше перепризначити їх.

Наприклад, можна задати змінним x, y і z значення 0.

Тепер все три змінні мають однакове значення і належать до однієї області пам'яті.

Python також дозволяє привласнювати кілька значень декільком змінним в рамках одного рядка. наприклад:

j, k, l = "8host", 1.05, 16
print (j)
print (k)
print (l)
8host
1.05
16

Як бачите, змінної j було присвоєно значення 8host, змінної k 1.05, l - 16.

Ця функція дозволяє скоротити код, і при цьому зберегти його Новомосковскбельность.

Глобальні і локальні змінні

При використанні змінної в програмі важливо мати на увазі її область видимості.

Область видимості змінної - це контекст, в якому вона доступна в коді даної програми. Не всі змінні доступні з усіх частин програми: деякі змінні є глобальними, а деякі - локальними.

Глобальні змінні оголошені поза функцією, але доступні всередині функції. Локальні змінні оголошені всередині функції.

Розгляньте приклад таких змінних:

# Створіть глобальну змінну
glb_var = "global"
# Визначте функцію
def var_function ():
lcl_var = "local" # Створіть локальну змінну всередині функції
print (lcl_var)
# Викличте функцію
var_function ()
# Виведіть глобальну змінну
print (glb_var)
local
global

Оскільки змінна glb_var є глобальною, ми можемо послатися на неї всередині функції var_function (). Відредагуйте запропонований вище код, щоб зробити це:

glb_var = "global"
def var_function ():
lcl_var = "local"
print (lcl_var)
print (glb_var) # Виводить glb_var всередині функції
var_function ()
print (glb_var)
local
global
global

Тепер змінна glb_var виводиться двічі: всередині і поза функцією.

Спробуйте викликати локальну змінну поза функції:

glb_var = "global"
def var_function ():
lcl_var = "local"
print (lcl_var)
print (lcl_var)
NameError: name 'lcl_var' is not defined

Як бачите, ви не можете викликати локальну змінну поза функцією, так як вона існує тільки всередині функції.

Розглянемо ще один приклад. Задайте глобальної і локальної змінної одне і те ж ім'я:

num1 = 5 # Глобальна змінна
def my_function ():
num1 = 10 # Локальна змінна з таким же ім'ям, num1
num2 = 7 # Локальна змінна
print (num1) # Виведе локальну змінну num1
print (num2) # Виведе локальну змінну num2
# Викликає my_function ()
my_function ()
# Виводить глобальну змінну num1
print (num1)
10
7
5

Оскільки локальна змінна num1 присвоєна всередині функції, при виклику num1 з'являється 10. При виведенні глобальної змінної num1 (після виклику функції my_function ()) з'являється значення 5.

Оператор global дозволяє визначати глобальні змінні Python всередині функції:

def new_blog ():
global blog = "8host" # Присваивает глобальну змінну
# Виводить глобальну змінну blog
print (blog)

Незважаючи на те, що змінна blog була присвоєна локально всередині функції new_blog (), вона доступна поза функції завдяки оператору global. Тому при виклику print (blog) Python не видає помилку: змінна існує і поза, і всередині функції.

Примітка. Визначення глобальних змінних всередині функції не дуже часто використовується, оскільки ускладнює код.

Також слід пам'ятати про те, що якщо ви посилаєтеся на змінну всередині функції, не привласнюючи їй значення, така змінна буде глобальною. Для того щоб створити локальну змінну, необхідно присвоїти їй значення в тілі функції.

Працюючи зі змінними, важливо визначити, які з них більше підходять цій програмі: глобальні або локальні. Зазвичай краще використовувати локальні змінні; але якщо одна змінна використовується в декількох функціях, ви можете форматувати глобальну змінну. Якщо ви працюєте зі змінною тільки в межах однієї функції або одного класу, краще використовувати її локально.