[07:00] ŻŻ Modes[#wyklady] Regedit (+m) [07:00] <@Regedit> no dobra w takim razie witam wszystkich [07:00] <@Regedit> na wykladzie z jezyka Python [07:00] <@Regedit> ja nazywam sie Adam Sawicki i wiecej info o mnie na mojej stronie www.regedit.risp.pl [07:01] <@Regedit> wyklad natomiast bedzie dotyczyl jezyka Python [07:01] ŻŻ Joins[#wyklady] defc0n (~defc0n@agd50.internetdsl.tpnet.pl) [07:01] <@Regedit> wymagania systemowe do wykladu sa takie: [07:01] <@Regedit> - znac jakis jezyk programowania [07:01] <@Regedit> inaczej umiec programowac :) [07:01] <@Regedit> bo wyklad obejmuje skladnie pythona (praktycznie cala) i to bedzie taki szybki przeglad [07:01] <@Regedit> wiec trzeba juz wiedziec co to zmienna, funkcja itd. [07:01] <@Regedit> slowem wstepu najpierw powiem co to jest python [07:02] <@Regedit> a wiec jest to jezyk programowania skryptowy [07:02] <@Regedit> wniosek z tego taki ze mozna w nim pisac programy [07:02] <@Regedit> zapisywac algorytmy itp [07:02] <@Regedit> a ze skryptowy to znaczy ze nie sluzy do pisania pelnoprawnych aplikacji tylko skryptow [07:02] <@Regedit> i ze jest interpretowany [07:03] <@Regedit> a raczej tlumaczony do kodu binarnego, ktory jest potem wykonywany w wirtualnej maszynie [07:03] <@Regedit> skad go wziac? strona to chyba www.python.org [07:03] <@Regedit> Python jest open source, darmowy nawet do zastosowan komercyjnych [07:03] ŻŻ Joins[#wyklady] phoenix (~phoenix@cgw162.neoplus.adsl.tpnet.pl) [07:03] <@Regedit> a ze strony mozna sciagnac jego instalke na rozne systemy, np. windows i linux [07:03] <@Regedit> razem z interpreterem instaluje sie takie male IDE o nazwie IDLE [07:04] <@Regedit> ktore zawiera linie komend w ktorej mozna na zywi kodzic, tzn wpisywac polecenia ktore od razu sie wykonuja [07:04] <@Regedit> bardzo fajne :) [07:04] <@Regedit> teraz ostatnia rzecz ze wstepu, do czego python moze sie przydac [07:04] ŻŻ Joins[#wyklady] nameee (~kangurx@aev122.neoplus.adsl.tpnet.pl) [07:04] <@Regedit> zastosowan ma wiele [07:04] <@Regedit> - jako skrypty powloki do zadan administracyjnych [07:05] <@Regedit> w windowsie plik .py i klikamy 2 razy, w linuxie #!/bin/python czy cos takiego [07:05] <@Regedit> - jako jezyk, w ktorym mozna skrypcic programy [07:05] <@Regedit> bo wiele programow uzywa wlasnie jego tak jak MS Office ma swoj VBA :) [07:05] <@Regedit> np. Blender, QuArK i wiele innych [07:05] <@Regedit> - jako jezyk, ktory mozna osadzic w swojej aplikacji zeby ja oskrypcic [07:05] <@Regedit> - i wreszcie do pisania calkiem powaznych programow, bo tez sie da [07:06] <@Regedit> i jeszcze krotko jaki jest ten python [07:06] <@Regedit> przede wszystkim to jest jezyk naprawde duzego kalibru [07:06] <@Regedit> ma klasy, wyjatki itd [07:06] <@Regedit> dlatego tez nie jest tak maly ani szybki jak np. LUA [07:06] <@Regedit> poza tym ma bardzo pokrecona skladnie! [07:06] <@Regedit> niepodobna do zadnego innego jezyka [07:06] <@Regedit> choc nie w tym kierunku pokrecona, co np. Bash, TCL, Perl i inne jezyki linuksowe [07:07] <@Regedit> wiec jak sie go pozna to okazuje sie, ze kodzi sie w nim bardzo szybko, przyjemnie i malo bledow sie popelnia [07:07] <@Regedit> wlasnie poznawaniem tej dziwnej skladni sie zajmiemy [07:07] <@Regedit> koniec wstepu, sa jakies pytania? :) [07:07] ŻŻ Modes[#wyklady] Regedit (-m) [07:07] <ant_> podbna skladnia do c [07:07] <@Regedit> nie powiedzialbym :) [07:07] <Prodigy> Regedit: do ktorej bedzie wyklad? [07:07] <@Regedit> do 21 [07:07] <ant_> a ja bym powiedzial :) [07:07] <Prodigy> ant_: na przyklad to, ze nie ma { i } ? [07:08] <ant_> sa [07:08] <ant_> ;p [07:08] <@Regedit> nie ma [07:08] <XAOS|work> sa [07:08] <phoenix> dajcie mi przyklad w pythonie to wam powiem ;P [07:08] <XAOS|work> nie ma? [07:08] <ant_> tylko odpowiednie zastosowanie wciec [07:08] <XAOS|work> hmm... [07:08] <Prodigy> ant_: moze i sa, ale znacza co innego :P [07:08] <Reqamst> nie teraz te dyskusje ;] [07:08] ŻŻ Modes[#wyklady] Regedit (+m) [07:08] <@Regedit> ok w takim razie podstawy skladni [07:08] <@Regedit> po pierwsze komentarze [07:08] <@Regedit> pisze sie jak to w linuksowych jezykach bywa, za pomoca # [07:08] <@Regedit> w osobnej linii albo w tej samej co jakies polecenie np.: [07:09] <@Regedit> # a tu wywoluje funkcje: [07:09] <@Regedit> funkcja() # no i wywolalem [07:09] <@Regedit> nastepna sprawa i tu uwaga [07:09] <@Regedit> kazde polecenie ma byc w osobnej linii, tu nie ma wolnego formatu zapisu jak w innych jezykach [07:09] ŻŻ Joins[#wyklady] artpoz (artpoz@poznanski.net.autocom.pl) [07:09] <@Regedit> moze byc wiecej polecen w jednej linii ale wtedy trzeba pisac po kazdym ; [07:09] <@Regedit> normalnie nie trzeba [07:09] <@Regedit> wiec mozna tak: [07:09] <@Regedit> funkcja1(); [07:10] <@Regedit> funkcja2() [07:10] ŻŻ Modes[#wyklady] ChanServ (+o G0blin) [07:10] <@Regedit> albo funkcja1(); funkcja2(); [07:10] <@Regedit> bloki zaznacza sie samymi wcieciami [07:10] <@Regedit> nie ma ani begin/end ani {}, w ogole nic [07:10] <@Regedit> wciecia to np. tabulacje, spacje itp [07:10] <@Regedit> np.: [07:10] <@Regedit> if x > 0: [07:10] <@Regedit> funkcja(); [07:10] <@Regedit> nie ma tez roznicy czy wewnatrz takiego bloku jest jedna czy wiecej instrukcji [07:11] <@Regedit> teraz zmienne [07:11] <@Regedit> jak to w jezykach skryptowych bywa, zmiennych sie nie deklaruje a typy sa dynamiczne [07:11] <@Regedit> po prostu sie przypisuje np. tak: [07:11] <@Regedit> x = 1; [07:11] <@Regedit> y = x [07:11] <@Regedit> itd. [07:11] <@Regedit> typy danych sa takie: [07:11] <@Regedit> - typ logiczny, dopuszczalne wartosci to True i False (to sa slowa kluczowe) [07:11] <@Regedit> - typ liczbowy [07:12] <@Regedit> liczby sie zapisuje jak w C++ [07:12] <@Regedit> - typ dlugiej liczby - o dowolnej dlugosci, samo sie przelacza na taki jak bnastepuje przepelnienie [07:12] <@Regedit> sa funkcje matematyczne np.: [07:12] ŻŻ Joins[#wyklady] Prus (~skrzyp_@cnn148.neoplus.adsl.tpnet.pl) [07:12] <@Regedit> pow itp. [07:13] <@Regedit> operatory arytmentyczne to standardowo + - * / [07:13] <@Regedit> a ponadto: [07:13] <@Regedit> x // y to dzielenie calkowite z obcieciem reszty (zaokragleniem w dol) [07:13] <@Regedit> x ** y to podniesienie do potegi [07:13] <@Regedit> jest tez % jak w C++ czyli reszta z dzielenia [07:14] <@Regedit> sa operatory bitowe | & ~ << >> jak w C++ [07:14] <@Regedit> ^ jak w C++ to bitowy XOR [07:14] <@Regedit> sa tez operatory += itd. [07:14] <@Regedit> np. x += 2; zwieksza x o 2 [07:14] ŻŻ Joins[#wyklady] ryjcio (~ryjcio@ntwklan-62-233-167-54.devs.futuro.pl) [07:14] <@Regedit> opeatory porownania to == < > <= >= [07:14] <@Regedit> rozny to != lub <> jak kto woli [07:14] <@Regedit> operatory logiczne to pisane slownie: and or not [07:15] <@Regedit> dodatkowo sa operatory is oraz not is [07:15] <@Regedit> ktore wskazuja czy dwie zmienne typu referencyjnego wskazuja na ten sam obiekt [07:15] <@Regedit> bedzie o tym pozniej, w kazdym razie chodzi o to [07:15] <@Regedit> ze zwykle == porownuje wartosci obiektow a nie to czy wskazuja na ten sam [07:15] <@Regedit> i jeszcze ciekawostka, mozna pisac np. tak: [07:15] <@Regedit> a < b == c [07:16] <@Regedit> i to zadziala zgodnie z intuicja czyli zwroci True jesli b > a oraz b == c [07:16] <@Regedit> czego nie ma w innych jezykach :) [07:16] <@Regedit> teraz lancuchy krotko, bo obszerniej bedzie pozniej [07:16] <@Regedit> lancuchy zapisujemy w '' lub "", np. "Hello world!" [07:16] <@Regedit> znaki specjalne, czyli escape sequences sa tak samo jak w C/C++ [07:17] ŻŻ Joins[#wyklady] nobody_ (~nob@ds2.pwsz.elblag.pl) [07:17] <@Regedit> natomiast jest kilka dodatkowych rzeczy [07:17] <@Regedit> raw string to taka skladnia to dluzszych lancuchow [07:17] <@Regedit> zapisywane sa w """...""" lub r"..." [07:17] <@Regedit> lub '''...''' lub r'...' [07:17] <@Regedit> i wtedy w miejscu ... moga byc dowolne znaki oprocz tych ktore koncza ten string, lacznie ze znakami konca wiersza [07:18] <@Regedit> lancuchy unikodowe z kolei, bo to osobny typ od zwyklych, zapisuje sie u"..." lub u'...' [07:18] <@Regedit> konkatenacja (laczenie) lancuchow robi sie za pomoca operatora + [07:18] <@Regedit> i jest jeszcze operator * :) [07:18] ŻŻ Joins[#wyklady] adam_i (~adam@ana193.neoplus.adsl.tpnet.pl) [07:18] <@Regedit> ktory mnozy lancych przez liczbe np. "bla" * 3 wyjdzie "blablabla" [07:19] <@Regedit> szerzej o lancuchach bedzie pozniej [07:19] <@Regedit> a teraz jeszcze o wartosci None [07:19] <@Regedit> wiele jezykow ma specjalny typ "pusty" o jednej wartosci, ktory oznacza cos w rodzaju "nic", "niewiadomo", "niezdefiniowane" itp. [07:19] <@Regedit> zeby odroznic od innych np. od liczby, jesli kazda liczba moze byc dozwolona [07:19] <@Regedit> takie cos ma SQL, PHP i wiele innych [07:19] <@Regedit> nazywa sie to roznie, nil, null itp. [07:20] <@Regedit> a w Pythonie dla odmiany sluzy do tego slowo kluczowe None [07:20] <@Regedit> tak wiec x = None podstawi do zmiennej x wartosc None typu None [07:20] <@Regedit> slucham pytan [07:20] ŻŻ Modes[#wyklady] Regedit (-m) [07:20] <...
koderVSTplugins