Python tanfolyam Python bevezető I. rész

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

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

Imperatív programozás

Gyakorló feladatok Gyakorló feladatok

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

A Python programozási nyelv

Python I. Vincze Dávid Miskolci Egyetem, IIT

Komputeralgebra Rendszerek

PYTHON. Avagy hosszú az út a BioPythonig

Imperatív programozás

A Python programozási nyelv

Smalltalk 2. Készítette: Szabó Éva

Programozási nyelvek Python

Imperatív programozás

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

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

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

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

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

A Python alapjainak áttekintése

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

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

A C# programozási nyelv alapjai

Szkriptnyelvek. 1. UNIX shell

Informatika terméktervezőknek

Szoftvertechnológia alapjai Java előadások

Fordított és szkript nyelvek összehasonlító elemzése. Sergyán Szabolcs

AWK programozás, minták, vezérlési szerkezetek

Webprogramozás szakkör

Java II. I A Java programozási nyelv alapelemei

Mi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás

A JavaScript főbb tulajdonságai

Mi a Python? A Python alapjainak áttekintése. Példaprogram feladatkit zés. Példaprogram megvalósítás

Programozási nyelvek JAVA EA+GY 1. gyakolat

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

Java II. I A Java programozási nyelv alapelemei

Szoftvertervezés és -fejlesztés I.

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

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

Programozás II. 2. Dr. Iványi Péter

AWK programozás, minták, vezérlési szerkezetek

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

van neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk

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

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

Számítógépes Hálózatok. 1. gyakorlat

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

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.

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

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

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

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r

Oktatási segédlet 2014

1. Alapok. #!/bin/bash

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

2016, Funkcionális programozás

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

15. Programok fordítása és végrehajtása

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Függvények Függvények

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

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás II. 2. gyakorlat Áttérés C-ről C++-ra

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Számítógépes Hálózatok GY 1.hét

Mintavételes szabályozás mikrovezérlő segítségével

Szkriptnyelvek II. Perl programok

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

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

2019, Diszkrét matematika. 1. el adás

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

2016, Diszkrét matematika

Számítógépes Hálózatok. 1. Gyakorlat

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

2018, Funkcionális programozás

A C programozási nyelv I. Bevezetés

2018, Diszkrét matematika

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Bevezetés a C++ programozásba

C# gyorstalpaló. Készítette: Major Péter

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

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

AWK programozás Bevezetés

Változók és adattípusok Változók és adattípusok

2018, Diszkrét matematika

2016, Diszkrét matematika

Bevezetés a programozásba I.

Apple Swift kurzus 3. gyakorlat

SQL*Plus. Felhasználók: SYS: rendszergazda SCOTT: demonstrációs adatbázis, táblái: EMP (dolgozó), DEPT (osztály) "közönséges" felhasználók

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

Bevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok

Bevezetés a programozásba. 6. Előadás: C++ bevezető

2018, Diszkre t matematika. 8. elo ada s

Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?

// keressük meg a legnagyobb faktoriális értéket, ami kisebb, // mint százmillió

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

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

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

Java programozási nyelv

Átírás:

Python tanfolyam Python bevezető I. rész

Mai tematika Amiről szó lesz (most): Interpretált vs. fordított nyelvek, GC Szintakszis Alaptípusok Control flow: szekvencia, szelekció, iteráció... Függvények Modulok használata Fájlkezelés

Python A Python Interpretált nyelv Egyszerűen használható, mégis valódi programnyelv Tömör és kifejező Könnyen kiterjeszthető

Fordított nyelvek - ismétlés Forrás: http://www3.ntu.edu.sg/home/ehchua/programming/cpp/images/gcc_compilationproc ess.png

Interpretált nyelvek Nincs szükség fordításra gyorsabb fejl. A programot az ún. Interpreter futtatja Lassabbak mint a fordított nyelvek Sorról-sorra fordít

Python interpreter Köztes nyelvre fordítás bytecode bytecode interpreter Kód megváltoztatása után első futtatáskor újra fordít *.py *.pyc Python és python3 CLI demo Interpreter indítása interaktív módban Parancsok átadása

