Python nyelv. Helló Világ. Karakterkódolás. Interpreter. < Python

Hasonló dokumentumok
Python tanfolyam Python bevezető I. rész

LibreOffice Makró Basic

1. Alapok. #!/bin/bash

C# nyelvhez kapcsolódó programozási feladatok

PYTHON. Avagy hosszú az út a BioPythonig

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

1.1. A forrásprogramok felépítése Nevek és kulcsszavak Alapvető típusok. C programozás 3

Imperatív programozás

Python I. Vincze Dávid Miskolci Egyetem, IIT

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Algoritmizálási feladatok

Imperatív programozás

S z á m í t ó g é p e s a l a p i s m e r e t e k

Informatika terméktervezőknek

2018, Diszkrét matematika

2019/02/11 10:01 1/10 Logika

Programozási nyelvek Python

A Python programozási nyelv

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Programozás alapjai 2.Gy: A C nyelv alapjai P R O

2018, Diszkrét matematika

Vezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok

1. Egyszerű (primitív) típusok. 2. Referencia típusok

2016/11/29 11:13 1/6 Digitális átvitel

BASH script programozás II. Vezérlési szerkezetek

Occam 1. Készítette: Szabó Éva

OOP: Java 1.Gy: Java alapok

2017/01/27 08:59 1/6 Gettext Rendszer

Python bevezető foglalkozás Python bevezető foglalkozás

Gyakorló feladatok Gyakorló feladatok

A Python programozási nyelv

Függvények Függvények

Webprogramozás szakkör

Programozási tételek feladatok

Karakterkészlet. A kis- és nagybetűk nem különböznek, a sztringliterálok belsejét leszámítva!

Elemi adatszerkezetek

2016, Diszkrét matematika

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Programozás I. C# bevezető. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar szeptember 17.

2018, Diszkrét matematika

2018, Diszkrét matematika

Programozás BMEKOKAA146. Dr. Bécsi Tamás 1. Előadás

Bevezetés a programozásba I.

2016, Diszkrét matematika

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Basic LibrOffice Calc

2018, Diszkre t matematika. 10. elo ada s

Programozási nyelvek JAVA EA+GY 1. gyakolat

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

3 A C programozási nyelv szintaktikai egységei

Az alábbi kód egy JSON objektumot definiál, amiből az adtokat JavaScript segítségével a weboldal tartalmába ágyazzuk.

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

Bevezetés a számítástechnikába

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

ELTE SAP Excellence Center Oktatóanyag 1

A C programozási nyelv I. Bevezetés

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós május 6. Széchenyi István Egyetem, Gy r

A C programozási nyelv I. Bevezetés

Bevezetés a Python programozási nyelvbe

Szkriptnyelvek II. Perl programok

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Forráskód formázási szabályok

Programozás 1. Dr. Iványi Péter

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 6.ELŐADÁS. Fájlkezelés PHP-ben

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

Java II. I A Java programozási nyelv alapelemei

Listák, szótárak, fájlok Listák, szótárak, fájlok

Kifejezések. Kozsik Tamás. December 11, 2016

2018, Diszkre t matematika. 8. elo ada s

INFORMATIKAI ALAPISMERETEK

Vezérlési szerkezetek

MATLAB alapismeretek II.

Intermec EasyCoder PM4i nyomtató programozásának alapjai Intermec Fingerprint v8.00 nyelven

BASH SCRIPT SHELL JEGYZETEK

Programozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek

6. BASH programozás I.

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás

Általános programozási feladatok

MATLAB alapismeretek I.

A C# PROGRAMOZÁSI NYELV

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

A C# programozási nyelv alapjai

Készítette: Nagy Tibor István

Tipikus hibák a szövegszerkesztésben. Dr. Nyéki Lajos 2017

2016, Diszkrét matematika

8. Perl programozás. A Perl nyelv. szá gen Szeged Csűrös Miklós április 6. Hello world. Változók

LEGO robotok. XII. rész

Programozás I gyakorlat

A programozás alapjai előadás. A C nyelv típusai. Egész típusok. C típusok. Előjeles egészek kettes komplemens kódú ábrázolása

Programozás alapjai gyakorlat. 2. gyakorlat C alapok

Programozás I gyakorlat

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

Hálózatok építése és üzemeltetése

BME MOGI Gépészeti informatika 5.

Bevezetés a programozásba I.

Szkriptnyelvek. 1. UNIX shell

INFORMATIKAI ALAPISMERETEK

Átírás:

