Как создавать функции в Python

Функции в Python — это блок кода с именем. Мы можем вызвать функцию по ее имени, и код внутри блока функции будет выполнен. Мы не можем использовать зарезервированные ключевые слова в качестве имени функции. Имя функции должно соответствовать правилам определения идентификаторов Python.

Читать далее Как создавать функции в Python

Коллекции Python

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

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

Читать далее Коллекции Python

Руководство по модулю logging в Python

Модуль Python Logging используется для реализации гибкой системы журналирования, управляемой событиями, которая служит удобным способом хранения событий журнала или сообщений для приложения.

Читать далее Руководство по модулю logging в Python

Отправка данных JSON во Flask с помощью запросов на Python

Представьте, что вы работаете над созданием приложения Flask и вам нужно отправить post данные JSON в приложение. В этом уроке мы узнаем, как отправлять данные JSON в приложение Flask с помощью запросов.

Но перед этим нам необходимо понять основы Flask, библиотеки запросов и данные JSON.

Чтобы отправить данные JSON в приложение Flask с помощью библиотеки Requests в Python, создайте клиентский скрипт, который определяет URL и данные JSON, и используйте requests.post() для отправки запроса POST в приложение Flask. В приложении Flask обработайте входящий запрос POST, извлеките данные JSON с помощью request.json и верните соответствующий ответ. Вы также можете разрешить запросам GET извлекать данные JSON из приложения Flask, изменив декоратор @app.route() и обработав запрос GET соответствующим образом.

Введение в Flask и данные JSON

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

Его можно установить с помощью следующего кода.

pip install flask

