Общие вопросы
Подписаться на эту рубрику по RSS
Для работы со словарями предназначены следующие методы:
keys() и values() - позволяют получить список всех ключей и значений соответственно:
>>> d = {'a': 1, 'b': 2}
>>> k = d.keys(); v = d.values()
>>> print k, v
['a', 'b'] [1, 2]
Можно также воспользоваться методами iterkeys() и itervalues(), которые возвращают не список ключей и значений, а итератор. Пример:
>>> d = {'a': 1, 'b': 2}
>>> for i in d.iterkeys(): print i,
a b
>>> for i in d.itervalues(): print i,
1 2
Перебрать все элементы списка можно благодаря циклу for, но словари Python не являются последовательностями. В качестве примера выведем элементы словаря двумя методами. Первый способ использует метод keys(), возвращающий список всех ключей словаря. Второй способ появился в последних реализах Python. В этом случае мы просто указываем словарь в качестве параметра. На каждой интерации цикла будет возвращаться ключ, с помощью которого внутри цикла можно получить значение, соответствующее этому ключу.
Перебор элементов словаря
# -*- coding: utf-8 -*-
cars = {
'BMW': 'x5',
'Mercedes-Benz': 'E220',
'Audi': 'Q7'
}
for key in cars:
print "%s -> %s" % (key, cars[key])
print '-' * 15
print 'Пример 2'
print '-' * 15
for key in cars.keys():
print "%s -> %s" % (key, cars[key])
Недавно наткнулся на один форум пока искал в гугле некоторые советы по оптимизации сайта. Форум мне показался достаточно приятным и полезным, иначе я бы не стал о нем писать. Новые сообщения появляются каждый день, видно, что форум живой и на нем общаются люди. Для программистов и оптимизаторов есть хорошая возможность поучаствовать в развитие данного форума. Вы можете поделиться новостью, рекламировать свою библиотеку, свой скрипт или описать свой проект.
Можно сказать, что форумов на данную тематику много и еще один не пристроится, но это не так. Администрация и посетители сайта создают особую атмосферу общения, что позволяет новичкам чувствовать себя комфортно и не стесняясь задавать интересующие вопросы. Скорость ответа на новые сообщения радует, т.к. администрация старается угодить всем и не дать ни одной теме упасть в недра форума.
Модуль StringIO позволяет работать со строкой как с файловым объектом. Все операции с файловым объектом производится в оперативной памяти. Для создания нового объекта предназначен класс StringIO. Формат конструктора класса:
StringIO([<Начальное значение>])
Если параметр не указан, то начальным значением будет пустая строка. После создания объекта указатель текущей позиции устанавливается на начало "файла". Объект, возвращаемый конструктором класса, имеет следующие методы:
Американский поисковой разработчик Google официально опубликовал свежие статистические сведения, которые касаются непосредственного распространения самых свежих версий собственной операционной программы. Следует сразу добавить, что общее количество устройств на базе мобильного решения Android класса Jelly Bean впервые за все время сбора статистики превысило ожидаемую отметку в 50 процентов.
В самом начале необходимо кликнуть Выбрать Файл – Создать - C++ Project или нажать на панели инструментов стрелку рядом с кнопкой New C/C++ Project и в выпадающем списке выбрать C++ Project. В результате откроется окно создания проекта.
В окне следует ввести имя проекта, а затем в поле Project type (тип проекта) выбрать: Executable - Empty Project (Исполняемый - Пустой проект). Тип Executable обеспечивает создание исполняемого приложения (т.е. файла с расширением .ехе ). При этом файл сценария построения проекта (make-файл) генерируется средой CDT автоматически.
В последние несколько лет мы наблюдаем ситуацию, которую эксперты называют консьюмеризацией IT. Не погружаясь в историю данного явления, которое, кстати, характерно не только для IT-технологий, надо выделить главное: на сегодняшний день как раз «консьюмеры» готовы платить за значительный размер добавленной стоимости – иногда за счет количества, иногда – желанием и способностью получать новинки, а также интересные идеи.
Операционная система Windows, которая стремительно завоевывала популярность во время роста интереса простых обывателей к интернет-технологиям, интенсивно развивалась до середина 2000-х, пока персонализация вычислений не перешла на новый виток развития – мобильность и доступность.
Начиная с версии 2.6, язык Python поддерживает протокол менеджеров контекста. Этот протокол гарантирует выполнение завершающих действий (например, закрытие файла) вне зависимости от того, произошло исключение внутри блока кода или нет. Необходимо заметить, что в Python 2.5 также можно использовать протокол, предварительно указав выражения (в Python 2.6 и выше это выражение указывать не нужно).
from __future__ import with_statement
Для работы с протоколом предназначения инструкции with ... as. Инструкция имеет следующий формат:
with <Выражение>[ as <Переменная>]: <Блок, в котором перехватываем исключения>Далее...
В определенных классах в круглых скобках можно указать сразу несколько базовых классов через запятую. В этом случае поиск идентификаторов производится вначале в производном классе, затем в базовом классе, расположенном первым в списке, далее просматриваются все базовые классы базового класса. Только после этого просматривается базовый класс, расположенный в списке правее, и все его базовые классы. Список базовых классов просматривается слева направо. Результатом поиска будет первый найденный идентификатор. Рассмотрим множественное наследование на примере.
Множественное наследование
class Class1: # Базовый класс для класса Class2
def f_func1(self):
print "Метод f_func1() класса Class1"
class Class2(Class1): # Класс Class2 наследует класс Class1
def f_func2(self):
print "Метод f_func2() класса Class2"
class Class3(Class1): # Класс Class3 наследует класс Class1
def f_func1(self):
print "Метод f_func1() класса Class3"
def f_func2(self):
print "Метод f_func2() класса Class3"
def f_func3(self):
print "Метод f_func3() класса Class3"
def f_func4(self):
print "Метод f_func4() класса Class3"
class Class4(Class2, Class3): # Множественное наследование
def f_func4(self):
print "Метод f_func4() класса Class4"
c1 = Class4() # Создаем экземпляр класса Class4
c1.f_func1() # Выведет: Метод f_func1() класса Class1
c1.f_func2() # Выведет: Метод f_func2() класса Class2
c1.f_func3() # Выведет: Метод f_func3() класса Class3
c1.f_func4() # Выведет: Метод f_func4() класса Class4
Далее...
Интернет прочно вошел в нашу жизнь. Очень часто необходимо передать данные на Web-сервер или, наоборот, получить данные. Например, нужно получить котировку валют или прогноз погоды, проверить наличие писем в почтовом ящике. В состав стандартной библиотеке Python входит множество модулей, позволяющий работать практически со всеми протоколами Интернета.
Разбор URL-адреса
С помощью модуля urlparse можно манипулировать URL-адресом. Например, разобрать его на составляющие или получить абсолютный URL-адрес, указав базовый адрес и относительный. URL-адрес состоит из следующих элементов:
<Протокол>://<Домен>:<Порт>/<Путь>;<Параметры>?<Запрос>#<Якорь>Далее...