пятница, 20 декабря 2019 г.

Урок 3-А (Уроки Python3)

3-A. Объекты и свойства. Типы объектов

Типы объектов.

Python3 умеет многое. Но, и он не всесилен, и по умолчанию, может работать не с любыми объектами, которые нам могут прийти в голову. Выясним, с какими типами объектов может работать Python3. Например, с помощью функции type(), узнаем какого типа объекты мы использовали на прошлом уроке.
In [ ]:
x, y, z = 2, 5, '25'
print(type(x),type(y),type(z))
<class 'int'> <class 'int'> <class 'str'>
Как мы видим x и y оказались представителями класса int - целые числа (сокращение от integer - целое), а z - str - строка символов. Как Python определил это? Если он видит, что объект состоит только из цифр, значит это число. Если заключен в кавычки - строка символов. Над объектами разных типов, как было видно и ранее на предыдущем уроке, python обращается по разному:
In [ ]:
x, y, z = 2, 5, '25'
print(x+y,z+z)
7 2525
Будут ли объекты 5 и 2.5, именнованые x-м и y-м, одного типа? И то, и другое числа. Но, как известно из темы "представление чисел в памяти компьютера", эти числа по разному храняться и обрабатываюся.
In [ ]:
x,y = 5, 2.5
print(type(x),type(y)) 
<class 'int'> <class 'float'>
Как мы видим у представитель другого класса - типа float.
Интересно, а какого типа объект Маша из предыдущего урока?
In [ ]:
Маша = {
    'пол':'ж',
    'гр':2005,
    'рост':165,
    'волос':'рыжий',
    'фото':''}
print(type(Маша))
<class 'dict'>
Итак, Маша - dictсловарь (dict - сокращение от dictionary). Что не удивительно, т.к. мы види последовательность пар - слово:значение

Принудительная типизация

До сих пор python сам определял тип объектов. Но, что если мы хотим сами задать или сменить тип. Для этого нужно его поместить, как аргумент, внутрь функции, которая будет иметь такое же название как и название типа, который нам нужен. Например, создадим из числовых x и y - строковые a и b.
In [ ]:
x, y = 2, 5
a, b = str(x), str(y)
print(x+y)
print(a+b)
7
25

Комментариев нет:

Отправить комментарий

AI