Давайте рассмотрим пример создания базовой программы Hello Wprls с использованием Flask. Прежде чем перейти к программе, нам нужно понять, что по умолчанию приложение Flask запускается на локальном сервере хоста (http://localhost:5000/).

from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
    return 'Hello, World!'
if __name__ == '__main__':
    app.run(debug=True)

В первой строке мы импортируем модуль Flask из библиотеки.

Далее мы создаем экземпляр для объекта приложения в следующей строке. Экземпляр сохраняется в app объекте.

Это app.route декоратор, используемый для объявления конечной точки или URL, в котором необходимо развернуть приложение. URL, используемый в этом коде, является URL по умолчанию – http://localhost:5000/.

Далее мы создаем функцию для вывода Hello,World!сообщения на веб-страницу.

Мы запускаем эту программу с использованием app.runметода.

Привет, мир с использованием Flask

Привет, мир с использованием Flask

Запросы: HTTP для людей

Модуль Requests используется для отправки HTTP-запросов с использованием Python для получения данных ответа HTTP URL.

Эту библиотеку можно установить с помощью следующей команды.

pip install requests

С модулем запросов мы можем получать запросы, используя getметод, и отправлять запросы, используя postметод. Мы увидим использование этих методов в демонстрации.

Понимание структуры данных JSON

JSON (JavaScript Object Notation) хранит и передает данные через Интернет. Он напоминает словарь в Python и известен своей легкостью и быстротой.

Вот пример массива JSON.

"name_age":[
  {"name":"X", "age":20},
  {"name":"Y", "age":18"},
  {"name":"Z", "age":22}
]

Отправка данных JSON в приложение Flask

Используя модуль запросов, мы отправим такие данные JSON в приложение Flask.

Создание клиентского скрипта

Сначала мы должны создать файл Python для хранения данных JSON. В этом примере я создал файл Python с именем client.py, который содержит данные JSON.

import requests
url = 'http://localhost:5000/api/data'
json_data = {
  'Name': 'VD',
  'Job':'Dev',
}
response = requests.post(url, json=json_data)
if response.status_code == 200:
  print('JSON data sent successfully!')
else:
  print('Failed to send JSON data:', response.status_code)

Теперь мы импортируем модуль запросов. Затем мы определяем URL, по которому будет развернуто приложение. Далее мы определяем json_data, который имеет две пары ключ-значение — Имя и Работа. Затем мы создаем объект запросов для публикации данных в URL. Для каждого отправленного нами запроса мы получаем код ответа. В случае 200 мы успешно отправили данные в приложение.

Создание приложения Flask

Далее мы создаем еще один файл для приложения Flask. В этом примере мы используем apptest.py.

from flask import Flask, request

app = Flask(__name__)

@app.route('/api/data', methods=['POST']) 
def api_data():
  if request.method == 'POST':
    data = request.json 
    print('Received JSON data:', data)
    return 'JSON data received successfully!', 200
  else:
    return 'Method Not Allowed', 405

if __name__ == '__main__':
  app.run(debug=True)

В этом файле мы пишем код для развертывания приложения на сервере. В app.route декораторе мы определяем конечную точку приложения, которая является URL. Разрешенный метод — POST, который используется для отправки запросов в приложение. В api_dataфункции мы проверяем, является ли метод POST, и используем несколько операторов return, чтобы проверить, успешно ли отправлены данные в приложение.

После того, как оба файла будут сохранены, нам нужно выполнить их client.pyв терминале.

Данные успешно отправлены

Данные успешно отправлены

И мы можем видеть данные в терминале файла apptest.py, что свидетельствует о том, что данные были успешно отправлены в приложение.

Полученные данные JSON

Полученные данные JSON

Давайте проверим, увидим ли мы те же результаты в URL локального хоста – http://localhost:5000/api/data.

Метод не разрешен

Метод не разрешен

Это происходит потому, что в apptest.pyмы разрешаем только POSTметод. Если мы разрешим GETметод в декораторе app.route, мы также сможем увидеть данные JSON на веб-странице.

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/api/data', methods=['GET', 'POST']) 
def api_data():
  if request.method == 'POST':
    data = request.json 
    print('Received JSON data:', data)
    return 'JSON data received successfully!', 200
  elif request.method == 'GET':
      json_data = {
      'Name': 'VD',
      'Job': 'Dev',
    }
    return jsonify(json_data)

if __name__ == '__main__':
  app.run(debug=True)

В декораторе мы добавили GETметод. В дополнение к этому мы также включили оператор if-else для обработки запросов. Это позволяет нам получать данные из приложения Flask на локальном сервере хоста.

Получить запросы

Краткое содержание

В этом уроке мы обсудили основы фреймворка Flask, модуль запросов и данные JSON.

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

Цель этого руководства — познакомить вас с созданием веб-приложений с использованием фреймворка Flask. С этими основами мы можем сделать гораздо больше, например, развернуть модели ML в Интернете и создать интересные приложения. Счастливого кодирования!

Ссылки

Документация Flask

Документация requests

Идентификаторы в Python – правила, примеры и лучшие практики

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

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

Правила написания идентификаторов в Python

При написании идентификатора Python необходимо соблюдать несколько соглашений и правил именования.

  • Ключевые слова не могут использоваться в качестве имен идентификаторов, поскольку они являются зарезервированными словами в языке программирования Python. Если вы попытаетесь, он выдаст SyntaxError.
  • Идентификаторы Python могут содержать строчные буквы (az), заглавные буквы (AZ), цифры (0-9) и подчеркивание (_).
  • Идентификаторы не могут начинаться с цифры. Например, 10test будет недействительным идентификатором.
  • Идентификаторы Python не могут содержать только цифры. Например, 888 будет недопустимым идентификатором.
  • Имена идентификаторов Python могут начинаться с подчеркивания. Таким образом, _test будет допустимым идентификатором.
  • Ограничений на длину имени идентификатора нет. Но не пытайтесь использовать слишком длинный идентификатор, это только подорвет вашу репутацию как программиста.
  • Имена идентификаторов Python чувствительны к регистру. Таким образом, «abc» и «ABC» — это два разных идентификатора. Лучше всего использовать строчные буквы для идентификаторов для единообразия в ваших программах.

Примеры допустимых идентификаторов в Python

Давайте рассмотрим несколько примеров допустимых идентификаторов в Python.

  • ab10c: Содержит только буквы и цифры
  • abc_DE: Содержит все допустимые символы
  • _: Удивительно, но да, подчеркивание является допустимым идентификатором.
  • _abc: Идентификатор может начинаться с подчеркивания

Примеры недопустимых допустимых идентификаторов в Python

Давайте теперь рассмотрим несколько примеров недопустимых идентификаторов в Python.

  • 99: Идентификатор не может состоять только из цифр
  • 9abc: Идентификатор не может начинаться с цифры
  • x+y: единственный разрешенный специальный символ — это подчеркивание.
  • for: Это одно из зарезервированных ключевых слов в Python.

Как проверить, является ли строка допустимым идентификатором?

Мы можем использовать функцию string isidentifier() для проверки допустимости имени идентификатора. Но этот метод не учитывает зарезервированные ключевые слова. Поэтому мы можем использовать эту функцию с keyword.iskeyword() для проверки допустимости имени.

print("abc".isidentifier()) # True
print("99a".isidentifier()) # False
print("_".isidentifier()) # True
print("for".isidentifier()) # True - wrong output

Мы знаем, что «for» — зарезервированное ключевое слово. Поэтому это недопустимый идентификатор. Давайте определим функцию для проверки допустимости имени идентификатора.

def is_valid_identifier(s):
  return s.isidentifier() and not keyword.iskeyword(s)

print(is_valid_identifier("for")) # False

Вывод недействительных идентификаторов Python

Идентификаторы Python

Лучшие практики именования идентификаторов в Python

  • Имена классов должны начинаться с заглавных букв. Например, Person, Employee и т. д.
  • Если имя класса состоит из нескольких слов, используйте заглавные буквы для первого символа каждого слова. Например, EmployeeData, StringUtils и т. д.
  • Для имен переменных, функций и модулей следует использовать маленькие буквы. Например, collections, foo() и т. д.
  • Если имена переменных, функций и модулей состоят из нескольких слов, разделите их подчеркиванием. Например, is_empty(), employee_object и т. д.
  • Имена частных переменных можно начинать с подчеркивания.
  • Избегайте подчеркивания в качестве первого и последнего символа в имени идентификатора. Он используется встроенными типами Python.
  • Если идентификатор начинается и заканчивается двумя подчеркиваниями, то это означает, что идентификатор является специальным именем, определенным языком, например __init__. Поэтому следует избегать двух подчеркиваний в начале и конце имени идентификатора.
  • Сохраняйте имена идентификаторов осмысленными, чтобы было понятно их предназначение. Например, phone_number, is_uppercase и т. д.
  • Если функция возвращает логическое значение, лучше начинать ее имя с «is». Например, isidentifier, iskeyword и т. д.
  • Ограничений на длину имени идентификатора нет. Но пусть оно будет коротким и по существу. Например, the_employee_object_first_name лучше назвать как emp_first_name.

Краткое содержание

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

Ссылка

https://docs.python.org/3/reference/lexical_anaанализ.html#identifiers

Как написать программу Hello World на Python

Если вы попали сюда, я предполагаю, что вы слышали о программировании на Python и хотите его изучить. Что ж, это здорово. И первый шаг в изучении любого нового языка программирования — написать печально известную программу Hello World.

Давайте напишем нашу первую программу Python для вывода «Hello World» на консоль. Давайте сначала займемся программой, а затем узнаем, как работает программа Python. Но перед этим нам нужно установить Python на наш компьютер.

Загрузка и установка Python

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

1. Установка Python на Windows

Python предоставляет полный установщик на основе пользовательского интерфейса для Windows. Перейдите на страницу Python установщики для Windows и из раздела «Stable Releases» загрузите файл Windows Installer EXE. Просто запустите установщик, и он установит Python в Windows. Не забудьте отметить опцию добавления двоичной папки Python в PATH, чтобы сэкономить дополнительные усилия.

2. Установка Python на Mac OS

Перейдите на страницу Python Releases for macOS и из раздела «Stable Releases» загрузите установочный пакет macOS 64-bit universal2. Запустите установщик, и все будет сделано в мгновение ока.

3. Установка Python на Linux/Unix

Большинство операционных систем Linux поставляются с предустановленным Python. Просто запустите команду «python3 –version», чтобы подтвердить это и проверить версию. Если вы хотите использовать последнюю версию, следуйте инструкциям на этой странице Python Docs.


Программа Python Hello World

Теперь, когда мы установили Python в нашей системе, мы готовы написать нашу программу Python для печати Hello World. Вот скрипт Python для печати «Hello World» на консоли.

print("Hello World")

Да, вот именно. Проще и быть не могло.

Вот вывод при выполнении этого скрипта из PyCharm IDE.

Вывод программы Python Hello World

Вывод программы Python Hello World

Это самая простая программа, которую мы когда-либо напишем. Давайте выполним ее также из интерпретатора командной строки python.

$ cat hello_world.py 
print("Hello World")
$ python3.7 hello_world.py 
Hello World
$

Программа Python Hello World, запуск из терминала

Программа Python Hello World, запуск из терминала


Распечатать «Hello World» из интерпретатора командной строки Python

Python поставляется с интерпретатором, который представляет собой интерфейс в виде оболочки для запуска скриптов Python. Давайте посмотрим, как вывести сообщение «Hello World» на консоль из интерпретатора Python.

$ python3.7
Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 16:52:21) 
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print("Hello World")
Hello World
>>> 

Пример Hello World для интерпретатора Python

Пример Hello World для интерпретатора Python


Понимание программы Python Hello World

  • Функция print() — одна из встроенных функций. Эта функция выводит аргумент на консоль.
  • Мы вызываем функцию print() со строковым аргументом «Hello World», чтобы она была выведена на консоль.
  • Когда мы выполняем файл скрипта python, операторы выполняются один за другим. Оператор print() выполняется и выводит сообщение «Hello World» на консоль.

Краткое содержание

Мы начали свой путь изучения программирования на Python с обычной программы «Hello World». Мы установили Python и PyCharm IDE в нашей системе. Мы узнали, что программу Python можно запустить из PyCharm IDE и терминала. Мы также получили некоторое представление об инструменте интерпретатора Python, который очень полезен для запуска небольших фрагментов кода Python.