2016/12/13 11:37 1/17 Python nyelv < Python Python nyelv Szerző: Sallai András Copyright Sallai András, 2011, 2014, 2015 Licenc: GNU Free Documentation License 1.3 Web: http://szit.hu Helló Világ elso.py # coding: utf8 print "Helló Világ!" Karakterkódolás Latin2 beállítása: # coding: iso-8859-2 UTF-8 beállítása: # coding: utf8 Az állomány elején kettős-kereszttel bevezetve adjuk meg. Hagyományosan használjuk a -*- karaktereket is: # -*- coding: <encoding name> -*- Interpreter Unix alapú rendszereken a legelső sorban megadhatjuk a python fordító útvonalát: #!/usr/bin/python # -*- coding: utf-8 -*- print("ok") Így különböző python verziók használhatók. A hármas verziót például:

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv #!/usr/bin/python3 # -*- coding: utf-8 -*- print("ok") Olvashatjuk a környezetből is: #!/usr/bin/env python # -*- coding: utf-8 -*- print("ok") Megjegyzés Egy soros megjegyzéseket tehetünk a kódba a # jel segítségével. # Megjegyzés A megjegyzések állhatnak utasítás után is print("ok") # Megjegyzés if "joska" in nevek: # Megvizsgáljuk benne van-e print("benne van") Kivitel A print utasítás Szöveget írathatunk ki idézőjelek és felső vesszők között is: print "Alma" print 'Alma' A Python 3.x verziótól, csak zárójellel használhatjuk a print() utasítást: print("alma") A print után vesszővel tagolva több paraméter is megadható: a = 3 print "Szám: ", a http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 3/17 Python nyelv sys program01.py #!/usr/bin/python import sys sys.stdout.write("valami\n") Azokat a változókat amelyek szám értékeket tartalmaznak, át kell konvertálni szöveggé: program01.py #!/usr/bin/python3 import sys szam = 35 sys.stdout.write(str(szam)) Összevonás más karaktersorozattal: program01.py #!/usr/bin/python3 import sys szam = 35 sys.stdout.write(str(szam) + " kg") Escape szekvenciák Ha kiíratunk egy a karaktert, akkor a megjelenik a képernyőn. Egyes karaktereket a szokásostól eltérően is értelmezhetünk. Megjelenés helyett valamilyen változást idézhetnek elő. Ha egy karakternek ilyen speciális jelentést szeretnénk adni, azt az elé tett vissza-per jellel jelezzük, és a továbbiakban escape szekvenciának nevezzük. A következő táblázat bemutatja, milyen escape szekvenciák vannak és azokat mire használjuk. Escape szekvencia Jelentés \\ vissza-perjel megjelenítése \' aposztróf megjelenítése \" idézőjel megjelenítése \a ASCII csengőhang \b ASCII visszatörlés - Backspace (BS) \f ASCII lapdobás (FF)

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv \n ASCII soremelés (LF) \r ASCII kocsi vissza (CR) \t ASCII vízszintes tabulátor (TAB) \v ASCII függőleges tabulátor (VT) \ooo oktális érték \xhh hexadecimális érték Visszatörlés használata: print("alma\bkörte") A fenti utasítás kitörli az alma szó utolsó a betűjét. Soremelés használata: print("alma\nkörte") Tabulátor használata: print("alma\tkörte") ASCII hexadecimális kód alapján kiíratás: print("\45") Változóhasználat A változókat használatuk előtt nem kell deklarálni. Egyszerűen csak használni kell. # coding: iso-8859-2 szam = 3 print "Teszt", szam # coding: iso-8859-2 szam1 = 3 szam2 = 5 osszeg = szam1 + szam2 print "Összeg: ", osszeg # coding: iso-8859-2 szoveg1 = "Szeretem" szoveg2 = " az almát" kiirando = szoveg1 + szoveg2 print "Következtetés: ", kiirando A változók típusa attól függ milyen értéket adunk át számára. Ha egész típust adunk át akkor int lesz. Ha valós típust, akkor float. Ha szöveget akkor str. http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 5/17 Python nyelv Ha szeretnénk tudni milyen típusú a változónk, akkor a type függvényt használhatjuk: print type(szam1) Az eredmény: <type 'int'> Vagy: print type(szoveg1) Az eredmény: <type 'str'> Formázott kivitel Egész szám kiíratása 10 helyen szam = 3 print "Szám: %10d" % szam Ha formázott kivitelt használunk, akkor a formátum karaktersorozat után a szeparátor % jel karakter, a vessző helyett. Valós szám, két tizedesjegy pontossággal, tíz helyen ábrázolva. szam = 3.12345678 print "Szám: %10.2f" % szam Szöveg kiíratása nev = "körte" print "Név: %s" % nev Matematikai modul A matematikai modul használatához, importálnunk kell a math modult. A * karakterrel az math modul összes függvényét importáljuk, de megadhatunk egy vagy több függvényt is vesszővel elválasztva. Gyökvonás és importálás:

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv import math print math.sqrt(9) Így importálva, mindig elé kell írni a math objektumnevet. Az sqrt statikusan importálva: from math import sqrt print sqrt(9) Vegyük észre hogy fentebb csak az sqrt függvényt importáltuk a math modulból. A következőkben a sqrt() és a sin() függvényt is importáljuk: from math import sqrt,sin print sqrt(9) print sin(1 * pi / 180) Az összes függvény importálása: from math import * print sqrt(9) print sin(1 * pi / 180) Véletlen szám Véletlen szám generálása a randrange függvénnyel lehetséges. Randrange A randrange használatához importálnunk kell a random csomagot: import random Szintaxis: random.randrange([start], stop[, step]) Példák: 0-tól 5-ig számok: print random.randrange(6) Megadható alsó határ is. 10-től 14-ig számok: http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 7/17 Python nyelv print random.randrange(10, 15) iterálva: veletlenek.py #!/usr/bin/env python # -*- coding: utf-8 -*- import random for szam in range(20): print random.randrange(3) A randrange elfogad egy harmadik paramétert is. A random.randrange(3,13,3) a 3, 6, 9, 12 sorozat elemek valamelyikét adja vissza. Randint random.randint(a, b) Visszatér egy egész N számmal, amely a <= N <= b. A randrange(a,b+1) formával azonos. Példa: dobokocka.py import random # 1-től -- 6--ig szám előállítása: print random.randint(1,6) Megjegyzés: Ne adjuk a futtatható állomány nevének a random szót, mert akkor ebből a fájlból akarja importálni a random objektumot. choice seq="abcd" random.choice(seq) print random.choice("abcd") A sorozatból választ egy elemet. A fenti példában tehát a, b, c vagy d -t ad majd vissza.

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv http://docs.python.org/py3k/library/random.html#random.choice random random.random() Egy 12 darab tizedesjegyből álló lebegőpontos számot generál. Például: 0.00727745707987 Operátorok Aritmetikai operátorok + összeadás - kivonás * szorzás / osztás % maradékképzés ** hatványozás Három a második hatványon: 3**2 Logikai operátorok and és or vagy not tagadás Zárójelek használatával egy lehetséges példa: (A and (not B)) or C Relációs operátorok > < >= <= ==!= http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 9/17 Python nyelv Konvertálás Sztring valóssá a = "123.12345" float(a) Sztring egésszé a = "123.12345" int(float(a)) Bevitel program01.py #!/usr/bin/python3.4 szam = input("szám: ") print szam * 2 Szöveg bekérése: szoveg = raw_input("szöveg: ") Egész szám bekérése: eszam = int(raw_input("egész szám: ") Valós szám bekérése: vszam = float(raw_input("valós szám: ") Két szám bekérése, összeadása: # coding: iso-8859-2 szam1 = int(raw_input('szam1: ')) szam2 = int(raw_input('szam2: ')) eredmeny = szam1 + szam2 print eredmeny

