PITCHME.md 4.45 KB
Newer Older
Bodor Máté's avatar
v0.03    
Bodor Máté committed
1
# Python 3 alapok
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
2
3
4
5
6

---

### Története

Bodor Máté's avatar
v0.01    
Bodor Máté committed
7
 - Guido van Rossum
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
8

Bodor Máté's avatar
v0.01    
Bodor Máté committed
9
 - 1991-ben jött létre
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
10

Bodor Máté's avatar
v0.01    
Bodor Máté committed
11
 - Magas szintű programozási nyelv
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
12

Bodor Máté's avatar
v0.03    
Bodor Máté committed
13
14
15
16
17
18
Note:
   - BDFL (Benevolent dictator for life)
   - Monty Python, karácsony
   - könnyen olvasható, tanulható, gyors fejlesztés
   - lassú

Bodor Máté's avatar
v0.01    
Bodor Máté committed
19
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
20
21
22

### Interpretált

Bodor Máté's avatar
v0.03    
Bodor Máté committed
23
24
25
 - A kódot egy értelmező dolgozza fel
 - Nem kell fordítani
 - Platformfüggetlen
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
26

Bodor Máté's avatar
v0.03    
Bodor Máté committed
27
Note:
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
28

Bodor Máté's avatar
v0.03    
Bodor Máté committed
29
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
30

Bodor Máté's avatar
v0.03    
Bodor Máté committed
31
### Miért szeretjük a python?
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
32

Bodor Máté's avatar
v0.03    
Bodor Máté committed
33
34
35
Note:
   - Magasszintű:
      -  Könnyen tanulható, gyors fejlesztés
Bodor Máté's avatar
v0.04    
Bodor Máté committed
36
37
   - Interpretált:
      - Bárhol lefut, nem kell lefordítani
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
38

Bodor Máté's avatar
v0.03    
Bodor Máté committed
39
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
40

