просмотров:1373

Python короткие заметки, которые буду писать в процессе изучения языка

------------------------------------------

dir

Возвращает имена [переменных], доступные в локальной области, либо атрибуты указанного объекта в алфавитном порядке.
http://ru.diveintopython.net/apihelper_builtin.html
====================
raw_input() // интерпретатор будет в конце программы ждать нажатия enter.

====================

Присваивание в циклах и условиях не работает. Сделано это специально, чтобы никто не перепутал сравнение с присваиванием, что, по мнению автора языка, является нередкой ошибкой.

========================

Вместо: NULL, TRUE, FALSE — None, True, False и только в таком регистре.

========================

В Python для массива мы используем 3-4 типа данных:
 

  • list — список.
    a = [1, 2, 3]  # краткая форма
    a[10] = 11  # Нельзя добавлять произвольный индекс
    # > IndexError: list assignment index out of range
    a.append(11)  # но можно добавлять в конец
    del a[0]  # удалять по ключу
    a.remove(11)  # удалять по значению
    
  • dict — словарь. Интересная особенность, что словарь не гарантирует сохранение порядка (в PHP гарантирует).
    d = {'a': 1, 'b': 2, 'c': 3}  # краткая форма
    d[10] = 11  # Можно добавлять произвольный индекс
    d[True] = False  # И использовать для ключей любые неизменяемые типы (число, строка, булевские, кортежи, замороженные множества)
    del d[True]  # удалять по ключу
    
  • tuple — кортеж. Эдакий фиксированный массив с неоднородными значениями. Отлично подходит для возврата из функции нескольких значений и компактного хранения настроек.
    t = (True, 'OK', 200, )  # краткая форма
    t[0] = False  # Нельзя менять элемент
    # > TypeError: 'tuple' object does not support item assignment
    del t[True]  # Нельзя удалять по ключу
    # > TypeError: 'tuple' object doesn't support item deletion
    t = ([], )  # Но можно менять вложенные изменяемые структуры (списки, словари, множества, массивы байт, объекты)
    t[0].append(1)
    # > a == ([1], )
    
  • set — множество. По сути, список уникальных значений не гарантирующий сохранения их порядка.
    s = set([1,3,4])
    s[0] = False  # Нельзя работать с элементами по индексу
    # > TypeError: 'set' object does not support indexing
    s.add(5)  # Можно добавлять элемент
    s.remove(5)  # Удалять
    # Ну и стандартная математика для множеств
    s | s  # Объединение
    s & s  # Пересечение
    s - s  # Разность
    s ^ s  # Объединение уникальных
    


В PHP массив — эдакий швейцарский нож, всё в одном. А Python больше склоняет к тому, что надо использовать более нативные для Computer Science наборы данных, в каждом место свои, более подходящие. «Да ну их, опять задротам неймётся, программирование должно быть простым», — могут воскликнуть некоторые читатели. И будут неправы, так как:

почти всегда используется или list или dict.

============================

 

 

просмотров:1373 | комметариев: 0

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

Ваше имя:
 
Текст комментария:
 
+ 1 =