Naloge
Naloge so namenjene sprotnemu delu. Če se zatakne, poglejte namige (ali skočite na rešitve).
Naloga 1 - dodajte dokumentacijski niz
S tretjim argumentom m.def dodajte docstring eni izpostavljeni funkciji.
Kriterij uspeha:
help(vasmodul.vasafunkcija)prikaže vaš opis.
Namig:
m.def("ime", &fn, "Ta funkcija ...")
Naloga 2 - izpostavite preobremenjeno funkcijo
Napišite dve C++ funkciji z istim imenom, a različnim podpisom (npr. add(int,int) in add(double,double))
in izpostavite obe v Pythonu.
Kriterij uspeha:
- obe različici lahko iz Python kličete brez dvoumnosti.
Namig:
- pybind11 podpira razreševanje preobremenitev; morda boste potrebovali
py::overload_cast<...>(...).
Naloga 3 - uporabite imenske argumente
Izpostavite funkcijo tako, da jo lahko v Pythonu kličete z imenskimi argumenti.
Kriterij uspeha:
fn(a=1, b=2)deluje.
Namig:
- v vezavi uporabite
py::arg("a"),py::arg("b").