Krajnji vodič za Python Blockchain: 1. dio

Python blockchain / Prema python.org, “Python je protumačeni, objektno orijentirani programski jezik visoke razine s dinamičkom semantikom. Ugrađene podatkovne strukture na visokoj razini, u kombinaciji s dinamičkim tipkanjem i dinamičkim povezivanjem, čine ga vrlo atraktivnim za brzi razvoj aplikacija, kao i za upotrebu kao jezik skriptiranja ili ljepila za povezivanje postojećih komponenata.

Krajnji vodič za Python i Blockchain: 1. dio

Krajnji vodič za Python Blockchain: 1. dio

Python je jedan od najpopularnijih i najmoćnijih jezika vani. Ne samo da je izuzetno pogodan za početnike, već je pronašao primjenu i na puno različitih područja. U stvari, prema istraživanju IEEE-a, Python je slučajno najpopularniji jezik 2017. godine.

Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Kredit za sliku: Extreme Tech

Podrijetlo Pythona

Guido van Rossum, nizozemski programer, stvorio je Python davne 1991. Python se temelji na jednostavnoj filozofiji: jednostavnosti i minimalizmu. Jedan od najznačajnijih načina na koji su u svoj jezik ugradili jednostavnost jest korištenje bijelih razmaka za označavanje blokova koda umjesto kovrčavih zagrada ili ključnih riječi.

Pogledajmo što ovo znači provjerom jednostavnog programa “hello world”.

print (‘Zdravo, svijete!’)

Da, to je to!

Ime jezika izvedeno je od poznatih britanskih komičara Monty Pythona. Temeljna filozofija jezika sažeta je u dokumentu „Zen of Python“:

  • Lijepo je bolje nego ružno
  • Eksplicitno je bolje nego implicitno
  • Jednostavno je bolje nego složeno
  • Kompleks je bolji nego kompliciran
  • Čitljivost se računa

U svojoj srži Python je objektno orijentirano, visoka razina programski jezik s opsežna knjižnica. Prođimo kroz značenje svakog od tih izraza.

Objektno orijentirano programiranje

je objektno orijentirani programski jezik (OOP) jezik za razliku od procesno orijentiranog. Procesno orijentirani jezici poput C koristili su programe gdje je popis uputa koje su djelovale na memoriju.

OOP, s druge strane, omogućuje stvaranje nacrta nazvanog „klasa“ odakle se mogu generirati objekti koji mogu međusobno komunicirati. Ti objekti izvršavaju program.

Postoje četiri stupa za OOP:

  • Kapsulacija
  • Apstrakcija
  • Polimorfizam
  • Nasljeđivanje

Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Kapsulacija

Inkapsulacija je ideja spajanja podataka i funkcija unutar jedne jedinice. Ideja je sakriti početno stanje predmeta i sve povezati u čvrsti omot.

Apstrakcija

Apstrakcija znači da korisnik može koristiti program bez ulaska u komplikacije koje stoje iza njega.

Zamislite automobil.

Kada vozite automobil, sve što vam je važno je stavljanje ključa i upravljanje vozilom na način da ne udarite ništa drugo. Ne zanima vas kako motori rade i kako paljenje gori vaše gorivo.

Nasljeđivanje

Nasljeđivanje je jedno od najvažnijih svojstava OOP-a.

Nasljeđivanje omogućuje predmetu ili klasi zasnivanje na drugom objektu ili klasi i zadržava dio njegove implementacije. U većini objektno orijentiranih jezika temeljenih na klasama, objekt stvoren nasljeđivanjem stječe većinu svojstava i ponašanja nadređenog objekta

Polimorfizam

Polimorfizam je svojstvo kojim operator u jeziku može imati više svojstava. Najpoznatiji primjer za to je “+”. Ne samo da se koristi kao matematički operator zbrajanja, već se može koristiti i za kombiniranje dva niza u jedan. To se naziva spajanje.

Npr. ako dodamo dva niza “Block” + “Geeks” rezultat će biti “BlockGeeks”.

Niska razina vs visoka razina

Razina programa određuje se stupnjem interakcije s računalom.

Jezici niske razine

Jezici niske razine su strojno ovisni jezici koji izravno komuniciraju s računalom. Imajte na umu da računala mogu razumjeti samo upute u obliku 0 i 1. Zbog toga ovi jezici koriste ove signale putem Binarne notacije za izravnu interakciju s računalom.

Upravo iz tog razloga jezike na niskoj razini također je izuzetno teško naučiti za početnike, zbog čega nisu toliko popularni kao jezici na visokoj razini.

Skupštinski jezik primjer je jezika niske razine.