Last update: 2015/06/02 08:22 Szekvencia oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv tevékenység1 tevékenység2 A Python nyelvben fontos, hogy az utasításokat nem írhatjuk behúzással indoklás nélkül. Behúzással akkor írhatjuk, hogy az utasítás egy szelekciós, iterációs vagy más blokk részét képezi. Szelekció Általánosan if feltétel: tevékenység Két ágú szelekció általánosan: if feltétel: tevékenység else: tevékenység2 Több ágú szelekció általánosan: if feltétel: tevékenység elif feltétel2: tevékenység2 else: tevékenység3 Példák a = 3 if a > 0: print "Pozitív" elif a < 0: print "Negatív" else print "Nulla" Több utasítás a szelekcióban Azt szeretnénk, ha az a változó kisebb mint nulla akkor írja ki egy utasítás, hogy Negatív szám, majd egy másik utasítás: Nem jó nekünk. A szelekció ezzel véget ér, egy olyan utasítás jön ami már http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 11/17 Python nyelv nem tartozik a szelekcióhoz, amely azt írja ki: Folytatás. Ez utóbb utasítás tehát mindenképpen végre kell hajtódjon. if a < 0: print "Negatív szám" print "Nem jó nekünk" print "Folytatás..." Vegyük észre, hogy nincs blokk nyitó és blokk záró. Hogy a blokk még tart, jelzi a folyamatos beljebb kezdés. Ha a blokkot véget ért, akkor az if utasítással egy vonalban folytatjuk a következőt. A könnyebb érthetőség kedvéért hasonlítsuk össze a következő két programot: a = 5 if a < 0: print "Negatív szám" print "Nem jó nekünk" print "Folytatás..." a = 5 if a < 0: print "Negatív szám" print "Nem jó nekünk" print "Folytatás..." Futtassuk le, és nézzük meg mi a kettő különbsége. Relációs operátorok használata a szelekcióban a = 9 if (a % 2 == 0): print "páros" else: print "páratlan" Iteráció while i = 0 while i < 10: i = i + 1 print i, " Valami" print "Vege"

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv for lista = ['macska', 'ablak', 'utca'] for b in lista: print b for n in range(1, 40): print "Helló Világ" Intervallum # [0,1,2,3,4,5,6,7,8,9] listát hozzuk létre lista = range(10) for szam in lista: print szam Előállíthatunk 5 és 12 közötti számokat: range(5,13) [5, 6, 7, 8, 9, 10, 11, 12] 3-tól 15-ig, hármasával: range(3,16,3) [3, 6, 9, 12, 15] Lista bejárása bejar.py # Készítünk egy listát: nevsor = ['Jóska','Kati','Mari','János','Gábor'] # Bejárjuk: for index in range(len(nevsor)): print index, nevsor[index] Iterációk A számokat kiíratjuk 0-tól 9-ig http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 13/17 Python nyelv for i in range(10): print i Szövegkezelés Konkatenálás szoveg3 = szoveg1 + szoveg2 Ha bekérjük a szöveget, ne felejtsük el, hogy a szöveg végére egy kocsi vissza karakter is beíródik. Ezért az el kell távolítani: vnev = raw_input("vezetéknév: ") knev = raw_input("keresztnév: ") teljesnev = vnev.rstrip() + knev.rstrip() De létezik lstrip() és strip() metódus is Szöveg hossza: szoveg = "körte" print len(szoveg) Eredmény: 5 Darabolás tomb = szoveg.split() Megadhatjuk a szeparátort: szoveg = "egy:ketto:harom" tomb = szoveg.split(':') Benne van-e? sor = "vi farkas más" if "farkas" in sor: print("ok")

