10. évf.: Programozási alapok mélyítése
10. évf.: Programozási alapok mélyítése
Python programozás alapjai

Bevezetés
A Python napjaink egyik legnépszerűbb programozási nyelve.
Széles körben használják:
- hálózatüzemeltetésben
- automatizálásban
- mesterséges intelligenciában
- adatfeldolgozásban
- webfejlesztésben
- rendszeradminisztrációban
Hálózati és rendszerüzemeltetési környezetben különösen fontos, mert:
- egyszerűen tanulható
- könnyen olvasható
- sok hálózati könyvtár érhető el hozzá
Az informatika egyik különös fordulata, hogy a programozók évtizedekig bonyolították a dolgokat, majd valaki előállt egy nyelvvel, amelynek egyik fő üzenete körülbelül az lett: "írjunk végre olvasható kódot."
Mi a Python?
A Python:
- magas szintű programozási nyelv
- értelmezett nyelv
- objektumorientált nyelv
Python jellemzői
Előnyök:
- egyszerű szintaxis
- platformfüggetlen
- gyors fejlesztés
- sok beépített modul
- könnyű hibakeresés
Első program
print("Hello világ")
A print függvény
Feladata:
- információ megjelenítése
Példa:
print("Iskolai hálózat")
print("IP cím:", "192.168.1.1")
Kimenet:
Iskolai hálózat
IP cím: 192.168.1.1
Változók
A változó:
- adat tárolására szolgál.
Változó létrehozása
nev="Attila"
kor=18
atlag=4.5
Adattípusok
| Típus | Jelentés |
|---|---|
| str | szöveg |
| int | egész szám |
| float | tört szám |
| bool | logikai érték |
| list | lista |
Példa
nev="Gábor"
eletkor=17
online=True
print(nev)
print(eletkor)
print(online)
Típus lekérdezése
nev="Router"
print(type(nev))
Operátorok
Matematikai operátorok
| Operátor | Jelentés |
|---|---|
| + | összeadás |
| - | kivonás |
| * | szorzás |
| / | osztás |
| // | egész osztás |
| % | maradék |
| ** | hatványozás |
Példa
a=10
b=3
print(a+b)
print(a*b)
print(a%b)
Összehasonlító operátorok
| Operátor | Jelentés |
|---|---|
| == | egyenlő |
| != | nem egyenlő |
| > | nagyobb |
| < | kisebb |
| >= | nagyobb vagy egyenlő |
| <= | kisebb vagy egyenlő |
Feltételek
Pythonban:
if
elif
else
használható.
Példa
jegy=4
if jegy==5:
print("Jeles")
elif jegy==4:
print("Jó")
else:
print("Más")
Behúzás
Pythonban a behúzás:
- kötelező.
Helyes
if x==1:
print("OK")
Hibás
if x==1:
print("OK")
Ciklusok
A ciklus:
- ismétlődő feladat végrehajtása.
For ciklus
for i in range(5):
print(i)
Kimenet:
0
1
2
3
4
Range
range(kezdő,vég,lépés)
Példa
for i in range(1,11):
print(i)
While ciklus
A while:
- feltétel teljesüléséig fut.
Példa
szam=1
while szam<=5:
print(szam)
szam+=1
Lista
A lista:
- több elem tárolására szolgál.
Példa
eszkozok=[
"Router",
"Switch",
"Access Point"
]
print(eszkozok)
Lista elemeinek elérése
print(eszkozok[0])
Lista bejárása
for eszkoz in eszkozok:
print(eszkoz)
Függvények
A függvény:
- újrahasználható kódrészlet.
Függvény létrehozása
def koszont():
print("Üdv")
Meghívás
koszont()
Paraméteres függvény
def koszont(nev):
print("Szia",nev)
Használat
koszont("Péter")
Visszatérési érték
def osszeg(a,b):
return a+b
eredmeny=osszeg(10,20)
print(eredmeny)
Modulok
A modul:
- előre elkészített programkód.
Modul importálása
import math
Példa
import math
print(math.sqrt(25))
Random modul
import random
print(random.randint(1,10))
Objektumorientált alapok
Az objektum:
- adatot és műveletet tartalmaz.
Osztály létrehozása
class Router:
def __init__(self,nev):
self.nev=nev
Objektum példányosítása
r1=Router("Cisco")
print(r1.nev)
Fájlkezelés
A Python képes:
- fájlokat létrehozni
- olvasni
- módosítani
Fájl írása
f=open("teszt.txt","w")
f.write("Első sor")
f.close()
Fájl olvasása
f=open("teszt.txt","r")
print(f.read())
f.close()
Modern megoldás
with open("teszt.txt","r") as f:
adat=f.read()
print(adat)
Soronkénti olvasás
with open("naplo.txt","r") as f:
for sor in f:
print(sor)
Hiba kezelés
try:
f=open("nincs.txt")
except:
print("Nem található")
Egyszerű hálózati Python
IP cím bekérése:
ip=input("Adj IP címet: ")
print(ip)
Ping végrehajtása
import os
ip=input("IP:")
os.system("ping "+ip)
Egyszerű ping sweep
import os
for i in range(1,11):
ip="192.168.1."+str(i)
valasz=os.system(
"ping -n 1 "+ip)
if valasz==0:
print(ip,"elérhető")
Socket alapú kapcsolat
import socket
s=socket.socket()
s.connect(("google.com",80))
print("Kapcsolódva")
s.close()
Mire használható hálózati Python?
Példák:
- routerek kezelése
- konfiguráció mentése
- ping sweep
- portvizsgálat
- SSH automatizálás
- monitorozás
Gyakori hibák
Példák:
- hiányzó behúzás
- elírt változó
- rossz zárójel
- hibás adattípus
- végtelen ciklus
Gyakorlati feladat
Feladat:
Írj programot:
- kérjen be IP-címet
- pingelje meg
- írja ki, hogy elérhető-e
- mentse az eredményt egy fájlba
