170 likes | 441 Views
Язык Python. Универсальный язык программирования Интерпретируемый язык. История. Гвидо ван Россум (Guido van Rossum) 1991 год. Принципы ООП в Python. В Python класс является объектом Следовательно, классы можно создавать динамически Допускается множественное наследование.
E N D
Язык Python Универсальный язык программирования Интерпретируемый язык
История • Гвидо ван Россум (Guido van Rossum) 1991 год
Принципы ООП в Python • В Python класс является объектом • Следовательно, классы можно создавать динамически • Допускается множественное наследование
Особенности реализации Поддерживается: • Исключения – реализованы подобно языку Java • Последовательности: • Кортежи • Списки • Хэш (ассоциированный массив)
Операторы • Условный ifусловие: операторы elifусловие: операторы else: операторы • Цикл «пока» whileусловие: операторы • Цикл «для» forпеременная inсписок: операторы • Определение функции defимя(арг1, арг2=знач): операторы • Обработка исключений try: операторы exceptтип: операторы except: операторы • Утверждение assertусловие
Типы данных • Все данные – объекты • Жёсткой типизации нет (у переменных нет типов) • Значение любого типа может рассматриваться как логическое значение
Типы данных • числа; • обычное целое int • целое произвольной точности long • логический bool • число с плавающей точкой float • комплексное число complex • последовательности; • строка str; • Unicode-строка unicode; • кортеж tuple; • список list; - изменяемая последовательность • отображения: • словарь dict • вызываемые: • функции; • функции-генераторы; • методы; • классы (новые и "классические"); • экземпляры классов (с методом __call__); • модули; • классы; • экземпляры классов; • файлы file; • вспомогательные типы buffer, slice. • специальные типы: None, NotImplemented и Ellipsis;
Последовательности • Кортежи (1, 2, 3) () – пустой кортеж (a, b) = (1, 2) - присваивание • Списки [1, 2, 3,] • Хэш {1: 'one', 2: 'two', 3: 'three'}
Строки • 'abc' • "строкаограниченная ""-символом" • "abc" + "def" • "abc" * 10
Операции • Арифметические +, -, *,/, %, ** • Побитовые &, |, ^ <<, >>, ~ – сдвиги и инверсия • Сравнения <, >, <=, >=, !=, == • Логические and, or, not • Двойные сравнения a < b < c
Синтаксические особенности • Вместо операторных скобок используется отступ • Срезы последовательностей m[a:b], m[a:], m[:b] если aили bотрицательное, то считается справа • Комментарии # комментарий
Определение классов class имя(класс1, класс2, …): def __init__(self, …): # определение конструктора # определение методов • Создание объекта класса A: x=A() • Поля объектов можно не объявлять • Свойства –property x = property(getx, setx, delx)
Управление памятью • del имя – удаление имени • Сборка мусора организуется подобно Java