Last update: 2015/06/02 08:22 Tömbök oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv Vektor # coding: iso-8859-2 tomb = [] tomb.append(9) tomb.append(4) print "Első elem: ", tomb[0] print "Második elem: ", tomb[1] # coding: iso-8859-2 tomb = [3,5,6,7] print "Első elem: ", tomb[0] print "Második elem: ", tomb[1] Mátrix # coding: iso-8859-2 tomb = [[1,1,1],[1,1,1],[1,1,1]] print tomb[0][0] Méret tomb = [ 3, 4, 9] meret = len(tomb) Időpont lekérdezése #coding: utf-8 import time pillanatok = time.time() print "Eltelt pillanatok 1970 január 1 12:00 óra óta: ", pillanatok helyiido = time.localtime(time.time()) print "Helyi idő: ", helyiido http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 15/17 Python nyelv # Helyi idő formázva: helyiido = time.asctime(time.localtime(time.time())) print "Helyi idő: ", helyiido input() Függvény Függvényt a def szóval hozhatunk létre def Osszead(szam1, szam2): eredmeny = szam1 + szam2 return eredmeny print Osszead(3, 2) Fájlkezelés Szekvenciális fájlkezelés Hozzáfűzés f = open('adat.txt', 'a') f.write('üdv\n') f.close() Olvasás f = open('adat.txt', 'r') sor = f.read() print sor f.close() 5 karakter beolvasása: s = f.read(5)

Last update: 2015/06/02 08:22 oktatas:programozás:python:python_nyelv http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv Szövegfájlok kezelése Írás fájlba olvas.py f = open('adat2.txt', 'w') f.write("első") f.write("második") f.close() Olvasás fájlból olvas.py f = open('adat.txt', 'r') while 1: sor = f.readline() if sor == '': break print sor.rstrip() f.close() Olvasás újabb verzió olvas.py #!/usr/bin/env python # -*- coding: utf-8 -*- with open("adat.txt") as f: for sor in f: print(sor) http://szit.hu/ Printed on 2016/12/13 11:37

2016/12/13 11:37 17/17 Python nyelv Külső könyvtárak használata sys.path.append('/ahol/a/libek/vannak/') From: http://szit.hu/ - SzitWiki Permanent link: http://szit.hu/doku.php?id=oktatas:programoz%c3%a1s:python:python_nyelv Last update: 2015/06/02 08:22