Evgenii Legotckoi
Evgenii Legotckoi27 квітня 2018 р. 09:23

Python 3 - Підручник 004. Типи змінних

Змінні – це не що інше, як зарезервовані осередки пам'яті для зберігання значень. Це означає, що при створенні змінної ви резервуєте деякий простір у пам'яті.

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


Присвоєння значень змінним

Змінні Python не вимагають явного оголошення для резервування пам'яті. Оголошення призначається автоматично, коли ви надаєте значення змінної. Знак рівності (=) використовується присвоєння значень змінним.

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

#!/usr/bin/python3

counter = 100          # Целочисленная переменная
miles   = 1000.0       # Переменная с плафающей точкой
name    = "John"       # Строковая переменная

print (counter)
print (miles)
print (name)

Тут 100, 1000.0 та «John» є значеннями, присвоєними лічильнику, милям та змінній імені, відповідно. Це дає такий результат:

100
1000.0
John

Множинне присвоєння

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

Наприклад,

a = b = c = 1

Тут створюється цілий об'єкт зі значенням 1, і всі три змінні призначаються в одну і ту ж комірку пам'яті. Ви також можете призначити кілька об'єктів кільком змінним. Наприклад,

a, b, c = 1, 2, "john"

Змінним a і b присвоюються цілі значення 1 і 2 відповідно, а змінній c присвоюється рядок john .

Стандартні типи даних

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

Python має п'ять стандартних типів даних

  • Числа - Numbers
  • Строки - String
  • Список - List
  • Кортеж - Tuple
  • Словник - Dictionary

Числа Python

Числові типи даних зберігають числові значення. Числові об'єкти створюються для призначення їм значення. Наприклад,

var1 = 1
var2 = 10

Ви також можете видалити посилання на числовий об'єкт за допомогою оператора del. Синтаксис інструкції del -

del var1[,var2[,var3[....,varN]]]]

Ви можете видалити один об'єкт або кілька об'єктів, використовуючи інструкцію del.

Наприклад,

del var
del var_a, var_b

Python підтримує три різні числові типи -

  • int (цілі числа зі знаком)
  • float (реальні значення з плаваючою комою)
  • complex (комплексні числа)

Всі цілі числа в Python3 представлені як довгі числа. Отже, немає окремого типу long.

Приклади

int плавати комплекс
† 10 0,0 3,14 р
100 15.20 45.j
-786 -21,9 9.322e-36j
080 32.3 + e18 .876j
† -0490 -90. † -.6545+0J
-0x260 -32,54e100 3e + 26J
0x69 70.2-E12 4.53e-7j

Комплексне число складається з упорядкованої пари речових чисел з плаваючою комою, що позначається x + yj, де x та y - речові числа, j - уявна одиниця.

Строки Python

Рядки в Python ідентифікуються як безперервний набір символів, представлених у лапках. Python дозволяє використовувати пару одиночних або подвійних лапок. Підмножини рядків можуть бути взяті з використанням оператора зрізу ([] і [:]) з індексами, що починаються з 0 на початку рядка та працюють від -1 до кінця.

Знак плюс (+) є оператором конкатенації рядків, а зірочкою (*) є оператор повторення. Наприклад,

#!/usr/bin/python3

str = 'Hello World!'

print (str)          # Вывод всей строки
print (str[0])       # Вывод первого символа строки
print (str[2:5])     # Вывод символов с третьего по пятый
print (str[2:])      # Вывод строки с третьего символа
print (str * 2)      # Вывод строки дважды
print (str + "TEST") # Вывод склеенной строки

Це призведе до наступного результату -

Hello World!
H
llo
llo World!
Hello World!Hello World!
Hello World!TEST

Списки Python

Списки є найуніверсальнішими складовими типами даних Python. Список містить елементи, розділені комами та укладені у квадратні дужки ([]). Певною мірою списки аналогічні масивам C. Одне з відмінностей між ними полягає в тому, що всі елементи, що належать списку, можуть бути різних типів даних.

