Table of Contents

Spam I

Dotazy a odpovědi

Úvod do úlohy Spam filtr

Založení projektu v PyCharm

Používáte-li k vývoji v Pythonu prostředí PyCharm, doporučujeme vám vytvořit si pro řešení úlohy projekt. PyCharm tak bude schopen lépe analyzovat váš kód a udržovat stav vaší práce mezi jednotlivými sezeními.

Při vytváření projektu dejte pozor, abyste vybrali správnou verzi interpreteru! Na cvičeních používáme Python 3 (ideálně 3.4, ale může být i 3.2).

Tutoriály k vytváření projektů v PyCharm na stránkách JetBrains:

Stručný postup:

2014/10/22 09:43 · xposik

Spouštění skriptů v PyCharm

Existuje celá řada možností, jak skript/program spustit. Každá se hodí na něco jiného, má své výhody a nevýhody.

Spouštění v Python shellu

Spustí skript, jako byste jej řádek po řádku napsali do konzole Pythonu:

Konfigurace pro běh a ladění

Run/Debug Configurations:

Spouštění pomocí nástroje Run

Skript spustí v nové instanci Pythonu:

2014/10/22 09:43 · xposik

Spouštění testů v PyCharm

Opět existuje několik způsobů, jak testy spustit. Vyberte si ten, který vám nejvíc vyhovuje.

Spuštění testů z jednoho modulu v Python shellu

Spustí testy v jednom modulu:

Spuštění testů jednoho modulu v nástroji Test

Spustí testy v jednom modulu.

Spuštění všech testů v adresáři (projektu) najednou v nástroji Test

Spustí všechny testy.

2014/10/22 09:43 · xposik

Demonstrace testů k úloze Spam filter

http://docs.python.org/py3k/library/unittest.html

Testy ke kroku 1

Stáhněte si testy ke kroku 1 úlohy Spam filtr. Archiv rozbalte do adresáře, kde vyvíjíte spam filter.

Testy ke kroku 2

Zopakujte (podle potřeby) výše uvedené i pro testy ke kroku 2.

Příkaz ''yield''

Programovací úlohy

Domácí úkol

Programování

Pokud se vám to nepodařilo už na cvičení, dokončete:

Příprava

Příprava na krok 3 úlohy spam filtr:

Prostudujte si:

Na kus papíru napište:

  • co podle vás tyto zkratky znamenají pro problém filtrování spamu
  • co budeme potřebovat, abychom tyto statistiky mohli napočítat
2010/09/14 15:03

Příprava na krok 4 úlohy spam filtr:

Rozmyslete si a načrtněte na kus papíru:

  • Jakým způsobem se spam filtr vlastně používá?
  • Jaký je z hlediska implementace rozdíl mezi učicím se filtrem a filtrem, který se učit neumí?
  • Existuje nějaká část, kterou budou mít všechny spam filtry společnou?
  • Je lepší realizovat spam filtr jako funkci nebo jako objekt s vlastnostmi a metodami?
  • Jaké jsou minimální požadavky na tuto realizaci? Co všechno by měla umět? Jaké musí mít vstupy a co musí být jejím výstupem?
2010/09/14 15:04