Python 3: programiranje i GUI
Ovo je drugo izdanje knjige koja je namenjena za inženjere, naučnike i hobiste koji žele da povežu računare sa hardverskim projektima pomoću grafičkih korisničkih interfejsa. Pokrivene su desktop i veb aplikacije.
Koristi se programski jezik Python 3, koji je jedan od najpopularnijih jezika: brzina programiranja je ključna karakteristika. Knjiga je revidirana i ažurirana, sa naglaskom na to da nauči korisnika da jednostavno napravi praktične dizajne – uređivač teksta je sve što je potrebno za pisanje Python programa.
Povezivanje hardvera se postiže korišćenjem Arduino Uno-a kao daljinskog slave uređaja. U knjizi je dat pun opis i izvorni kod komunikacionog interfejsa. Slave uređaj omogućava digitalne i analogne ulaze i izlaze. U jedan projekat možete uključiti više Uno-a pomoću kontrolnog koda koji je napisan u Python-u i koji radi na računaru.
Jedan projekat uključuje PIC mikrokontrolere sa kodom koji se može učitati na PIC pomoću Uno-a. Veb aplikacije i server su implementirani u Python, što vam omogućava da pristupite elektronskom hardveru preko Interneta. Računar Raspberry Pi može da se koristi kao veb server.
Uvodno poglavlje će vam pomoći da započnete korišćenje Linux-a. Za projekte u knjizi se koristi Debian ili varijacije, kao što su Mint ili Ubuntu.
Poglavlja u knjizi
Poglavlje 1 • Linux
Poglavlje 2 • Početak rada u jeziku Python
Poglavlje 3 • Grafički korisnički interfejsi
Poglavlje 4 • Objektno-orijentisano programiranje
Poglavlje 5 • Arduino Uno kao slave uređaj
Poglavlje 6 • Dodatni primeri GUI-ja
Poglavlje 7 • Grafikoni bitmape
Poglavlje 8 • Projekat za praćenje potrošnje električne energije
Poglavlje 9 • Interfejsi veb pregledača
Poglavlje 10 • Curses interfejsi
Dodatak A • Izvorni kod za Arduino Uno Slave
Dodatak B • Python Uno Slave
Dodatak C • Arduino Slave programska alatka
Dodatak D • Izvorni kod Arduino Slave alatke za postavljanje ID-ija
Dodatak E • Izvorni kod za PIC
Dodatak F • PIC programska alatka
Dodatak G • Modul curses vidžeta
O autoru
Andrew Pratt je služio 25 godina u Kraljevskom vazduhoplovstvu. Ima viši nacionalni sertifikat iz elektrotehničkog i elektronskog inženjerstva i diplomu Otvorenog univerziteta.
Svoju karijeru je nastavio u oblasti industrijske kontrole. Trenutno je instruktor koji predaje o industrijskim kontrolnim sistemima.
Sadržaj
POGLAVLJE 1 • LINUX, 12
Predgovor drugog izdanja, 11
Poglavlje 1 • Linux, 13
1.1 • Uvod, 13
1.2 • Pribavljanje operativnog sistema, 13
1.3 • Instrukcije, 13
1.4 • Upravljanje datotekama i direktorijumima, 14
1.5 • Džoker znakovi, 17
1.6 • Preusmeravanje, 18
1.7 • Rad sa Python programima, 18
1.8 • Pravo pristupa datotekama, 18
1.9 • Komandni skriptovi, 19
1.10 • X server, 20
POGLAVUE 2 • POČETAK RADA U JEZIKU PYTHON, 21
2.1 • Uvod , 21
2.2 • Instaliranje jezika Python 3, 22
2.3 • Početak programiranja, 22
2.4 • IDLE, 24
2.5 • Interaktivna sesija, 24
2.6 • Tipovi podataka, 25
2.6.1 • Celi brojevi, 25
2.6.2 • Brojevi sa pokretnim zarezom, 25
2.6.3 • Stringovi i pisanje i čitanje datoteka, 26
2.6.4 • Liste, 36
2.6.4.1 • Razdvajanje stringova u listama stringova, 39
2.6.5 • Rečnici, 40
2.6.6 • N-torke, 42
2.7 • Funkcije, 42
2.8 • Uvozi, 44
2.9 • Logički operatori , 46
2.10 • Bit i bajtovi, 46
2.12 • Heksadecimalna notacija, 49
2.13 • Postojanost objekata, 50
2.14 • Kompajlirane Python datoteke, 51
2.15 • Unicode stringovi, 52
2.16 • Bajtovi i nizovi bajta, 54
2.17 • Kodiranje i dekodiranje bajtova i Unicode-a, 56
2.18 • Nazivi promenljivih, 57
POGLAVUE 3 • GRAFIČKI KORISNIČKIINTERFEJSI, 59
3.1 • Uvod , 59
3.2 • Tkinter, 59
3.2.1 • Kliknite za pokretanje programa, 60
3.3 • Dodavanje vidžeta, 61
3.4 • Povratni pozivi, 61
3.5 • Opcije raspoređivača elemenata, 62
3.5.1 Jednostavan raspored, 62
3.5.2 Ugnežđeni raspored elemenata, 64
3.6 • Unos i ispis podataka pomoću vidžeta, 65
3.6.1 • Scale i Label vidžeti, 66
3.6.2 • Unos, 67
3.6.3 • Kontrolne promenljive, 68
3.6.4 • Polja za potvrdivanje, 68
3.6.5 • Dugmad za izbor, 69
3.6.6 • Canvas vidžet, 70
POGLAVUE 4 • OBJEKTNO-ORIJENTISANO PROGRAMIRANJE, 73
4.1 • Uvod , 73
4.2 • Klasa, 73
4.3 • Nasledivanje, 75
4.4 • Rezime objektne orijentacije (00), 79
POGLAVUE 5 • ARDUINO UNO KAO SLAVE UREĐAJ, 81
5.1 • Uvod , 81
5.2 • Master-slave dizajn, 81
5.2.1 • USB serijski interfejs, 81
5.2.2 • Otpremanje Arduino programa, 81
5.2.3 • Konfigurisanje Arduina pomoću adrese i ID projekta, 82
5.3 • Klasa Uno, 84
5.3.1 • Kreiranje instanci slave programa, 85
5.3.2 • Upisivanje u digitalnim izlaznim pinovima, 85
5.3.4 • Upisivanje u analognim izlaznim pinovima, 87
5.3.5 • Čitanje iz analognih ulaznih pinova, 87
5.3.6 • Rezime 10 funkcija, 87
5.4 • Praktični primeri u kojima se koriste hardveri, 88
5.4.1 • Upisivanje u digitalnim izlazima, 88
5.4.2 • Upisivanje u analognim izlazima, 91
5.4.3 • Očitavanje digitalnih ulaza, 92
5.4.4 • Očitavanje analognih ulaza, 93
5.5 • Dijagram stanja slave uređaja i komunikacioni protokol, 95
5.5.1 • Dijagram stanja slave uređaja, 95
5.5.2 • Kontrola prenosa podataka, 96
5.5.3 • Formati telegrama, 97
5.6 • Python kraj komunikacionog protokola, 99
POGLAVLJE 6 • DODATNI PRIMERI GUI-JA, 101
6.1 • Uvod, 101
6.2 • Klasa za crtanje Graph, 101
6.2.1 • Prosleđivanje argumenata funkciji bez određivanja broja argumenata
(*args), 102
6.2.2 • Prosleđivanje argumenata funkciji pomoću argumenata ključnih red.102
6.2.3 • Povezivanje događaja, 103
6.2.4 • Modul___name, 103
6.2.5 • Sledeći kod, 105
6.3 • Eksperimenti punjenja/pražnjenja kondenzatora , 109
6.4 • Iscrtavanje karakteristika tranzistora, 111
6.4.1 • Izvršavanje više niti, 116
POGLAVUE 7 • GRAFIKONI BITMAPE, 119
7.1 • Uvod, 119
7.2 • Datoteka bitmape, 119
7.3 • Čitanje i pisanje binarnih datoteka, 121
7.4 • Slika, 122
7.5 • Modifikovana slika, 124
7.6 • Zaglavlje, 125
7.6.1 • Modul struct, 126
7.7 • Neželjeni bajtovi, 128
7.8 • Klasa BmpDraw, 128
POGLAVUE 8 • PROJEKAT ZA PRAĆENJE POTROŠNJE ELEKTRIČNE ENERGIJE, 131
8.1 • Uvod, 131
8.2 • Sonda i daljinski senzor, 131
8.3 • PIC mikrokontroler, 133
8.3.1 • Arduino Slave kao uredaj za programiranje PIC-a, 134
8.4 • Radio veza i Arduino slave, 135
8.5 • Pokretanje sistema i desktop programa, 135
8.5.1 • Desktop program za kalibraciju, 136
POGLAVUE 9 • INTERFEJSI VEB PREGLEDAČA, 145
9.1 • Uvod, 145
9.2 • HTML 5 , 145
9.3 • CherryPy Python veb radni okvir, 146
9.3.1 • Korisnički unos pomoću veb obrazaca, 148
9.4 Ampermetar i veb aplikacija trenda potrošnje struje, 150
9.4.1 • Uno slave program, 150
9.4.2 CherryPy program, 151
9.5 • Raspberry Pi kao veb server, 157
9.5.1 • Konfigurisanje Wi-Fi-ja iz komandne linije na Pi-ju , 158
9.5.2 • Pokretanje Python programa automatski nakon ponovnog podizanja sistema .159
9.6 • Pristup sa Interneta, 161
9.7 • Prilagodavanje ovog projekta, 162
POGLAVUE 10 • CURSES INTERFEJSI, 163
10.1 • Uvod, 163
10.2 • Početak rada sa meradma, 163
10.2.1 • Funkcija wrapper, 164
10.2.2 • Windows na stdscr-u, 165
10.2.3 • Boja, 165
10.3 • Prilagođeni vidžeti, 169
10.3.1 • Indikatorska lampica, 169
10.3.2 • Analogni vidžet merača, 172
10.3.3 • Kombinovanje atributa pomoću operatora nad bitovima OR, 173
10.3.4 • Događaji miša za unos korisnika, 173
10.3.5 • Vidžet točkića, 174
10.3.6 • Vidžet dugmeta, 178
10.3.7 • Vidžet natpisa, 179
10.4 • Modul sa svim klasama, 180
DODATAK A • IZVORNI KOD ZA ARDUINO UNO SLAVE, 185
DODATAK B • PYTHON UNO SLAVE, 193
B.1 • Pydoc, 199
DODATAK C • ARDUINO SLAVE PROGRAMSKA ALATKA, 201
DODATAK D • IZVORNI KOD ARDUINO SLAVE ALATKE ZA POSTAVUANJE ID-DA, 203
DODATAK E • IZVORNI KOD ZA PIC, 207
DODATAK F • PIC PROGRAMSKA ALATKA, 209
F.1 • 12F1622_PROGRAMMER_V1.0.py, 209
DODATAK G • MODUL CURSES VIDŽETA, 215
G.1 • Curses_widgets.py, 215
Detaljni podaci o knjiziNaslov: Python 3: programiranje i GUI
Izdavač: EHO
Strana: 220 (cb)
Povez: meki
Pismo: latinica
Format: B5
Godina izdanja: 2017
ISBN: 978-86-80134-12-3