Доступ до значень, що зберігаються у списку, можна отримати за допомогою оператора зрізу ([] та [:]) з індексами, що починаються з 0 на початку списку і закінчуються -1. Знак плюс (+) – це оператор конкатенації списку, а зірочка (*) – оператор повторення. Наприклад,

#!/usr/bin/python3

list = [ 'abcd', 786 , 2.23, 'john', 70.2 ]
tinylist = [123, 'john']

print (list)          # Вывод всего списка
print (list[0])       # Вывод первого элемента списка
print (list[1:3])     # Вывод элементов со второго по третий 
print (list[2:])      # Вывод элементов начиная с третьего
print (tinylist * 2)  # Вывод списка дважды
print (list + tinylist) # Вывод результирующего списка

Це призведе до наступного результату -

['abcd', 786, 2.23, 'john', 70.200000000000003]
abcd
[786, 2.23]
[2.23, 'john', 70.200000000000003]
[123, 'john', 123, 'john']
['abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john']

Кортежі Python

Кортеж - це інший тип даних послідовності, аналогічний до списку. Кортеж складається з кількох значень, розділених комами. Однак, на відміну від списків, кортежі укладено у круглі дужки.

Основна відмінність між списками та кортежами - Списки укладені в дужки ([]), та їх елементи та розмір можуть бути змінені, а кортежі укладені у круглі дужки (()) та не можуть бути оновлені. Кортежі можна розглядати як списки лише для читання. Наприклад,

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
tinytuple = (123, 'john')

print (tuple)           # Вывод всего кортежа
print (tuple[0])        # Вывод первого элемента в кортеже
print (tuple[1:3])      # вывод элементов со второго по третий 
print (tuple[2:])       # Вывод элементов кортежа с третьего
print (tinytuple * 2)   # Вывод кортежа дважды
print (tuple + tinytuple) # Вывод результирующего кортежа

Це призведе до наступного результату -

('abcd', 786, 2.23, 'john', 70.200000000000003)
abcd
(786, 2.23)
(2.23, 'john', 70.200000000000003)
(123, 'john', 123, 'john')
('abcd', 786, 2.23, 'john', 70.200000000000003, 123, 'john')

Наступний код неприпустимий із кортежем, тому що ми спробували оновити кортеж, що заборонено. Подібний випадок можливий зі списками.

#!/usr/bin/python3

tuple = ( 'abcd', 786 , 2.23, 'john', 70.2  )
list = [ 'abcd', 786 , 2.23, 'john', 70.2  ]
tuple[2] = 1000    # запрещено для кортежей
list[2] = 1000     # допустимо для списков

Словники Python

Словник Python – це тип хеш-таблиці. Вони працюють як асоціативні масиви або хеші, як у Perl, і складаються з пар ключ-значення. Ключ словника може бути майже будь-яким типом Python, але зазвичай це числа або рядки. Значення, з іншого боку, можуть бути будь-яким довільним об'єктом Python.

Словники укладені у фігурні дужки ({}), і значення можна отримати за допомогою квадратних дужок ([]). Наприклад,

#!/usr/bin/python3

dict = {}
dict['one'] = "This is one"
dict[2]     = "This is two"

tinydict = {'name': 'john','code':6734, 'dept': 'sales'}

print (dict['one'])       # Вывод значения для ключа 'one'
print (dict[2])           # Вывод значения для клюса 2
print (tinydict)          # Вывод всего словаря
print (tinydict.keys())   # Вывод всез ключей словаря
print (tinydict.values()) # Вывод всех значений

Це призведе до наступного результату -

This is one
This is two
{'name': 'john', 'dept': 'sales', 'code': 6734}
dict_keys(['name', 'dept', 'code'])
dict_values(['john', 'sales', 6734])

Словники немає поняття про впорядкування серед елементів.

Перетворення типу даних

