Python: большая книга примеров [Антон Леонардович Марченко] (pdf) читать постранично, страница - 3
Книга в формате pdf! Изображения и текст могут не отображаться!
[Настройки текста] [Cбросить фильтры]
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (61) »
значений, по одному из которых (уникальному ключу) можно получить второе (собственно,
значение).
■ set (множество)
Ещё один "набор, но не последовательность".
# пример множества
integer num set = {-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5}
18
Если не важен порядок элементов, но важна их уникальность, то подходит множество.
# свойство уникальности
unique set = {6, 6, 6, 5}
print(unique set)
> {5, 6}
■ Ф айл
Работа с файлами, хранящимися где-то на внешнем носителе, в Python реализована в виде
объектов-файлов. Они относятся к объектам базового типа, но обладают весьма характерной
чертой: нельзя создать экземпляр объекта-файла при помощи литералов.
Чтобы начать работу с файлами, нужно вызвать функцию open() и передать ей в качестве
аргументов имя файла из внешнего источника и строку, описывающую режим работы функции:
f = open('filename.txt',
'w')
Операции с файлами могут быть разными, а, следовательно, разными могут быть и режимы
работы с ними:
■
r — выбирается по умолчанию, означает открытие файла для чтения;
■ w — файл открывается для записи (если не существует, то создаётся новый);
■ x — файл открывается для записи (если не существует, то генерируется исключение);
■ a — режим записи, при котором информация добавляется в конец файла, а не затирает
уже имеющуюся;
■
b — открытие файла в двоичном режиме;
■ t — ещё одно значение по умолчанию, означающее открытие файла в текстовом режиме;
■ + — чтение и запись;
■
range object (a type of iterable).
В языке python реализована функция range(), которая создаёт непрерывную последовательность
целых чисел:
r = range(10)
print(r)
> range(0, 10)
for i in r:
print(i, end=' ')
> 0 1 2 3 4 5 6 7 8 9
Она очень удобна при создании циклов.
■ None
None — специальный тип языка python. Объект этого типа означает пустоту, всегда имеет
значение False и может рассматриваться в качестве аналога NULL для языка ^С++. Объект None
возвращается функциями по умолчанию.
null = None
19
print(type(null))
>
На практике этот тип данных может быть полезен, когда надо заполнить список отсутствующими
значениями, чтобы он увеличился, и можно было обращаться к старшим элементам по индексу.
■ Работа с типам и в python
Далее описываются некоторые простые (???) приёмы работы с данными разных типов в python.
■ Определение типа данных
Узнать тип данных объекта в python можно следующим способом:
# Нужно воспользоваться встроенной функцией type()
my list = {'Python': 'The best!'} # объявление объекта - словаря
print(type(my list))
>
■ Изменение типа данных (приведение типов)
Встроенные функции для приведения типов — int(), list(), set(), tuple(), str(), bin().
Важно! встроенная функция для приведения типа не модифицирует переданное значение, а
возвращает новое значение другого типа.
# int() - преобразует числовую строку в целое число
seven = '7'
new seven = int(seven)
print(new seven, type(new seven))
> 7
# list() - приведение итерируемого объекта к списку
nums = (11, 12)
new nums = list(nums)
print(new nums, type(new nums))
> [11, 12]
# set() - трансформация итерируемого объекта во множество
vegetables = ['carrot', 'tomato', 'cucumber']
new vegetables = set(vegetables)
print(new vegetables, type(new vegetables))
> {'cucumber', 'carrot', 'tomato'}
# tuple() - аналогично, но в кортеж
python = 'Python'
new python = tuple(python)
print(new python, type(new python))
> ('P', 'y', 't', 'h', 'o', 'n')
# str() - приведение к строковому типу
ex dict = {'qiwi': 1453}
new ex dict = str(ex dict)
print(new ex dict, type(new ex dict))
> {'qiwi': 1453}
# bin() - преобразует десятичное число в двоичный формат
20
dec = 10
new dec = bin(dec)
print(new dec)
> 0b1010
■ Отличие type() от isinstanceQ
В отличие от type(), функция isinstance() возвращает не тип данных аргумента, а булево значение,
говорящее о том, принадлежит объект к определенному классу или нет:
num = 4.44
print(isinstance(num, float))
> True
isinstance() также умеет проверять принадлежность объекта хотя к одному типу из кортежа,
переданного в качестве второго аргумента:
name = 'Ash'
print(isinstance(name,
> False
print(isinstance(name,
> True
(float, int, complex)))
(float, int, complex, str)))
Важным отличием также является то, что isinstance() "знает" о наследовании. Функция
воспринимает объект производного класса, как объект базового.
class BaseExample:
pass
class DerivedExample(BaseExample):
pass
test = DerivedExample()
print(isinstance(test, BaseExample))
> True
А вот вывод результата работы функции type():
print(type(test))
>
Здесь видно, что для type() объект test является объектом-представителем класса DerivedExample.
■ Классы
Класс — это тип данных.
У класса есть свойства и функции (в ООП их называют методами).
■ Свойства (поля, атрибуты) — это характеристики, присущие данному конкретному
множеству объектов.
■
Методы — действия, которые они могут совершать.
21
■ Принципы ООП
Абстрагирование, полиморфизм, наследование, инкапсуляция... Классы подобны чертежам: это
не объекты, а их схемы. За счёт принципов ООП класс "банковских счетов" имеет строго
определенные и одинаковые для всех атрибуты, но его объекты (сами счета) уникальны.
Далее обсуждаются вопросы, связанные с принципами ООП, объявлением классов, методов и
созданием объектов,
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя (61) »
Последние комментарии
18 часов 24 минут назад
1 день 2 часов назад
1 день 17 часов назад
1 день 21 часов назад
1 день 21 часов назад
1 день 21 часов назад