FAQ Python::Журнал СА 2.2003
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Наука и технологии
Подписка
Где купить
Авторам
Рекламодателям
Архив номеров
Контакты
   

  Опросы
  Статьи

Электронный документооборот  

5 способов повысить безопасность электронной подписи

Область применения технологий электронной подписи с каждым годом расширяется. Все больше задач

 Читать далее...

Рынок труда  

Системные администраторы по-прежнему востребованы и незаменимы

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

 Читать далее...

Учебные центры  

Карьерные мечты нужно воплощать! А мы поможем

Школа Bell Integrator открывает свои двери для всех, кто хочет освоить перспективную

 Читать далее...

Гость номера  

Дмитрий Галов: «Нельзя сказать, что люди становятся доверчивее, скорее эволюционирует ландшафт киберугроз»

Использование мобильных устройств растет. А вместе с ними быстро растет количество мобильных

 Читать далее...

Прошу слова  

Твердая рука в бархатной перчатке: принципы soft skills

Лауреат Нобелевской премии, специалист по рынку труда, профессор Лондонской школы экономики Кристофер

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9941
Комментарии: 0
Потоковая обработка данных

 Читать далее...

19.03.2018г.
Просмотров: 8153
Комментарии: 0
Релевантный поиск с использованием Elasticsearch и Solr

 Читать далее...

19.03.2018г.
Просмотров: 8258
Комментарии: 0
Конкурентное программирование на SCALA

 Читать далее...

19.03.2018г.
Просмотров: 5226
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 5910
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

Друзья сайта  

 FAQ Python

Архив номеров / 2003 / Выпуск №2 (3) / FAQ Python

Рубрика: Программирование /  Анализ данных

 РОМАН СУЗИ 

FAQ Python

ВОПРОС:

Python распространяется по лицензии программного обеспечения с открытым исходным кодом, а можно ли для него писать коммерческие программы?

ОТВЕТ:

Лицензия на Python не ограничивает его использования в каких-либо проектах. Если в вашем продукте использован Python, достаточно указать этот факт как в самом продукте, так и в сопровождающей его документации. Подробности в лицензии.

ВОПРОС:

Как превратить шестнадцатеричное представление IP-адреса в строку байт? В «точечное» представление?

ОТВЕТ:

import binascii
binascii.a2b_hex("E786AA80")
".".join(map(str, map(ord, binascii.a2b_hex("E786AA80"))))

Примечание: функция map(f, s) применяет функцию f к каждому элементу последовательности s.

ВОПРОС:

Как из Python узнать IP-адрес хоста?

ОТВЕТ:

import socket
socket.gethostbyname("www.host.ru")

ВОПРОС:

С помощью какой функции можно проверить существование файла или каталога?

ОТВЕТ:

import os
if os.access("/path/to/file", os.F_OK): # файл доступен

ВОПРОС:

Как убрать проценты из записи URL?

ОТВЕТ:

import urllib

urllib.unquote(«http://www.host.ru/%61%62%63»)

ВОПРОС:

Как в Python 2.x изменить кодировку текста в строке?

ОТВЕТ:

Например, перекодировку из KOI8-R в CP1251 можно сделать посредством Unicode:

unicode("ВОПРОС", "koi8-r").encode("cp1251")

ВОПРОС:

Почему получается такой результат?

>>> l = [[0]*2]*2

>>> l

[[0, 0], [0, 0]]

>>> l[0][0] = 1

>>> l

[[1, 0], [1, 0]]

ОТВЕТ:

Объекты списка, участвующие в репликации, копируются поверхностно. Таким образом, список l состоит из двух «ссылок» на один и тот же объект. Соответственно, изменение этого объекта дает такой неожиданный результат.

ВОПРОС:

Есть ли в Python тип данных массив?

ОТВЕТ:

Обычно в Python используется более гибкая встроенная структура данных – список. Если вам действительно нужны массивы, в стандартной библиотеке Python есть модуль array для работы с массивами чисел и символов. Для эффективной работы с массивами данных лучше использовать пакет Numeric Python. Его можно найти на http://numpy.sourceforge.net.

ВОПРОС:

В Python нет встроенного типа данных для множеств. Чем можно его заменить?

ОТВЕТ:

Множества можно легко эмулировать с помощью словарей:

# Инициализируем два множества(повторы будут автоматически убраны,
# так как одному ключу может соответствовать только одно значение)
set = {}
for e in [1,2,3,4,1,5,6,1,4]:set[e] = 1
set1 = {}
for e in [3,4,5,6]:set1[e] = 1
set.keys() # Список элементов множества
set.has_key(5) # Проверка принадлежности множеству
set.update(set1) # Объединение множеств (результат в set)
# Пересечение множеств:
set2 = {}
for e in set.keys():
if set1.has_key(e):
set2[e] = 1

Кроме того, класс множество с различными операциями можно легко запрограммировать. См., например, рецепт на http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/106469.

ВОПРОС:

Как вставить в строку значения переменных по аналогии с «$var» в Perl или sh?

ОТВЕТ:

Можно использовать операцию форматирования и словарь переменных vars() следующим образом (для иллюстрации команды выполнены в диалоговом режиме интерпретатора Python):

>>> a, b, c = 2, «text», 12.4

>>> print «»»a: %(a)05i, b: %(b)s, c: %(c)8.2f»»» % vars()

a: 00002, b: text, c:    12.40

Для строкового литерала были использованы утроенные кавычки: это позволяет использовать внутри строки одиночные кавычки и апострофы без дополнительного экранирования, а также задавать текст на нескольких строках.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-41
Fax: (499) 277-12-45
E-mail: sa@samag.ru