-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsummary.txt
More file actions
367 lines (286 loc) · 5.13 KB
/
Copy pathsummary.txt
File metadata and controls
367 lines (286 loc) · 5.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
22. Quick Interview Cheat Sheet
Input
input()
Takes user input and returns a string.
Type checking
type(value)
Tells you the type of a value.
Conversion
int()
float()
str()
bool()
Explicitly converts values.
String methods
.upper()
.lower()
.find()
.replace()
.startswith()
Membership
in
not in
Arithmetic
+ - * / // % **
Comparison
> < >= <= == !=
Logical
and
or
not
Conditions
if
elif
else
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Python fundamnetals
Variables
Data types
Input/output
if / elif / else
for
while
range()
Functions
Parameters
return
Scope
Lists
Tuples
Sets
Dictionaries
Strings
Basic slicing
List/dict comprehensions
Exception handling
Modules/imports
2. Programming fundamentals ⭐
This is actually more important than knowing 100 Python tricks.
We'll work on:
Breaking a problem into steps
Loops and conditions
Functions
State changes
Searching
Counting
Frequency maps
Sorting
Two pointers
Sliding window
Recursion
Basic complexity analysis
Debugging
Edge cases
3. Imp data structures
list
dict
set
tuple
string
You should become extremely comfortable with:
append()
pop()
remove()
sort()
sorted()
reverse()
split()
join()
strip()
replace()
get()
items()
keys()
values()
And understand when to choose:
list → ordered collection
set → uniqueness / fast membership
dict → key-value lookup
tuple → fixed/grouped values
string → text
4. Intermediate Python
Then we'll move into things that actually start appearing in real projects:
File handling
JSON
CSV
APIs
requests
Environment variables
Logging
Exceptions
Classes/OOP
Dataclasses
Virtual environments
Packages
pip
Type hints
Testing
Git
Debugging
This is where Python starts becoming a professional development tool.
5. Data Engineering-specific Python
If data engineering:
Python
↓
Files
↓
CSV / JSON
↓
SQL
↓
APIs
↓
Data cleaning
↓
Pandas
↓
ETL / ELT
↓
Databases
↓
Data pipelines
↓
Airflow
↓
Cloud
6. Interview prep
Qt- Given a list of numbers, find the number that appears most frequently.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Python needed for MerchantGuard
# The Python you actually need
Before we start `risk_evaluator.py`, these are the concepts I want you to know:
### Level 1 — Absolutely required
- Variables
- Strings
- Integers
- Lists
- Dictionaries
- `None`
- `if`
- `for`
- Functions
- Arguments
- Return values
- Classes
- Objects
- `self`
- Methods
- Imports
- Exceptions
- `try/except`
### Level 2 — Required for your code
- Type hints
- `dataclass`
- `field`
- List/dict comprehensions
- `lambda`
- `staticmethod`
- `with`
- `Path`
- f-strings
- `any()`
- `all()`
- `sum()`
- `min()`
- `max()`
- `set`
- `defaultdict`
### Level 3 — Understand conceptually
- Regex
- HTTP requests
- HTML parsing
- DNS
- WHOIS
- TLS
- JSON
- Pandas
- Playwright
--------------------------------------------------------------------------------
## Python needed for starting risk_evaluator.py
1. Variables
2. Strings, integers, booleans, `None`
3. Lists
4. Dictionaries
5. `if / elif / else`
6. `for` loops
7. Functions
8. Parameters and return values
9. `import`
10. Classes and objects
11. `self`
12. Methods
13. `try / except`
14. `with`
15. Type hints
16. `dataclass`
17. List/dict comprehensions
18. `*args` / `**kwargs` — basic understanding
19. `lambda` — basic understanding
20. `Path`
21. f-strings
22. `enumerate`
23. `any`, `all`, `sum`, `min`, `max`
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1. Strings
indexing, slicing
common methods
looping through strings
formatting
2. Functions — deeper practice
parameters/arguments
return
default arguments
scope
practical function design
3. List/Dictionary Comprehensions
very common Python syntax
useful for data processing and interviews
4. Exception Handling
try
except
else
finally
raise
5. File Handling
reading/writing files
with open(...)
practical text/CSV usage
6. Modules & Packages
import
standard library
creating your own modules
7. Object-Oriented Programming
classes/objects
__init__
instance attributes/methods
inheritance
when OOP is actually useful
8. Pythonic Tools & Patterns
enumerate()
zip()
sorted()
lambda
map() / filter() — enough to understand/use, not overdo
9. Working with Real Data
JSON
CSV
APIs
basic requests
10. Testing & Debugging
assertions
unittest / pytest basics
debugging strategies
logging
11. Python + SQL / Data Engineering
database interaction
Pandas
basic ETL concepts
12. Python Interview Problem Solving
frequency counting
searching
two pointers
sliding window
stacks/queues
recursion
complexity analysis