Іноді ви можете виконати перетворення між вбудованими типами. Щоб перетворити типи, ви використовуєте імена типів як функцію.

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

S.No. Функція & Опис
1 int(x [,base]) Перетворює x на ціле число.
2 float(x) Перетворює x на число з плаваючою комою.
3 complex(real [,imag]) Створює комплексне число.
4 str(x) Перетворює об'єкт x у рядкову виставу.
5 repr(x) Перетворює об'єкт x на рядковий вираз.
6 eval(str) Обробляє рядок та повертає об'єкт. Використовується для виконання програмного коду, представленого сторокою.
7 tuple(s) Перетворює s на кортеж.
8 list(s) Перетворює s на список.
9 set(s) Перетворює s на набір.
10 dict(d) Створює словник. d має бути послідовністю (ключ, значення) кортежів.
11 frozenset(s) Перетворює s на незмінний набір.
12 chr(x) Перетворює ціле число на символ.
13 unichr(x) Перетворює ціле число на символ Unicode.
14 ord(x) Перетворює один символ на його цілісне значення.
15 hex(x) Перетворює ціле число в шістнадцятковий рядок.
16 oct(x) Перетворює ціле число у вісімковий рядок.
Рекомендуємо хостинг TIMEWEB
Рекомендуємо хостинг TIMEWEB
Стабільний хостинг, на якому розміщується соціальна мережа EVILEG. Для проектів на Django радимо VDS хостинг.

Вам це подобається? Поділіться в соціальних мережах!

Коментарі

Only authorized users can post comments.
Please, Log in or Sign up
AD

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:50бали,
  • Рейтинг балів-4
m
  • molni99
  • 26 жовтня 2024 р. 01:37

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:80бали,
  • Рейтинг балів4
m
  • molni99
  • 26 жовтня 2024 р. 01:29

C++ - Тест 004. Указатели, Массивы и Циклы

  • Результат:20бали,
  • Рейтинг балів-10
Останні коментарі
ИМ
Игорь Максимов22 листопада 2024 р. 11:51
Django - Підручник 017. Налаштуйте сторінку входу до Django Добрый вечер Евгений! Я сделал себе авторизацию аналогичную вашей, все работает, кроме возврата к предидущей странице. Редеректит всегда на главную, хотя в логах сервера вижу запросы на правильн…
Evgenii Legotckoi
Evgenii Legotckoi31 жовтня 2024 р. 14:37
Django - Урок 064. Як написати розширення для Python Markdown Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
A
ALO1ZE19 жовтня 2024 р. 08:19
Читалка файлів fb3 на Qt Creator Подскажите как это запустить? Я не шарю в программировании и кодинге. Скачал и установаил Qt, но куча ошибок выдается и не запустить. А очень надо fb3 переконвертировать в html
ИМ
Игорь Максимов05 жовтня 2024 р. 07:51
Django - Урок 064. Як написати розширення для Python Markdown Приветствую Евгений! У меня вопрос. Можно ли вставлять свои классы в разметку редактора markdown? Допустим имея стандартную разметку: <ul> <li></li> <li></l…
d
dblas505 липня 2024 р. 11:02
QML - Урок 016. База даних SQLite та робота з нею в QML Qt Здравствуйте, возникает такая проблема (я новичок): ApplicationWindow неизвестный элемент. (М300) для TextField и Button аналогично. Могу предположить, что из-за более новой верси…
Тепер обговоріть на форумі
Evgenii Legotckoi
Evgenii Legotckoi24 червня 2024 р. 15:11
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
t
tonypeachey115 листопада 2024 р. 06:04
google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
NSProject
NSProject04 червня 2022 р. 03:49
Всё ещё разбираюсь с кешем. В следствии прочтения данной статьи. Я принял для себя решение сделать кеширование свойств менеджера модели LikeDislike. И так как установка evileg_core для меня не была возможна, ибо он писался…
9
9Anonim25 жовтня 2024 р. 09:10
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

Слідкуйте за нами в соціальних мережах