Transcript
Page 1: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Більше типів богу даних!

Типи даних мови Python

Основи програмування мовою Python, лекція 6 Київ, 2015

Page 2: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Intцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Типи даних Python

числові

Page 3: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Intцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Типи даних Python

числові

} 32 біти =4 байти

= 4 294 967 296 комбінацій

тобто числа в діапазоні

-2 147 483 647 ... 0 ... 2 147 483 647

232

2014 => 111 11011110 => 210 + 29 + 28 + 27 + 26 + 24 + 23 + 22 + 21

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 0 0 1 1 1

1 1 0 1 1 1 1 0

2014

Page 4: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Типи даних Python

числові

} 32 біти =4 байти

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

1 1 1 1 1 1 1 1

_

2 147 483 647

+ 1= 2 147 483 648

= 0 (або -2 147 483 648)

?прогнозуючи такі переповнення,

Python перетворює цілі числа в

тип Long, який реалізує "довгу

арифметику" і може зберігати

скільки завгодно великі цілі числа

Page 5: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Типи даних Python

числові 1234.5 = 1.2345 х 103

1234.5 = 1.20556640625 х 210

Floating point

мантиса

експонента

< 21 ≤

≤ 1023-1022 ≤

формат представлення чисел із плаваючою крапкою (комою)

Page 6: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Типи даних Python

числові 1234.5 = 1.2345 х 103

1234.5 = 1.20556640625 х 210

мантиса

експонента

< 21 ≤

≤ 1023-1022 ≤

1/8 = 0.125 = 1.25 х 10-1 = 1.0 х 2-3

1/10 = 0.1 = 1.0 х 10-1 = 1.999999... х 2-1

так як в основі фізичного збереження чисел лежать ступені двійки,

не всі числа можуть бути точно представлені – має місце округлення

Page 7: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Типи даних Python

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Boolлогічний тип

True, False

A B A and B

F F F

F T F

T F F

T T T

A B A or B

F F F

F T T

T F T

T T T

A not A

F T

T F

sing('lalala') and go()

needStop or (a>0 and b>0)

not looser and (money> 100)

date == 13 or day=='friday'

a>0 and b>0

piece = not war

0, 0.0, "", None, [] → False → 0, "False"

числові

False

True

все інше → True → 1, "True"

Page 8: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Типи даних Python

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Strрядки

'Hi!', "Python"

Boolлогічний тип

True, False

'Yesterday,'

"All my troubles seemed so far away"

"Now it looks as though they're here to stay"

'Oh, I believe in "yesterday"'

"""Suddenly,I'm not half the man I used to be"""

* – умовно вважатимемо простими ;-)

*

числові

Page 9: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Strрядки*

'Hi!', "Python"

Boolлогічний тип

True, False

Типи даних Python

незмінювані

* – умовно вважатимемо простими ;-)

a

a = 1

a = a + 1

1 2a

числові

ви не можете змінити дані таких типів –

лише створити нове значення і

використовувати його замість старого

(часто ви навіть не помітите,

що інтерпретатор робить це постійно)

Page 10: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Strрядки*

'Hi!', "Python"

Boolлогічний тип

True, False

Listсписки

[1, 2.0, 'three']

складні

Типи даних Python

послідовностінезмінювані

числові

Listсписки

[1, 2.0, 'three']

Page 11: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Boolлогічний тип

True, False

складні

Типи даних Python

послідовності

числові

незмінюванінезмінюваніпослідовності

Strрядки*

'Hi!', "Python"

Listсписки

[1, 2.0, 'three']

Tupleкортежи

(1, 2.0, 'three')

такий самий, як list, але незмінюваний

Page 12: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Strрядки*

'Hi!', "Python"

Boolлогічний тип

True, False

Listсписки

[1, 2.0, 'three']

Tupleкортежи

(1, 2.0, 'three')

Dictсловники

{1:'one', 2:'two'}

складні

Типи даних Python

числові

послідовностінезмінювані

Dict значить "DICTIONARY"!складається з пар "ключ - значення"

Page 13: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Int, Longцілі числа

-10, 0, 25

прості

Floatдійсні числа

-10.0, 0.0, 25.0

Strрядки*

'Hi!', "Python"

Boolлогічний тип

True, False

Listсписки

[1, 2.0, 'three']

Tupleкортежи

(1, 2.0, 'three')

Dictсловники

{1:'one', 2:'two'}

Objectоб'єкти

<Person>

складні

Типи даних Python

числові

послідовностінезмінювані

* – умовно вважатимемо простими ;-)

Page 14: Prometheus. Масовий онлайн курс "Основи програмування". Лекція 6

Дякую за увагу!Над випуском працювали:

• Павлюченко Нікіта Сергійович

• Панібрат Марія Олексіївна

НТУУ "КПІ", 2015