Jezici na visokoj razini

S druge strane, jezici visoke razine programski su jezici neovisni o stroju, a lako ih je pisati, čitati, uređivati ​​i razumjeti.

Dakle, iako možda neće izravno komunicirati sa strojem i trebaju proći kompajler, izuzetno su svestrani i prilagođeni početnicima.

Primjeri jezika visoke razine su Python, Java, .Net, Pascal, COBOL, C ++, C, C # itd..

Knjižnica Python

Jedna od najvećih prednosti Pythona je njegova super opsežna knjižnica. Biblioteka sadrži ugrađene module (napisane na C) koji pružaju pristup funkcijama sustava kao što su I / O datoteke koje inače ne bi bile dostupne programerima Python, kao i module napisane na Pythonu koji pružaju standardizirana rješenja za mnoge probleme koji se javljaju u svakodnevno programiranje.

Kako bi bili sigurni da su i aplikacije okrenute Internetu dobro zastupljene, u knjižnici su podržani mnogi protokoli standardnih formata poput MIME i HTTP. Uključuje module za stvaranje grafičkih korisničkih sučelja, povezivanje s relacijskim bazama podataka, generiranje pseudoslučajnih brojeva, aritmetika s proizvoljnim preciznim decimalama, manipuliranje regularnim izrazima i jedinstveno testiranje.

Od ožujka 2018., indeks paketa Python (PyPI), službeno spremište softvera treće strane Python, sadrži preko 130 000 paketa sa širokim rasponom funkcionalnosti, uključujući:

  • Grafičko korisničko sučelje
  • Web okviri
  • Multimedija
  • Baze podataka
  • Umrežavanje
  • Ispitni okviri
  • Automatizacija
  • Web struganje [97]
  • Dokumentacija
  • Administracija sustava
  • Znanstveno računanje
  • Obrada teksta
  • Obrada slike

Što trebate započeti

  • Prvo, trebat ćete otići do python.org i preuzmite najnoviju verziju
  • Drugo, trebat ćete preuzeti Visual Studio Code što možete upravo ovdje.

Prije nego što nastavimo, samo konfigurirajte naš Visual Studio.

Kad završite s instaliranjem, vidjet ćete ovaj zaslon.

Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Sada idite na File ->Otvoren

Nakon toga trebate stvoriti mapu. Nazovimo ovu mapu “Hello World”.

Nakon što to učinite, morat ćete otići na Proširenja i instalirati “Python”.

Bilješka: Posljednja ikona na lijevoj alatnoj traci (stvar četvrtastog oblika) je gumb Proširenja.

U redu, sad kad je to gotovo, krenimo s nekim kodiranjem!!

Bilješka: Prije prelaska na Visual Studio Code, radit ćemo na „Terminalu“ za Mac i „Command Prompt“ za Windows

Pokretanje stvari

Prva linija na vašem terminalu trebala bi izgledati otprilike ovako (koristimo Mac air):

X-ov-MacBook-Air: ~ Y $

Odmah pored tog retka napišite “python”

X’s-MacBook-Air: ~ Y $ python

Jednom kada pritisnete enter, vidjet ćete ovo:

Python 2.7.10 (zadano, 17. kolovoza 2018., 17:41:52)

[GCC 4.2.1 Kompatibilni Apple LLVM 10.0.0 (clang-1000.0.42)] na darwinu

Upišite “pomoć”, “autorska prava”, “krediti” ili “licenca” za više informacija.

>>>

U osnovi, to znači da ste sada unutra i možete započeti s kodiranjem.

Krenimo od jednostavnih numeričkih operatora.

Krajnji vodič za Python i Blockchain: 1. dio

Kao što vidite, zasad prilično standardna afera. Sve operacije koje smo do sada radili slijede formulu REPL.

R = Pročitano

E = Procijenite

P = Ispis

L = Petlja

2 + 2 je Čitanje

Izračun rezultata je Procjena.

Ispis rezultata, tj. 4 je Print

Petlja u osnovi znači povratak i početak ispočetka.

Pokušajmo tiskati “Hello World”.

>>> ispis (‘Hello World’)

Pozdrav svijete

Vidite, prilično jednostavno. Vi samo koristite print () i stavite ‘Hello World’ unutra pod navodnike. U samom sljedećem retku bit će tiskan. Također, imajte na umu kako ne koristimo točku sa zarezom da bismo završili naše izjave u pythonu.

Tipovi podataka u Pythonu

U redu, razgovarajmo sada o vrstama podataka. U Pythonu postoje 4 osnovne vrste podataka:

  • Booleova
  • Brojevi (cijeli i plutajući)
  • Niz

