Библиотеки
random
- random - библиотека идущая вместе с Python, вы можете импортировать её в свой проект.
- Для загрузки библиотеке используйте ключевое слово import.
- В модуле random есть функция random.choice(seq). Аргумент этой функции это список.
- В терминале выполните code generate.py. В редакторе наберите:
Программа будет с равной вероятностью печатать одно из значений списка.import random coin = random.choice(["heads", "tails"]) print(coin) - Мы можем импортировать только эту функцию из модуля, изменив код:
from random import choice coin = choice(["heads", "tails"]) print(coin) -
Следующая функция random.randint(a, b) генерирует случайное
целое значение n, такое что a ≤ n ≤ b.
import random number= random.randint(1, 10) print(number) - random.shuffle(x) перемешивает последовательность x на месте.
import random cards=["jack", "quen", "king"] random.shuffle(cards) for card in cards: print(card) - Документация на random.
Statistics
- Библиотека statistics встроена в Python.
-
statistcs.mean вычисляет среднее арифметическое. Например:
import statistics print(statistics.mean([100, 90])) - Документация на statistcs
Аргументы командной строки
- sys модуль позволяет использовать аргументы командной строки.
-
В терминале выполните code name.py. В редакторе наберите:
Если вы наберёте в терминале: python name.py Garry. Программа выведет: hello, my name is Garry. sys.argv[0] будет name.py.import sys print("hello, my name is", sys.argv[1]) - Если мы напечатаем: python name.py. Возникнет ошибка,
указанный индекс выходит за рамки списка. Мы можем
защитить программу от этого типа ошибки:
import sys try: print("hello, my name is", sys.argv[1]) except IndexError: print("Too few arguments") - Другой способ проверить аргументы:
sys.exit завершает работу программы.import sys if len(sys.argv) < 2: sys.exit("Too few arguments") elif len(sys.argv) > 2: sys.exit("Too many arguments") print("hello, my name is", sys.argv[1]) - Документация на sys.
slice
-
import sys if len(sys.argv) < 2: sys.exit("Too few arguvents") for arg in sys.argv: print("hello, my name is", arg) -
slice выбирает часть списка.
import sys if len(sys.argv) < 2: sys.exit("Too few arguvents") for arg in sys.argv[1:]: print("hello, my name is", arg)
Пакеты
- Библиотеки, реализованные в виде папок, мы называем пакетами.
- Python имеет менеджер пакетов pip. Он помогает инсталлировать пакеты в систему.
- В окне терминала выполните pip install cowsay. pip закачает пакет и установит.
-
Наберите code say.py. В редакторе наберите код:
Наберите python say.py Garry, и вы увидите "hello" to Garry.import cowsay import sys if len(sys.argv) == 2: cowsay.cow("hello, " + sys.argv[1]) - Документация на cowsay.
- Много пакетов вы можете найти на PyPI.
API
- API или "application program interfaces" позволяет вам подключатся к чужому коду.
- requests позволяет вашей программе вести себя как веб-браузер.
- Выполните в терминале pip install requests.
- Apple iTunes имеет свой API, вы может получить к ним доступ из вашей программы. Если вы в веб-браузере посетите https://itunes.apple.com/search?entity=song&limit=1&term=weezer, то будет загружен файл. Как конструировать URL вы можете найти в документации Apple's API.
- Формат загруженного файла json. Это text-based формат, часто используемый для обмена text-based данными между приложениями.
- Наберите code itunes.py. В текстовом редакторе наберите:
import requests import sys if len(sys.argv) != 2: sys.exit() response = requests.get("https://itunes.apple.com/search?entity=song&limit=1&term=" + sys.argv[1]) print(response.json()) - Выполните python itunes.py weezer.py, вы увидите тот же текст, что и в файле.
-
Выведем только названия треков.
import json import requests import sys if len(sys.argv) != 2: sys.exit() response = requests.get("https://itunes.apple.com/search?entity=song&limit=50&term=" + sys.argv[1]) o = response.json() for result in o["results"]: print(result["trackName"]) - Документация на requests.
- Документация на JSON
Создаём библиотеку
- Создайте файл sayings.py.
def hello(name): print(f"hello, {name}") def goodbye(name): print(f"goodbye, {name}") - В терминале наберите code say.py. В редакторе наберите:
import sys from sayings import goodbye if len(sys.argv) == 2: goodbye(sys.argv[1])