Библиотеки

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. В редакторе наберите:
    	
    import sys
    print("hello, my name is", sys.argv[1])
    	
    	
    Если вы наберёте в терминале: python name.py Garry. Программа выведет: hello, my name is Garry. sys.argv[0] будет name.py.
  • Если мы напечатаем: python name.py. Возникнет ошибка, указанный индекс выходит за рамки списка. Мы можем защитить программу от этого типа ошибки:
    	
    import sys
    try:
        print("hello, my name is", sys.argv[1])
    except IndexError:
        print("Too few arguments")
    	
    	
  • Другой способ проверить аргументы:
    	
    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.exit завершает работу программы.
  • Документация на 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. В редакторе наберите код:
    	
    import cowsay
    import sys
    
    if len(sys.argv) == 2:
        cowsay.cow("hello, " + sys.argv[1])
        
    	
    Наберите python say.py Garry, и вы увидите "hello" to Garry.
  • Документация на 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])