Booleova

Logičke vrijednosti su standard u programskim jezicima. Logičke varijable mogu imati samo dvije vrijednosti, True i False. Stvarno su korisni za kodiranje usmjereno na uvjete, kao što je if-else i petlje.

Brojevi

Kao i kod svih programskih jezika, i python koristi cjelobrojne i plutajuće tipove podataka. Cijeli brojevi su u osnovi ne-decimalni brojevi, a floati su decimalni brojevi.

Dakle, 3 je cijeli broj, dok je 3,4 plutajući broj.

Prije nego što nastavimo dalje, postoje dvije zanimljive funkcije o kojima biste trebali znati, float () i int ().

Funkcija float () pretvara svoj parametar (podatke u zagradama) u float broj.

Dakle, float (5) pretvara se u 5.0.

Slično tome, int (4.6) pretvara se u 4.

Primijetite da se broj ne zaokružuje u tradicionalnom smislu. Samo se brije decimalni dio.

Dobro, zabavimo se s ovim funkcijama.

Pretpostavimo da imamo logičku varijablu: a = True

Ako učinimo int (a), dobit ćemo 1.

Zapamtite da je True = 1 i False = 0.

Slično tome, float (a) dobit će nam 1,0.

Niz

Konačno, imamo String.

Niz je vrsta podataka koja se koristi u programiranju, poput cjelobrojne jedinice i jedinice s pomičnim zarezom, ali koristi se za predstavljanje teksta, a ne brojeva. Sastoji se od skupa znakova koji također mogu sadržavati razmake i brojeve.

Oni su deklarirani ovako:

a = “Ime”

Da biste sadržavali svoj niz, možete koristiti i jednostruke navodnike i dvostruke navodnike. Međutim, imajte na umu da ih obje ne možete koristiti na istom nizu, npr. “Zdravo” bit će pogreška.

Također, kada koristite žice, budite oprezni s apostrofima. Npr. ‘Ja sam književnik’ bit će pogreška. To možete ispraviti stavljanjem kose crte ispred apostrofa, ovako: “Ja sam pisac”

Dobro, sjetite se funkcija int () i float (). Pogledajmo kako oni komuniciraju sa nizom.

Dakle, ako je n = ‘9’, a ovo želimo dodati s 1.

Jednostavno možemo učiniti: int (n) + 1 da dobijemo izlaz 10.

Suprotno tome, ako plutamo (n), tada će izlaz biti 9,0.

Zapamtite, za sve to vrijeme, ‘n’ i dalje ostaje varijabla niza. Mi samo koristimo instancu niza za obavljanje naših matematičkih operacija. Dopustite da vam to pokažemo u terminalu.

Međutim, ako je n imao plutajuću vrijednost poput ‘4.5’ i ako pokušamo koristiti funkciju int (), dobit ćemo pogrešku. To se događa jer je sadržaj samog niza varijabla s pomičnom zarezom.

Zabavimo se još uz žice.

Zapamtite, jedno od svojstava objektno orijentiranog programiranja je polimorfizam.

Pa, probajmo spajanje.

“*” Također može učiniti neke zanimljive stvari s varijablama niza.

Kao što vidite, ime smo pomnožili s 10 i vrijednost imena dobili smo 10 puta.

Operateri

Operatori su alati pomoću kojih možete manipulirati određenom vrijednošću ili operandima. Tri najčešća operatora koja ćete pronaći u pythonu su:

  • Matematički
  • Booleova
  • Logično

Matematički operatori

Krajnji vodič za Python i Blockchain: 1. dio

Logički operateri

Logički operateri bave se vrijednostima i operandima i daju logičke izlaze, tj. True ili False

Krajnji vodič za Python i Blockchain: 1. dio Python blockchainKrajnji vodič za Python i Blockchain: 1. dio

Logički operatori

Logički operator uspoređuje dva uvjeta i daje logički rezultat.

Krajnji vodič za Python i Blockchain: 1. dio

Funkcije

Funkcije su okosnica modernog programiranja. Do sada je sve što smo programirali prilično osnovno. Međutim, programi mogu imati stotine redaka koda što može biti prilično teško pratiti.

Zbog toga koristimo programe koji u osnovi djeluju poput modula u tom programu.

Uzmimo primjer kako bismo shvatili značaj funkcija.

Pretpostavimo da pišete golem roman bez ikakvih poglavlja. Ako ste nešto već opisali u knjizi, velika je vjerojatnost da ćete, ako budete morali ponovno citirati, morati ponoviti neke odlomke.

Problem je u tome što dovodi do suvišnosti, što je gubljenje energije, novca i vremena.