Bodor Máté's avatar
v0.09    
Bodor Máté committed
41
![Python is awsome!](https://cdn-images-1.medium.com/max/800/0*_e09A-2xg4x7PG_A.)
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
42

Bodor Máté's avatar
v0.04    
Bodor Máté committed
43
---
Bodor Máté's avatar
v0.07    
Bodor Máté committed
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66

### Tökéletes?!

+++
### Tökéletes?!

NEM!

+++

### Tökéletes?!
- Lassú, nagyon lassú
- Zabálja a ramot
- Csak futási hiba

Note:

+++
Kép: https://benchmarksgame-team.pages.debian.net/benchmarksgame/faster/gpp-python3.html

Note:
 https://en.wikipedia.org/wiki/N-body_simulation
---
Bodor Máté's avatar
v0.04    
Bodor Máté committed
67
68
### Csomagok

Bodor Máté's avatar
v0.06    
Bodor Máté committed
69
70
71
72
- Webfejlesztés:
    - Django
    - Flusk
    - Requests
Bodor Máté's avatar
v0.05    
Bodor Máté committed
73
74
75

+++

Bodor Máté's avatar
v0.06    
Bodor Máté committed
76
77
78
- IT Security:
    - Scapy
    - Nmap
Bodor Máté's avatar
v0.05    
Bodor Máté committed
79
80
81

+++

Bodor Máté's avatar
v0.06    
Bodor Máté committed
82
83
84
- AI:
    - TensorFlow
    - Keras
Bodor Máté's avatar
v0.05    
Bodor Máté committed
85
86
87

+++

Bodor Máté's avatar
v0.06    
Bodor Máté committed
88
89
90
91
- Data Science:
    - Pandas
    - StatsModels
    - NumPy
Bodor Máté's avatar
v0.05    
Bodor Máté committed
92
93
94

+++

Bodor Máté's avatar
v0.06    
Bodor Máté committed
95
96
97
98
- GUI:
    - PyQt
    - Tkinter
    - Flexx
Bodor Máté's avatar
v0.04    
Bodor Máté committed
99
 
Bodor Máté's avatar
v0.05    
Bodor Máté committed
100
+++
Bodor Máté's avatar
v0.06    
Bodor Máté committed
101
102
103
104
- Data visualization
    - matplotlib
    - Plotly
    - geoplotlib
Bodor Máté's avatar
v0.03    
Bodor Máté committed
105
Note:
Bodor Máté's avatar
v0.04    
Bodor Máté committed
106
107
   

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
108
109
110
111
---

### Pip

Bodor Máté's avatar
v0.01    
Bodor Máté committed
112
 - csomagkezelő
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
113

Bodor Máté's avatar
v0.01    
Bodor Máté committed
114
  - egy helyen van minden
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
115

Bodor Máté's avatar
v0.01    
Bodor Máté committed
116
  - könnyen használható
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
117
118
119
120
121
122

Note:

- könnyen használható
  - C++ ban jóval nehezebb

Bodor Máté's avatar
v0.07    
Bodor Máté committed
123
124
+++
```
Bodor Máté's avatar
v0.08    
Bodor Máté committed
125
pip install flake8/black
Bodor Máté's avatar
v0.07    
Bodor Máté committed
126
127
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
128
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
129
130
131

### Virtualenv

Bodor Máté's avatar
v0.08    
Bodor Máté committed
132
 - saját környezet minden projekthez
Bodor Máté's avatar
v0.10    
Bodor Máté committed
133
134
    - a
    - b
Bodor Máté's avatar
v0.08    
Bodor Máté committed
135
136

 - Windows:
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
137

Bodor Máté's avatar
v0.09    
Bodor Máté committed
138
```
Bodor Máté's avatar
v0.07    
Bodor Máté committed
139
140
141
python -m venv venv
```

Bodor Máté's avatar
v0.09    
Bodor Máté committed
142
```
Bodor Máté's avatar
v0.07    
Bodor Máté committed
143
144
venv\Scripts\activate.bat
```
Bodor Máté's avatar
v0.08    
Bodor Máté committed
145
146

- Linux:
Bodor Máté's avatar
v0.09    
Bodor Máté committed
147
```
Bodor Máté's avatar
v0.07    
Bodor Máté committed
148
149
150
python3 -m venv venv
```

Bodor Máté's avatar
v0.09    
Bodor Máté committed
151
```
Bodor Máté's avatar
v0.11    
Bodor Máté committed
152
source venv\bin\activate
Bodor Máté's avatar
v0.07    
Bodor Máté committed
153
154
```

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
155
156
157
158
---

### Hello World!

Bodor Máté's avatar
v0.07    
Bodor Máté committed
159
160
+++ 

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
161
162
163
164
```python
print("Hello World!")
```

Bodor Máté's avatar
v0.07    
Bodor Máté committed
165
+++
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
166

Bodor Máté's avatar
v0.08    
Bodor Máté committed
167
168
169
170
```
pip install colorama
```

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
171
172
173
174
175
176
177
178
179
180
181
182
```python
from colorama import init
from colorama import Fore, Back, Style

init()
print(Fore.RED + 'some red text')
print(Back.GREEN + 'and with a green background')
print(Style.DIM + 'and in dim text')
print(Style.RESET_ALL)
print('back to normal now')
```

183
184
---

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
### Szintaxis

```python
#!/usr/bin/python3
import sys

try:
   # open file stream
   file = open(file_name, "w")

except IOError:
   print ("There was an error writing to", file_name)
   sys.exit()
print ("Enter '", file_finish,)
print "' When finished"

while file_text != file_finish:
   file_text = raw_input("Enter text: ")
Bodor Máté's avatar
v0.07    
Bodor Máté committed
203
  
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
204
205
206
207
208
209
210
211
212
213
214
215
```

Note:

- Nincs sorvég jel
- A kód blokkok indentálva vannak nincs kapcsoszárójel
- komment #

---

### Változók

Bodor Máté's avatar
v0.08    
Bodor Máté committed
216
217
+++

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
218
219
- integer
- float
Bodor Máté's avatar
v0.08    
Bodor Máté committed
220
- complex number
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
221
- string
Bodor Máté's avatar
v0.08    
Bodor Máté committed
222
- bool
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
223

Bodor Máté's avatar
v0.01    
Bodor Máté committed
224
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
225
226
227

### List

Bodor Máté's avatar
v0.08    
Bodor Máté committed
228
229
230

+++

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
231
```python
232
myList = ['physics', 'chemistry', 'physics', 1997, 2000]
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
233
234
235
236
```

bármilyen típus lehet benne

237
módosítható(mutable)
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
238

Bodor Máté's avatar
v0.01    
Bodor Máté committed
239
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
240
241

```python
242
243
print ("myList[0]: ", myList[0])
print ("myList[1:5]: ", myList[1:5])
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
244
245
246
```

```python
247
248
myList.append(5)
del myList[2]
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
249
250
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
251
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
252
253
254

### Tuple

Bodor Máté's avatar
v0.08    
Bodor Máté committed
255
256
+++

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
Ugyanaz, mint egy lista

Nem módosítható(immutable)

```python
tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')
```

```python
# tup1[0] = 100;
tup3 = tup1 + tup2
print (tup3)
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
272
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
273
274
275

### Dictionary

Bodor Máté's avatar
v0.08    
Bodor Máté committed
276
277
+++

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
Kulcs érték pár

A kulcs egyedi, érték bármi lehet

```python
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}
```

```python
print ("dict['Name']: ", dict['Name'])
dict['Age'] = 8
del dict['Name']
```

---

Bodor Máté's avatar
v0.08    
Bodor Máté committed
294
295
296
### Függvények
---

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
### Alap beépített fgv-ek

int

hex

oct

str

len

list

range

Bodor Máté's avatar
v0.01    
Bodor Máté committed
313
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
314
### Ciklusok
Bodor Máté's avatar
v0.01    
Bodor Máté committed
315
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
316
#### While
Bodor Máté's avatar
v0.08    
Bodor Máté committed
317
+++
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
318
319
320
321
322
323
324
325
326
327
328
329
330
331
```python
count = 0
while (count < 9):
   print ('The count is:', count)
   count = count + 1
