Архив рубрики: Публикации

Как комментировать в Python

При написании кода на Python всегда полезно делать код легко читаемым. Организация кода, присвоение переменным и функциям описательных имен — это несколько способов сделать это.

Еще один способ улучшить читабельность вашего кода — это использовать комментарии. Комментарий — это понятное человеку объяснение или аннотация, которая используется для объяснения кода. Например, если вы написали сложное регулярное выражение, вы добавите комментарий, описывающий, что делает код.

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

Комментарии должны быть краткими и точными. Не объясняйте что-то очевидное для читателя.

В этой статье рассматриваются основы написания комментариев на Python.

 

Написание комментариев в Python

Python игнорирует все, что написано в строке после хеш-метки (#).

Комментарии могут быть добавлены в начале строки или встроены в другой код:

# Это комментарий Python.

print("Привет Мир") # Это встроенный комментарий Python.


Пробел после хеш-метки не обязателен, но он улучшит читабельность комментария.

Символ хеша внутри строкового литерала не указывает на начало строки комментария. Это просто хэш-символ:

paragraph = "# Хэш внутри кавычек-это не комментарий."



Комментарии должны быть на том же уровне отступа, что и код под ними:



```py

def factorial(n):

  if n == 0:

    return 1

  else:

    # Используйте функцию факториала

    return n * factorial(n-1)


Если ваш текстовый редактор поддерживает подсветку синтаксиса, комментарии обычно отображаются зеленым цветом.

Комментарии также полезны при отладке скрипта. Вместо удаления некоторых строк или блоков, вы можете закомментировать их:

# for fruit in fruits:

#   print(fruit)


Многострочные комментарии в Python (блоки комментариев)

В отличие от других популярных языков программирования, Python поддерживает только однострочные комментарии.

Самый простой способ написать многострочные комментарии в Python — добавить однострочные комментарии один за другим:

# Это первая строка.

# Это вторая строка.


Другой вариант — использовать строки документации.

Строки документации — это многострочные строковые литералы, которые используются для документирования того, что делает модуль, функция, класс или метод.

Строка документа начинается и заканчивается тройными двойными кавычками ( «»») и может занимать одну или несколько строк:

"""Это 

многострочная строка 

документа.

"""


Строки документации не являются технически комментариями. Когда строка документа встречается в качестве первого оператора в модуле, функции, классе или методе, она заканчивается в байт-коде и становится специальным атрибутом __doc__ этого объекта. Вы должны предпочесть использование обычных однострочных хеш-комментариев.

 

Python

Если вы читаете скрипты Python, вы можете заметить, что в некоторых из них первая строка начинается с символов #! и пути к интерпретатору Python:

#!/usr/bin/env python3


Эта последовательность символов вызывается shebang и используется для указания операционной системе, какой интерпретатор использовать для анализа остальной части файла. Скрипты, которые начинаются с shebang и являются исполняемыми, могут запускаться в терминале без ввода python перед именем скрипта.

Поскольку строка shebang начинается с символа хеша, она рассматривается как комментарий и автоматически игнорируется интерпретатором Python.

 

Вывод

Написание комментариев является хорошей практикой и помогает другим разработчикам, в том числе будущим, понять, что делает код. В Python все после хеш-метки ( #) и до конца строки считается комментарием.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-07-01T13:13:07
Python

rtorrent – терминальный торрент для Linux

Сегодня в статье рассмотрим небольшую утилиту rtorrent – терминальный торрент клиент для Linux систем. Использовать я буду Ubuntu Server 20.04 LTS. И так давайте начнем.

Читать →

Microsoft Windows File Recovery для восстановления данных



























Rate this post

Microsoft выпустила программу для восстановления данных из памяти компьютера, «флешек» и других накопителей. Новая программа называется Microsoft Windows File Recovery — это надстройка для командной строки, которая позволяет восстановить множество разных файлов. Таким образом можно вернуть случайно удаленные фотографии с камеры или файлы из отформатированного накопителя.

Программа поддерживает большинство форматов фотографий, видео, документов и других файлов — MP3, MP4, PDF, JPEG, Word, Excel, Word, PowerPoint, архивы ZIP и многие другие. Восстановить данные можно с большинства накопителей, включая USB-карты, SD-карты, жесткие диски и SSD7.

В первую очередь программа работает с накопителями в файловой системе NTFS. Также поддерживает FAT, exFAT и ReFS, с ними восстановление работает медленнее.

Для восстановления документов, фотографий, видео и других файлов программа использует интерфейс командной строки, поэтому для взаимодействия с ней потребуются определённые навыки.

Поддерживается три режима работы, каждый из которых по-своему осуществляет восстановление данных.

При восстановлении файлов в режиме «По умолчанию» используется Master File Table, база данных, содержащая информацию о содержании тома с файловой системой NTFS. Этот режим хорошо работает, когда присутствует MFT и имеются сегменты файла (File Record Segment).

В режиме «Сегмент» не требуется наличие MFT, но нужны сегменты файла, представляющие собой набор данных, которые хранятся в MFT, если обрабатывается том с файловой системой NTFS.

В режиме «Подпись» утилите требуются только данные, а также указание определённого типа файлов, которые требуется восстановить. Попытаться восстановить файл на внешнем устройстве хранения, например, USB-накопителе, можно только в этом режиме.

Утилита Windows File Recovery распространяется бесплатно через магазин Microsoft Store. После установки она будет доступна в виде инструмента командной строки winfr.exe. Программа совместима с Windows 10 (19041) и более поздних версий. Для корректной работы утилиты требуется осуществить её запуск с правами администратора.


2020-06-29T20:11:18
Windows

Linux. Как узнать объёмы трафика сервера

Мониторинг нагрузки на устройства — это одна из самый востребованных задач IT бизнеса. Если вы не знаете насколько напрягаются ваши железки, то не сможете ни предугадать поломки, ни спрогнозировать расширение парка устройств. В этой статье расскажу как узнать объёмы трафика на Linux системах без каких-либо дополнительных программ. Читать →

Разбор данных JSON в Python

JSON — это читаемый человеком текстовый формат данных. Он не зависит от языка и используется для обмена данными между приложениями.В этой статье мы объясним, как анализировать данные JSON в Python.

 

Python JSON

Модуль json позволяет кодировать и декодировать данные JSON является частью стандартной библиотеки Python.

JSON — это строка, представляющая данные. Кодирование или сериализация означает преобразование объекта Python в строку JSON, которую можно сохранить в файле или передать по сети. Декодирование или десериализация — обратный процесс кодирования, когда строка JSON преобразуется в объект Python.

Ниже приведена таблица, показывающая объекты Python и их эквивалентное представление JSON:











PythonJSON
dictobject
list, tuplearray
strstring
int, floatnumber
Truetrue
Falsefalse
Nonenull

 

Для работы с JSON просто импортируйте модуль вверху файла:

import json


 

Кодировка JSON в Python

Модуль json имеет два метода для кодирования объектов Python в JSON отформатированных строк: dump() и dumps().

Метод dump() отправляет вывод в файл-подобный объект. Он принимает два позиционных аргумента: объект, который должен быть закодирован, и объект в виде файла. Вот пример:

data = {

    "country": "Russia",

    "vehicle": {

        "name": "Volkswagen",

        "model": "T-Roc"

    }

}



with open("file.json", "w") as file:

    json.dump(data, file)


 

Если вы запустите скрипт, он создаст файл с именем file.json:

file.json

{"country": "Russia", "vehicle": {"name": "Volkswagen", "model": "T-Roc"}}


 

Метод dumps() работает так же, как и dump(), но вместо того, чтобы послать вывод в файл-подобный объект, он возвращает строку:

data = {

    "country": "Russia",

    "vehicle": {

        "name": "Volkswagen",

        "model": "T-Roc"

    }

}



json.dumps(data)


 

'{"country": "Russia", "vehicle": {"name": "Volkswagen", "model": "T-Roc"}}'


 

Оба метода принимают одинаковые ключевые аргументы. Например, если вы анализируете или отлаживаете данные JSON, вы можете указать уровень отступа:

data = {

    "country": "Russia",

    "vehicle": {

        "name": "Volkswagen",

        "model": "T-Roc"

    }

}



print(json.dumps(data, indent=2))


 

{

  "country": "Russia",

  "vehicle": {

    "name": "Volkswagen",

    "model": "T-Roc"

  }

}


 

Расшифровка JSON в Python

Для того, чтобы преобразовать JSON закодированные данные в объекты Python, использовать методы load() и loads().

Метод load() считывает структуру JSON из файла типа объекта и преобразует его в объект Python.

Допустим, у нас есть следующий файл JSON:

file.json

[

  {

    "userId": 1,

    "id": 1,

    "title": "Meet with Lisa",

    "completed": true

  },

  {

    "userId": 1,

    "id": 2,

    "title": "Design a prototype",

    "completed": false

  }

]


 

Чтобы преобразовать данные JSON в представление Python, вы должны использовать что-то вроде этого:

import json



with open('file.json') as f:

  data = json.load(f)



type(data)


 

JSON преобразуется в список Python, который вы можете использовать в своем коде:

<class 'list'>


 

Метод loads() преобразует строку, содержащую документ JSON на объект Python:

import json



json_str= '{"userId": "1", "id": "1", "title": "Meet with Lisa", "completed": "True"}'



print(json.loads(json_str))


 

Строка преобразуется в словарь Python:

{'userId': '1', 'id': '1', 'title': 'Meet with Lisa', 'completed': 'True'}


 

Вот более сложный пример, который показывает, как сделать запрос API и декодировать данные JSON:

import json

import requests



response = requests.get("https://jsonplaceholder.typicode.com/users")

users = json.loads(response.text)



print(users)


 

Вывод

Мы рассказали вам, как кодировать и декодировать данные JSON в Python.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-06-29T10:06:00
Python

Call Tracking для начинающих и опытных пользователей — что это?

Мы много слышим о том, как компании должны использовать отслеживание вызовов, чтобы увидеть истинную ценность своих маркетинговых кампаний. Но что такое отслеживание вызовов?

Отслеживание вызовов измеряет влияние маркетинговых усилий на генерацию потенциальных клиентов и продажи. Коллтрекинг был рожден из-за стремления маркетологов, основанных на фактических данных, повысить прозрачность источников свинца. Если бы все потенциальные клиенты и продажи приходились на простые онлайн-конверсии форм, было бы легко узнать, какая реклама обеспечивает наилучшую рентабельность инвестиций без какого-либо отслеживания вызовов. Но для большинства отраслей вне базовой электронной коммерции, включая туристические, медицинские, автомобильные, финансовые услуги и B2B-технологии, подавляющее большинство потенциальных клиентов и продаж осуществляется по телефону. Реальность такова, что без отслеживания вызовов, как только ведущий увидит номер телефона в объявлении и решит набрать номер, понимание эффективности этого объявления исчезнет.

Почему компании недооценивают метрики вызовов и что они упускают

С наступлением эпохи гаданий каждая компания нуждается в 360-градусном обзоре своей маркетинговой рентабельности. К сожалению, во многих организациях продажи и маркетинг существуют в таких жестких условиях, что замкнуть петлю между маркетинговыми усилиями и входящими звонками кажется практически невозможным. Некоторые компании ошибочно полагают, что это будет слишком сложно или слишком дорого. Другие просто наивны в отношении того, сколько вызовов на самом деле ведут их маркетинговые усилия.

Посмотрите, что обнаружила Nutrisystem, когда начала сравнивать показатели конверсии продаж между своими веб-и телефонными каналами. В интернете показатель близких контактов Nutrisystem составлял 2-3% от потенциальных клиентов из веб-рекламы. Когда перспективы звонили, чтобы поговорить с представителем Nutrisystem, коэффициент конверсии подскочил до 20%.

В маркетинговом агентстве DemandResults, основанном на фактических данных, директор по маркетингу Дженнифер Стретч сообщила, что клиенты, впервые использующие программное обеспечение для отслеживания вызовов, часто обнаруживают, что 50% или более их потенциальных клиентов действительно поступают по телефону. «Когда внезапно появляется такая большая рентабельность инвестиций, мы можем принимать более разумные решения о том, куда помочь клиентам инвестировать в маркетинг. И там я действительно имею в виду базовое отслеживание каналов. Когда клиенты начнут отслеживать на уровне ключевых слов, мы сможем еще лучше разобраться в фактической тактике обмена сообщениями и входящего маркетинга».

В целом, более широкое использование смартфонов и их влияние на поведение потребителей ускоряет необходимость понимания связи между маркетинговыми усилиями и телефонными звонками.

Мобильные устройства теперь используются больше, чем настольные компьютеры для поиска информации, использования мультимедиа, а затем для звонков, чтобы размещать заказы или узнавать подробности. Кроме того, мобильные продажи часто оказываются более прибыльными, чем в других каналах — Starwood сообщила о 20-кратном увеличении рентабельности рекламы благодаря мобильным методам «нажми и звони».

Как работает программное обеспечение для отслеживания звонков?

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

Затем маркетологи связывают уникальные номера с конкретными маркетинговыми заданиями, такими как реклама на телевидении или радио, рекламные материалы для конференций, реклама в социальных сетях или даже ключевые слова для поиска.

Когда клиент звонит, уникальный номер мгновенно сообщает источник рекламы на основе связанного номера телефона. Другие общие стандартные показатели включают в себя время звонка и отчеты о геолокации.

Этапы отслеживания вызовов

Базовое отслеживание звонков

В своей основной форме программное обеспечение для отслеживания вызовов может связывать кампанию с определенным служебным номером телефона. Это может позволить компании автоматически отслеживать показатели телефона, такие как количество звонков, местоположение звонков и продолжительность звонков. Базовое отслеживание телефонных звонков может также обеспечить небольшое количество показателей вызовов. Например, количество продаж звонков, которые короче 40 секунд (голосовой эквивалент отказов). Однако для более глубокого понимания требуется более сложное программное обеспечение.

Отслеживание на основе кампании

Даже малый и средний бизнес нередко проводит несколько рекламных кампаний одновременно. У бренда может быть шесть отдельных групп объявлений, основанных на разных товарах. Решения для отслеживания вызовов на основе кампании предлагают различные номера. Каждый номер может быть ориентирован на другой продукт, группу объявлений с платным поиском, отдельное объявление или даже определенное ключевое слово. Каждый номер присваивается определенной сущности. Маркетинг и продажи могут поэтому легко отделить звонки, которые происходят от определенных объявлений.

Генерация динамических номеров для SEO и SEM

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

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

Интеграция CRM с отслеживанием звонков

Более сложное отслеживание вызовов — и то, что потенциально приносит наибольшую отдачу — включает в себя отслеживание показателей вызовов с помощью CRM, например Salesforce.com. Отслеживание исходных показателей кампании в CRM позволяет использовать показатели, выходящие далеко за рамки создания потенциальных клиентов. Компании могут принимать решения на основе фактического дохода, получаемого в результате конкретных маркетинговых усилий, а не просто на основе количества потенциальных клиентов.

В общем, это действительно связано с уровнями зрелости маркетинга. Компании, размещающие рекламу без каких-либо связанных показателей конверсии, находятся на начальном этапе. Те, кто занимается основным каналом и отслеживанием вызовов на основе ключевых слов, будут где-то посередине. В то же время те, кто принимает решения, основанные на доходах, являются наиболее зрелыми.

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

Отслеживание офлайновых обязательств

Отслеживание звонков дает компаниям возможность определить, какие автономные мероприятия приносят наибольшую пользу. Больше нет необходимости спрашивать лидера: «Как вы нас нашли?»

Маркетологи с прямым откликом часто изо всех сил пытались понять, какие телевизионные и радиорекламы дают наилучшие результаты. Например, представьте, что вы управляете стартап-компанией, которая продает тренажеры. Вы хотите показывать рекламу на радио, но не знаете, какая демография обеспечит наилучшую рентабельность инвестиций. Вы можете найти рекламу на ток-радиостанции, Top 40 и на станции, которая воспроизводит R & B. Для того чтобы узнать, какая реклама вызывает наибольшее количество продаж, вам нужно указать три отдельных телефонных номера. Затем системы отслеживания вызовов могут сообщать, какие радиостанции обеспечивают наибольшее количество продаж.

В некоторых отраслях, таких как программные технологии и здравоохранение, компании часто присутствуют на выставках. Маркетологи долго боролись за количественную оценку ROI своих личных маркетинговых инвестиций. Если ваша компания размещает рекламу в журнале выставок, раздает одностраничные листовки на стенде и проводит презентацию в Powerpoint, вы можете назначить уникальный номер каждому из этих заданий. Тогда ваш бизнес сможет связать свои усилия с рентабельностью инвестиций, чтобы ваши персональные обязательства были постепенно успешными.

Отслеживание онлайн-обязательств

Отслеживание звонков с сайтов

У веб-издателей есть много способов использовать отслеживание звонков. В этом разделе рассматриваются как минимум три варианта использования.

Отслеживание звонков со страницы бизнес-справочника

Сайты, содержащие данные о компаниях, постоянно удивляются, когда решают начать отслеживать звонки с телефонных номеров, указанных на странице. Часто это полезно в качестве теста, чтобы увидеть, насколько эффективна реклама на странице и сколько за нее нужно платить. На недавней конференции один из выступавших процитировал местный сайт с перечнем услуг по ремонту автомобилей, на котором отображался номер телефона каждой ремонтной мастерской. В качестве теста он решил назначить уникальные номера телефонов каждому листингу и перенаправить эти тестовые номера на реальные рабочие номера. Удивительно, что каждый шестой посетитель на самом деле называл число на странице. Этот тип доказательств может дать операторам сайта как уверенность, так и метрики, с помощью которых можно оправдать существенное увеличение платы за рекламу.

Отслеживание звонков с нескольких сайтов

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

Отслеживание любого входящего источника с помощью автоматизации маркетинга

Динамическое отслеживание сеансов — это тип автоматизации маркетинга, который позволяет маркетологам отслеживать звонки практически из любого источника. Это особенно полезно при отслеживании большого количества уникальных поисковых слов. В этом сценарии бренды предоставляют пул телефонных номеров, достаточно большой, чтобы выдержать как минимум один или два дня входящих телефонных звонков из источников кампании. Например, компания, получающая около 1000 звонков в день, может предоставить как минимум столько телефонных номеров. В этом сценарии, когда посетитель сайта прибывает после выполнения поиска Google с термином «ремонт в Голливуде Мерседес», номер автоматически выбирается из пула и динамически подается на веб-сайт. Этот номер связан с конкретным поисковым термином только достаточно долго, чтобы хранить метрики вызовов в аналитике или в CRM компании. Когда сеанс пользователя закончен,номер не связан с поисковым термином и переназначается для нового абонента. Динамические свойства этого типа отслеживания обычно выполняются путем вставки кода отслеживания на каждую страницу веб-сайта, как правило, в качестве глобального элемента. Соответствующее программное обеспечение для отслеживания вызовов затем автоматизирует обслуживание динамических номеров на основе источника кампании.

https://www.youtube.com/watch?v=Ta2UlDIBTr0



2020-06-25T18:25:23
Вопросы читателей