A što ako bismo knjigu zapravo segmentirali u nekoliko poglavlja. Unosi puno strukture i urednosti u cijelo predstavljanje knjige. Dakle, ako se želimo vratiti na nešto što smo ranije spomenuli, možemo jednostavno obavijestiti korisnika na koji se broj poglavlja može pozivati.

U ovoj analogiji, knjiga je program, a poglavlja su funkcije.

Pa, kako točno definirate funkciju u pythonu? Pa, pogledajmo.

Za ove programe koristit ćemo Visual Studio Code.

Samo otvorite svoj VSC i mapu koju smo ranije napravili. Nakon toga kliknite ovaj gumb da biste otvorili novu datoteku:

Krajnji vodič za Python i Blockchain: 1. dio

Datoteci dajte ime kako god želite, ali svakako je završite s “.py”. Nazvat ćemo našu datoteku “app.py”.

Ok, probajmo našu prvu funkciju!

def greet ():

   ispis (‘Pozdrav’)

pozdraviti()

Kao što vidite, definiciju funkcije započinjemo ključnom riječi „def“. Nakon toga imamo naziv funkcije nakon kojeg slijede zagrade i dvotačka.

Nakon toga, za razliku od ostalih jezika, python ne koristi kovrčave zagrade za definiranje tijela funkcije. Umjesto toga, sve što trebate je malo uvući i dodati tijelo. VSC to automatski radi za vas.

Nakon definicije funkcije, jednostavno jednostavno pozovete funkciju upisivanjem “greet ()”.

U redu, pa nakon što napišete program, svakako ga spremite. Nakon toga otvorit ćemo terminal klikom ovdje:

Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Kad otvorite terminal, vidjet ćete otprilike ovako:

Krajnji vodič za Python i Blockchain: 1. dio

Trenutno samo upišite “python filename.py”.

U ovom slučaju, naziv naše datoteke je “app”, pa ćemo upisati python app.py.

Krajnji vodič za Python i Blockchain: 1. dio

Onog trenutka kada to učinite, kao što vidite gore, program će ispisati “Hello”.

Sada uvedimo neke argumente u našu funkciju.

Argumenti su parametri koji ulaze u funkciju. Dakle, vratimo se našoj funkciji pozdravljanja i dodajte neke dodatne elemente:

def pozdrav (ime, prezime)

U ovom su slučaju ime i prezime argumenti koji idu unutar ove funkcije. Dakle, kada ovaj put pozovete funkciju, morate proslijediti i parametre koji će izgledati ovako:

pozdrav (“Lionel”, “Messi”)

Čitav program izgleda ovako:

Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Dakle, kada izvršite ovaj program, izlaz će biti:

Krajnji vodič za Python i Blockchain: 1. dio

Uvjetne izjave

# 1 If-Elif-Else

Uvjetni izrazi osnovni su u svim programskim jezicima, a python to izvršava s if-elif-else izrazima. Elif je kratica od “else-if”. Sintaksa obično ide ovako:

Ako je uvjet 1:

Izjava 1

elif uvjet 2:

Izjava 2

drugo

Izjava 3

Izjava 4

Dakle, što se ovdje događa?

  • Ako je uvjet 1 točan, tada će se izvršiti naredba 1, a zatim će kôd skočiti na izjavu 4 da bi je izvršio.
  • Ako je uvjet 2 netačan, tada se kôd pomiče u uvjet 2. Ako je uvjet 2 točan, točan je tada se izvršava izraz 2, nakon čega slijedi izraz 4.
  • Ako niti jedan od uvjeta nije točan, tada se naredba 3 izvršava prema zadanim postavkama, a slijedi izjava 4.

U hipotetskom kodu koji smo naveli gore, izjava 4 ne pripada niti jednom od uvjeta, zbog čega se na kraju izvršava prema zadanim postavkama.

Ok, provjerimo sada jednostavan program koji koristi samo ako.

Krajnji vodič za Python i Blockchain: 1. dio

U ovom programu jednostavno provjeravamo je li broj manji od 6 ili nije. Ako jest, ispisat ćemo rezultat. Budući da je uvjet ispunjen, program na svom terminalu izvodi izraz.

Krajnji vodič za Python i Blockchain: 1. dio

Ok, hajdemo sada ovo podići na drugu razinu i unesite neke elifove. Pogledajte sljedeći dio koda:

Krajnji vodič za Python i Blockchain: 1. dio

Ovdje imate otprilike isti kod kao i prije.

Krajnji vodič za Python i Blockchain: 1. dio

Ok, sad ćemo je podići na posljednju razinu. Uvedimo konačnu drugu izjavu.

