Додатак B — Python — кратак подсетник

Примери у уџбенику написани су у програмском језику Python. Овде су сабрани само они делови језика који се у њима користе, уз кратко упутство како да почнете.

О језику Python

Python је интерпретирани програмски језик: програм се не преводи унапред у извршни фајл, већ га наредбу по наредбу извршава програм који се зове интерпретер. Зато се Python може користити и интерактивно — откуцамо наредбу и одмах видимо резултат — што га чини погодним за учење, експериментисање и брзу проверу идеја. Језик има једноставну и читљиву синтаксу, а уз њега долази богата стандардна библиотека (у уџбенику користимо, на пример, модул itertools), док се за скоро сваку област могу наћи додатни пакети: за рад са подацима, графовима, машинско учење и вештачку интелигенцију.

Python је данас један од најпопуларнијих програмских језика. На листи TIOBE индекса, која прати популарност програмских језика, последњих година се налази на првом месту.

Преузимање и инсталација

Python се бесплатно преузима са званичног сајта python.org/downloads. Довољно је изабрати најновију верзију Python 3 за свој оперативни систем. При инсталацији на Windows-у треба укључити опцију Add python.exe to PATH, како би се Python могао покретати из командне линије. На macOS-у и Linux-у Python је често већ инсталиран, а новија верзија се инсталира са истог сајта или преко менаџера пакета. Додатни пакети инсталирају се алатом pip, нпр. pip install networkx.

Окружења за рад

Python програм се може писати у било ком уређивачу текста, али је удобније користити неко од окружења:

  • IDLE — једноставно окружење које се инсталира заједно са Python-ом;
  • Thonny (thonny.org) — окружење намењено почетницима, са прегледним приказом променљивих током извршавања;
  • Visual Studio Code (code.visualstudio.com) — бесплатан уређивач кода, уз додатак за Python;
  • PyCharm (jetbrains.com/pycharm) — развојно окружење специјализовано за Python, бесплатно за студенте;
  • Jupyter (jupyter.org) — свеске у којима се код, резултати и текст смењују, као у овом уџбенику;
  • Google Colab (colab.research.google.com) — Jupyter свеске у прегледачу, без икакве инсталације (потребан је само Google налог).

За примере из уџбеника довољни су IDLE или Thonny, а за рад у прегледачу без инсталације Google Colab.

Скупови и торке

Запис Значење
A = {1, 2, 3} скуп задат набрајањем
A = set() празан скуп ({} је празан речник, не скуп)
{x for x in range(1, 11) if x % 2 == 0} скуп задат својством
x in A, x not in A припадност елемента скупу
A <= B, A < B подскуп, прави подскуп
A.union(B), A & B, A - B унија, пресек, разлика
A ^ B симетрична разлика
len(A) број елемената
A.add(x), A.remove(x) додавање и уклањање елемента
t = (1, 2, 3) торка (не може се мењати)
a, b, c = t распакивање торке

Унија се краће пише и оператором „усправна црта“: A | B.

Логичке операције

Запис Значење
True, False тачно, нетачно
not p негација
p and q конјункција
p or q дисјункција
p != q ексклузивна дисјункција (за вредности True/False)
(not p) or q импликација \(p \Rightarrow q\)
p == q еквиваленција

Петље и валуације

Све валуације за \(n\) исказних слова добијају се модулом itertools:

import itertools

for p, q in itertools.product([False, True], repeat=2):
    print(p, q, (not p) or q)

Графови

За рад са графовима користи се библиотека networkx, а за цртање matplotlib:

import networkx as nx
import matplotlib.pyplot as plt

G = nx.Graph()
G.add_edges_from([(1, 2), (2, 3), (3, 1)])
nx.draw(G, with_labels=True)
plt.show()