Szintaktika Blokkok helyett indentálás 4 szóköz / 1 tab Nem lehet keverni! Kettőspont!!! Demo: module1.py Kommentek: # a sor elején

Egyszerű adattípusok Mind immutable Int & float //, ** Interaktív módban utolsó eredmény változója: _ int(), float() Boolean True / False

Összetett adattípusok String List: [,] Tuple: (,) Dictionary: { key1 : value1,} Egy részük immutable, vagy van immutable párjuk

String Immutable str() ', '', '''''' használata Escape-elés, raw string Többsoros ( a b c ) s[:i] + s[i:] = s Beolvasás: input( string to print )

String 2 Konkatenálás: + Ismétlés: * Demo: "ba" + 2 * "la" + "jka" len(), split(), strip(), join() Subscription: Demo: string_subscription.py Hogyan kell visszafelé, minden második karaktert kiírni?

List Jele: [] Mutable append() metódus Demo: lista létrehozás, indexelés, slicing

Tuple Jele: () Immutable Demo: tuple létrehozás, indexelés, slicing

Dictionary Jele: d = { key : value } Értékadás: d[ key ] = other value Mutable Map-nek is hívják keys() Demo: dictionary létrehozás, indexelés, slicing

Ciklusok - for range(): visszaad egy objektumot, amin lehet iterálni range(stop) range(10): 0-tól 9-ig az összes egész Demo sum1.py sum2.py range.py

Ciklusok - while Amíg a feltétel igaz Demo: fibonacci.py Forrás: http://docs.python.org/3/tutorial/introduction.html

Elágazások Új blokkot nyitnak indentálni kell (célszerű) If, elif, else Használhatjuk a feltétel igazság tartalmát (nem kell mindig == True, ) in operator: if a in (1, 2, b, a ): pass Demo: elagazas.py

List comprehension Általános dolog Egy lista egy másik lista egy kicsit átgyúrva Egy lista egy másik lista elemeinek részhalmaza LC: tegyük ezt a műveletet könyebbé Szerkezet: [f(i) for if...] Példa: írjuk ki kettő első 11 egész hatványát print([2**i for i in range(11)])

List comprehension 2 Alkalmazzunk egy függvényt minden elemre Egy lista minden elemén hívjunk meg egy metódust Gyűjtsük ki egy lista adott tulajdonságokkal rendelkező elemeit

Feladatok Számok négyzete 1-10-ig Páros számok négyzete 1-10-ig Adott M, egy n*n-es mátrix (és n). Transzponáld M-et. Minden fenti feladatot egy sorban is meg lehet oldani, list comprehensionnel. Írd ki 2014 és 3014 között az összes olyan számot, ami osztható 5-el, de 7-el nem. Írf fv-t, ami a bementeként kapott számnak kiszámolja a faktoriálisát.

Függvények Ezek is objektumok A paramétereik kaphatnak default értéket A default értékű argumentumok csak egyszer értékelődnek ki Keyword argumentumok Ha explicit megmondjuk minek adunk értéket, a paraméterek sorrendje sem számít *, ** paraméterek Packing, unpacking Demo: function.py

Lambda függvények Névtelen, egy utasításos függvények Használjuk: Egyszer használatos, rövid függvények Más függvények paramétereként átadhatók (pl. egy lista minden elemére alkalmazzuk a lambda fv-t) Demo: lambda.py

Modulok Python definíciókat tartalmazhat (pl. függvények, osztályok, globális változók) A modulokat az import szóval lehet importálni, ekkor a modulban lévő definíciók a modulnev.definicio alakban érhetők el (lásd math.sqrt() fv.) Az egyes definíciók közvetlenül is importálhatók: from math import sqrt sqrt(2) A modul neve a modulon belül megtudható a name globális változóból Néhány standard modul: os, sys, re

Modulok 2 A modulok futtathatók is: Demo: module1.py python3 module1.py

Fájlműveletek Fájl megnyitása: f = open( fajlnev, mod) mod := r vagy w A fájlnév lehet relatív vagy abszolút Használat után le kell zárni: f.close() with statement Demo: fileops.py

Fájlműveletek 2 Egyéb fontos műveletek: read() readline(), readlines() write(str), writelines(sequence)