Dakle, ovdje imamo tri uvjeta:

  • Prvo provjerava je li broj veći od 6 ili nije
  • Sljedeće provjerava je li broj manji od 4
  • Konačno, ako svi uvjeti ne uspiju, tada se aktivira blok else i ispisuje da je broj 5.

Upravo se to događa u out kodu kao što možete vidjeti na donjem terminalu

# 2 Tercijarne izjave

Napokon, imamo tercijarne izjave. Pogledajte ovaj kod:

dob = 21

message = “Ispunjavate uvjete” ako imate dob >= 18 else “Ne ispunjavate uvjete”

ispis (poruka)

Vidiš tu izjavu?

“Imate pravo” ako imate dob >= 18 else “Ne ispunjavate uvjete”

To se naziva tercijarnom izjavom koja slijedi ovaj oblik: „Izjava 1“, ako je uvjet „Izjava 2“

U osnovi, Izjava 1 će se aktivirati samo ako je uvjet istinit, u suprotnom, Izjava 2 se aktivira.

Petlje

Napokon, imate petlje. Petlje su sastavni dio programiranja i koriste se kada je potrebno ponavljanje određenog zadatka. Pythonove petlje zapravo su prilično zanimljive i dodaju potpuno novu dimenziju vašem kodiranju.

# 1 za petlje

Za sada, provjerimo osnovnu petlju for:

za broj u rasponu (3):

   ispis (broj)

Ok, pa što se ovdje događa?

raspon (n) dat će vam brojeve koji idu od 0 do n-1. Dakle, u ovom slučaju, to ide od 0 do 2. Num varijabla će poprimiti vrijednost raspona pri svakom prolazu. Dakle, ako ispisujete “num”, ovo ćete dobiti:

“Num” zauzima vrijednosti od 0 do n-1 u svakoj iteraciji.

Oh, i ovo nije ograničeno samo na brojeve. Ovu petlju možemo napraviti i sa žicama.

za x u “PYTHON”:

   ispis (x)

Ovo će ispisati sljedeće:

Krajnji vodič za Python i Blockchain: 1. dio

Kao što vidite, x zauzima svaki znak u nizu.

Krajnji vodič za Python i Blockchain: 1. dio

# 2 Dok petlje

Postoji još jedna vrsta petlje koja se naziva “while” petlja.

broj = 100

dok broj >= 1:

   ispis (broj)

   broj // = 2

Dakle, što se ovdje događa?

Izvodimo petlju dok broj nije veći ili jednak 1. Kada napravimo broj // = 2, u osnovi radimo number = number // 2.

Pogledajmo što se ovo ispisuje:

Krajnji vodič za Python i Blockchain: 1. dio

Igranje oko petlji

# 1 Kombiniranje petlji s If-Else

Prvo što ćemo učiniti jest kombinirati petlje zajedno s if-else naredbama.

x = 100

za broj u rasponu (3):

   ako je x > 1:

       ispis (“pozitivno”)

   drugo:

       ispis (“negativan”)

Ako ovo izvršimo, izlaz će biti ovako:

Krajnji vodič za Python i Blockchain: 1. dio

Ok, promijenimo ovo malo. Ovom ćemo kodu dodati nešto.

x = 100

za broj u rasponu (3):

   ako je x > 1:

       ispis (“pozitivno”)

       pauza

   drugo:

       ispis (“negativan”)

Koja je razlika?

Vidite li onu jednu jedinu riječ koja je dodana kodu? Ključna riječ “break” pomaže prevoditelju da se izvuče iz koda. Stoga se u gornjem kodu “pozitivno” ispisuje samo jednom, a zatim prelazi kompajler.

Krajnji vodič za Python i Blockchain: 1. dio

# 2 ugniježđene petlje

Ugniježđene petlje su u osnovi petlje unutar petlji. Evo pogledajte ovo:

za x u rasponu (5):

   za y u rasponu (3):

       ispis (x, y)

Pa što se ovdje dogodilo?

Imamo x petlju i y petlju koja prolazi unutar nje. A sada, ispišite rezultat u terminalu i pogledajte što ćemo dobiti:Krajnji vodič za Python i Blockchain: 1. dio Python blockchain

Python blockchain: Zaključak

Za sada stanimo ovdje.

Dali smo vam osnove jezika Python. Predlažemo da se pomoću koda malo pomučite i udobnije osjećate. U sljedećem ćemo dijelu napokon započeti s našim blockchainom.

Mike Owergreen Administrator
Sorry! The Author has not filled his profile.
follow me
Like this post? Please share to your friends:
map