```

```python
>>> range(5)
range(0, 5)
>>> list(range(5))
[0, 1, 2, 3, 4]
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
332
---
333

Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
334
335
#### For

Bodor Máté's avatar
v0.08    
Bodor Máté committed
336
+++
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
```python
for var in range(5):
   print (var)
```

```python
for letter in 'Python':     # traversal of a string sequence
   print ('Current Letter :', letter)
print()
fruits = ['banana', 'apple',  'mango']

for fruit in fruits:        # traversal of List sequence
   print ('Current fruit :', fruit)
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
352
353
---

Bodor Máté's avatar
v0.08    
Bodor Máté committed
354
### Elágazások
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
355

Bodor Máté's avatar
v0.08    
Bodor Máté committed
356
+++
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
```python
if expression1:
   statement(s)
elif expression2:
   statement(s)
elif expression3:
   statement(s)
else:
   statement(s)
```

---

### Osztályok

Bodor Máté's avatar
v0.08    
Bodor Máté committed
372
+++
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
```python
class Employee:
   'Common base class for all employees'
   empCount = 0

   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1
   
   def displayCount(self):
     print ("Total Employee %d" % Employee.empCount)

   def displayEmployee(self):
      print ("Name : ", self.name,  ", Salary: ", self.salary)
```

Bodor Máté's avatar
v0.01    
Bodor Máté committed
390
---
Bodnár Zsombor's avatar
WIP    
Bodnár Zsombor committed
391

Bodor Máté's avatar
v0.08    
Bodor Máté committed
392
393
394
395
### Getter, Setter

+++
a