Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated:
0
00:00:00,000 --> 00:00:01,080
Hello everyone!
1
00:00:01,440 --> 00:00:01,840
Recently,
2
00:00:02,300 --> 00:00:06,300
I decided to relearn the Python core from EpoM.
3
00:00:06,500 --> 00:00:09,260
It's a part of data software engineering course.
4
00:00:09,600 --> 00:00:16,880
Yeah, I have go through all the models here and I decided to share my experience and also
5
00:00:16,880 --> 00:00:21,080
explain the most of the concepts like human being.
6
00:00:21,480 --> 00:00:22,180
Let's
7
00:00:22,720 --> 00:00:26,000
get started from the lesson one introduction.
8
00:00:26,680 --> 00:00:27,800
Okay, firstly,
9
00:00:28,260 --> 00:00:30,180
welcome to Python Core.
10
00:00:30,440 --> 00:00:31,860
Yep, let's get started.
11
00:00:32,320 --> 00:00:33,460
We will learn in this
12
00:00:33,460 --> 00:00:36,040
module about the Python,
13
00:00:36,780 --> 00:00:38,200
about development environment,
14
00:00:38,860 --> 00:00:40,780
its data types, functions,
15
00:00:41,220 --> 00:00:42,580
models and pickades.
16
00:00:42,900 --> 00:00:44,800
And last but not least,
17
00:00:45,420 --> 00:00:48,040
the object oriented programming in Python,
18
00:00:48,380 --> 00:00:49,360
how it looks like.
19
00:00:49,740 --> 00:00:50,700
Let's move on.
20
00:00:51,060 --> 00:00:51,260
Okay,
21
00:00:51,660 --> 00:00:52,040
introduction.
22
00:00:52,640 --> 00:00:56,620
Why you should choose Python or you should learn the Python?
23
00:00:57,000 --> 00:00:57,300
Actually,
24
00:00:57,620 --> 00:00:58,960
Python is beginner friendly,
25
00:00:59,320 --> 00:01:00,020
multi-purpose,
26
00:01:00,680 --> 00:01:01,940
high demand nowadays,
27
00:01:02,320 --> 00:01:04,340
and it also has a wide community.
28
00:01:04,660 --> 00:01:09,800
Python is one of the most fast-growing programming language.
29
00:01:10,040 --> 00:01:12,440
It's just everywhere from web programming
30
00:01:13,020 --> 00:01:13,920
to AI,
31
00:01:14,480 --> 00:01:15,680
artificial intelligence.
32
00:01:15,960 --> 00:01:21,220
In this module, we will learn about types of programming languages, introduction to Python,
33
00:01:21,700 --> 00:01:23,000
just we will interact,
34
00:01:23,300 --> 00:01:25,120
we will code some problems.
35
00:01:25,620 --> 00:01:25,820
Okay,
36
00:01:26,360 --> 00:01:28,160
types of programming language.
37
00:01:28,540 --> 00:01:29,280
What we have?
38
00:01:29,460 --> 00:01:30,800
There is a table we have,
39
00:01:31,120 --> 00:01:33,360
you can see the its ranking,
40
00:01:33,920 --> 00:01:34,860
Python as a first,
41
00:01:35,280 --> 00:01:39,600
according to TIOP index programming language.
42
00:01:40,120 --> 00:01:42,620
It's divided into five by purpose,
43
00:01:43,420 --> 00:01:46,700
by level of abstraction, programming paradigm,
44
00:01:47,100 --> 00:01:49,680
implement action and typing strategy.
45
00:01:50,060 --> 00:01:51,220
Let's talk about the purpose.
46
00:01:51,940 --> 00:01:56,220
We have general purpose and special programming language.
47
00:01:56,460 --> 00:01:58,300
For general, we can say
48
00:01:58,640 --> 00:01:59,080
Python,
49
00:01:59,720 --> 00:02:00,080
Rust,
50
00:02:00,420 --> 00:02:00,780
Java,
51
00:02:01,160 --> 00:02:01,400
Lease,
52
00:02:01,720 --> 00:02:03,580
it's used for various tasks.
53
00:02:03,880 --> 00:02:05,280
For special programming language,
54
00:02:05,600 --> 00:02:08,020
it's oriented for solving the specific task,
55
00:02:08,480 --> 00:02:09,340
like SQL,
56
00:02:09,940 --> 00:02:13,560
for database or MAPL for mathematical computations.
57
00:02:13,860 --> 00:02:15,720
And we have level of abstraction,
58
00:02:15,940 --> 00:02:19,260
low level languages or high level language.
59
00:02:19,360 --> 00:02:20,780
For low-level language,
60
00:02:20,940 --> 00:02:22,840
machine code or assembler.
61
00:02:23,180 --> 00:02:24,300
For high-level language,
62
00:02:24,720 --> 00:02:25,500
it's Python,
63
00:02:26,020 --> 00:02:27,500
Java, Ruby and JavaScript.
64
00:02:27,820 --> 00:02:27,940
Why?
65
00:02:28,240 --> 00:02:33,380
Because it sends indirect calls to the operating system using abstraction level.
66
00:02:33,760 --> 00:02:36,600
Low-level language will send the direct calls.
67
00:02:36,840 --> 00:02:37,840
Difference is this.
68
00:02:38,160 --> 00:02:41,560
Direct calls, but high-level language is indirect calls.
69
00:02:41,820 --> 00:02:46,160
And it uses the compiler or interpreter to translate them to
70
00:02:46,160 --> 00:02:48,160
operating system to machine code.
71
00:02:48,380 --> 00:02:50,360
Okay, next, programming paradigm.
72
00:02:50,660 --> 00:02:52,080
We have declarative
73
00:02:52,500 --> 00:02:55,540
paradigm like HTML or SQL.
74
00:02:56,000 --> 00:03:00,200
Like it says, you don't need to know about how browser renders the HTML.
75
00:03:00,740 --> 00:03:03,720
You just describe what you want to see.
76
00:03:03,940 --> 00:03:04,760
You have the results.
77
00:03:05,060 --> 00:03:05,920
Same with SQL.
78
00:03:06,180 --> 00:03:07,300
For imperative paradigm,
79
00:03:07,680 --> 00:03:08,060
Python,
80
00:03:08,660 --> 00:03:09,040
Java,
81
00:03:09,480 --> 00:03:13,060
the main goal of imperative programming is to describe the process,
82
00:03:13,400 --> 00:03:14,320
functional programming.
83
00:03:14,660 --> 00:03:17,960
We can say part of declarative programming,
84
00:03:18,220 --> 00:03:20,520
which has a chain of function calls.
85
00:03:20,640 --> 00:03:24,840
Like you can see in the image program function, function,
86
00:03:25,280 --> 00:03:28,540
function, result will go, move on, move on, move on,
87
00:03:28,920 --> 00:03:29,120
like this.
88
00:03:29,280 --> 00:03:33,280
It has some advantages and disadvantages like recursion deeps.
89
00:03:33,640 --> 00:03:34,700
As you can see there,
90
00:03:35,100 --> 00:03:38,620
it will continue and go deeper and deeper.
91
00:03:38,980 --> 00:03:39,860
And for advantages,
92
00:03:40,200 --> 00:03:42,540
I can highlight it's easier to understand.
93
00:03:42,860 --> 00:03:44,420
Object-oriented paradigm.
94
00:03:44,760 --> 00:03:47,300
Like here, you can see in the image
95
00:03:47,480 --> 00:03:55,060
and class car and objects like BMW and Mercedes inherited from the class car.
96
00:03:55,420 --> 00:03:57,060
Because this is the car and this is the car.
97
00:03:57,320 --> 00:03:58,920
Just the model is
98
00:03:59,580 --> 00:03:59,980
different.
99
00:04:00,510 --> 00:04:01,160
Advantages,
100
00:04:01,600 --> 00:04:02,940
it's parallel development.
101
00:04:03,420 --> 00:04:07,920
Each team member can work independently with their own model or classes.
102
00:04:08,340 --> 00:04:09,500
And also it's scalable
103
00:04:09,500 --> 00:04:11,000
and maintainable.
104
00:04:11,180 --> 00:04:11,880
For disadvantages,
105
00:04:12,740 --> 00:04:14,280
it can be inefficient.
106
00:04:14,600 --> 00:04:16,940
Using OOP can increase CPU usage.
107
00:04:17,320 --> 00:04:20,580
And also unnecessary class that can lead to duplications.
108
00:04:20,900 --> 00:04:22,060
Let's move on.
109
00:04:22,400 --> 00:04:23,680
Procedural paradigm.
110
00:04:24,100 --> 00:04:26,120
It's also part of imperative programming.
111
00:04:26,500 --> 00:04:28,580
Advantages is easy to reuse.
112
00:04:28,880 --> 00:04:30,900
Also it can seem as less memory.
113
00:04:31,220 --> 00:04:32,180
But in the disadvantages,
114
00:04:32,860 --> 00:04:35,100
we can see there is no data production.
115
00:04:35,600 --> 00:04:37,780
It's also difficult to handle errors.
116
00:04:38,020 --> 00:04:41,900
And example Pascal or other programming language.
117
00:04:42,320 --> 00:04:43,400
And for implementation,
118
00:04:43,700 --> 00:04:44,760
we have two types.
119
00:04:45,060 --> 00:04:46,720
Compilot and interpreted.
120
00:04:47,260 --> 00:04:48,440
For Compilot language,
121
00:04:49,060 --> 00:04:51,420
we can say it's C,
122
00:04:51,740 --> 00:04:53,100
go programming language.
123
00:04:53,440 --> 00:04:55,980
Because it will translate the source code from
124
00:04:55,980 --> 00:04:57,340
high-level programming language,
125
00:04:57,440 --> 00:04:58,540
lower-level language.
126
00:04:58,720 --> 00:05:00,640
And it leads to faster execution.
127
00:05:00,980 --> 00:05:03,320
Because as you can see in the image, language,
128
00:05:03,720 --> 00:05:06,760
it's compiling to machine code and it's ready
129
00:05:06,760 --> 00:05:07,320
to run.
130
00:05:07,500 --> 00:05:08,640
But in interpreter,
131
00:05:09,060 --> 00:05:10,020
there will be interpreter.
132
00:05:10,720 --> 00:05:14,420
It will transform the source code to byte code.
133
00:05:14,660 --> 00:05:17,000
And then it will be executed by interpreter.
134
00:05:17,360 --> 00:05:18,980
As you can see in the image,
135
00:05:19,240 --> 00:05:21,080
this advantage is slower execution.
136
00:05:21,340 --> 00:05:24,960
It takes much time compared to compiled language.
137
00:05:25,220 --> 00:05:26,620
Okay, we have typing strategy.
138
00:05:27,080 --> 00:05:27,540
Like dynamic,
139
00:05:27,900 --> 00:05:28,160
strong,
140
00:05:28,660 --> 00:05:28,980
static,
141
00:05:29,500 --> 00:05:29,780
weak.
142
00:05:30,040 --> 00:05:34,560
Dynamic code, we can see everything will be checked at runtime.
143
00:05:34,920 --> 00:05:39,900
You don't need to declare each data type in the beginning.
144
00:05:40,200 --> 00:05:41,260
Like in the Python.
145
00:05:41,620 --> 00:05:44,240
There's no, you don't need to declare like integer
146
00:05:44,240 --> 00:05:45,980
and equal to something.
147
00:05:46,660 --> 00:05:47,340
In the strong,
148
00:05:47,660 --> 00:05:49,600
strong type language will permit
149
00:05:49,600 --> 00:05:51,800
the mixing types, like in the expression.
150
00:05:52,280 --> 00:05:54,800
And they don't apply different implicit cast,
151
00:05:55,260 --> 00:05:56,260
like C sharp.
152
00:05:57,460 --> 00:05:58,400
For static,
153
00:05:59,440 --> 00:06:02,340
you can, you should always declare the data type.
154
00:06:02,940 --> 00:06:06,720
Like in the C++ or Java.
155
00:06:07,000 --> 00:06:09,020
And there is also weak typing language
156
00:06:09,560 --> 00:06:11,620
that implicit cast of types.
157
00:06:12,040 --> 00:06:14,520
As a result, the output of some expression may be
158
00:06:15,120 --> 00:06:15,720
surprising.
159
00:06:16,300 --> 00:06:19,480
Like example of C++ or C language.
160
00:06:19,820 --> 00:06:20,060
Okay,
161
00:06:20,380 --> 00:06:22,420
here you can see the difference
162
00:06:22,420 --> 00:06:24,380
between dynamic with static.
163
00:06:24,700 --> 00:06:26,040
Here, as you can see,
164
00:06:26,380 --> 00:06:28,160
define the function mean
165
00:06:28,160 --> 00:06:29,380
and we passed the array.
166
00:06:29,700 --> 00:06:33,060
We don't declare the array as a lease
167
00:06:33,060 --> 00:06:36,880
or in the result we put in as a data type.
168
00:06:37,000 --> 00:06:40,180
Python will know itself while interpreting it,
169
00:06:40,320 --> 00:06:43,340
transforming source code to byte code will itself.
170
00:06:43,480 --> 00:06:46,980
But in the static example of C,
171
00:06:47,200 --> 00:06:49,340
we can see function double mean
172
00:06:49,340 --> 00:06:51,300
because it will return the double.
173
00:06:51,680 --> 00:06:55,280
And here you can see we put double and array.
174
00:06:55,480 --> 00:06:58,600
And also we put the double before result.
175
00:06:58,860 --> 00:06:59,140
We should,
176
00:06:59,980 --> 00:07:00,820
in the static type,
177
00:07:00,960 --> 00:07:03,920
you should declare before and our code,
178
00:07:04,280 --> 00:07:05,160
it's data types.
179
00:07:05,960 --> 00:07:07,800
Like double integer string,
180
00:07:08,620 --> 00:07:08,960
float
181
00:07:10,260 --> 00:07:11,800
or vector.
182
00:07:12,280 --> 00:07:14,700
And also here you can see strong and weak.
183
00:07:15,820 --> 00:07:16,440
In the strong,
184
00:07:16,780 --> 00:07:17,600
we can see like,
185
00:07:17,940 --> 00:07:19,520
we cannot add 42
186
00:07:20,050 --> 00:07:22,040
to string.
187
00:07:22,580 --> 00:07:23,980
Because this is a string,
188
00:07:24,240 --> 00:07:25,220
but this is integer.
189
00:07:25,620 --> 00:07:28,560
Before adding, you should convert integer to string.
190
00:07:29,140 --> 00:07:29,540
Like here,
191
00:07:30,600 --> 00:07:31,060
str
192
00:07:32,390 --> 00:07:33,040
parenthesis
193
00:07:33,940 --> 00:07:34,140
42 plus string.
194
00:07:35,960 --> 00:07:37,740
Like here and then here you can add.
195
00:07:38,120 --> 00:07:38,820
But in a weak,
196
00:07:39,420 --> 00:07:40,920
like example of JavaScript,
197
00:07:42,300 --> 00:07:47,320
it will add itself because it's a weak language
198
00:07:47,750 --> 00:07:49,200
in short, I can say.
199
00:07:49,580 --> 00:07:50,660
Let's move on.
200
00:07:51,640 --> 00:07:51,820
Okay,
201
00:07:53,800 --> 00:07:54,900
introduction to Python.
202
00:07:56,120 --> 00:07:57,980
I hope you know the founder of Python,
203
00:07:58,650 --> 00:08:00,040
Guido van Rosso.
204
00:08:02,240 --> 00:08:03,440
He worked,
205
00:08:03,860 --> 00:08:07,620
started working in the late December 1989.
206
00:08:09,000 --> 00:08:11,580
And first version was released early
207
00:08:11,880 --> 00:08:12,780
1990.
208
00:08:15,460 --> 00:08:17,520
Yeah, and also language was needed Python.
209
00:08:18,260 --> 00:08:22,580
And because the Guido van Rosso really liked
210
00:08:22,620 --> 00:08:26,220
the comedy show of Monty Python's flying circus.
211
00:08:30,260 --> 00:08:32,760
Okay, let's define the Python.
212
00:08:34,560 --> 00:08:35,540
We already do know.
213
00:08:37,090 --> 00:08:39,480
Purpose level of abstractions.
214
00:08:40,320 --> 00:08:42,340
And we can say that Python is
215
00:08:43,040 --> 00:08:44,060
general purpose,
216
00:08:45,060 --> 00:08:45,720
higher level,
217
00:08:47,080 --> 00:08:47,860
imperative,
218
00:08:48,980 --> 00:08:49,720
interpreted,
219
00:08:51,820 --> 00:08:55,000
strong in dynamic typing programming language.
220
00:09:00,900 --> 00:09:01,380
Okay,
221
00:09:02,560 --> 00:09:05,000
for general purpose, why it's general purpose,
222
00:09:05,620 --> 00:09:07,620
because we can use Python for scripting,
223
00:09:08,720 --> 00:09:09,620
for web development,
224
00:09:10,280 --> 00:09:11,680
for data analysis,
225
00:09:12,360 --> 00:09:13,640
for machine learning in AI,
226
00:09:14,420 --> 00:09:16,740
develops in system administrations,
227
00:09:17,620 --> 00:09:18,980
testers, automation,
228
00:09:20,220 --> 00:09:20,980
and prototyping.
229
00:09:24,620 --> 00:09:27,100
Okay, we already know why it's
230
00:09:27,840 --> 00:09:34,700
high level and why it's interpreted because source code will be compiled using Python
231
00:09:35,100 --> 00:09:36,900
VM to bytecode,
232
00:09:38,340 --> 00:09:40,680
a Python compiler to bytecode,
233
00:09:40,920 --> 00:09:42,860
and then Python VM to machine code,
234
00:09:43,440 --> 00:09:43,880
and then
235
00:09:44,560 --> 00:09:45,360
computer.
236
00:09:47,280 --> 00:09:47,620
Oh, yes.
237
00:09:50,180 --> 00:09:51,740
Yeah, it's object oriented.
238
00:09:52,580 --> 00:09:54,240
In Python, everything is object,
239
00:09:54,920 --> 00:09:56,580
even functions are object.
240
00:09:58,620 --> 00:09:59,920
And dynamic.
241
00:10:00,780 --> 00:10:01,600
Yeah,
242
00:10:01,960 --> 00:10:02,720
it's dynamic.
243
00:10:02,960 --> 00:10:04,340
You don't need to put
244
00:10:04,940 --> 00:10:05,240
int
245
00:10:06,320 --> 00:10:09,560
before x or string before y,
246
00:10:09,860 --> 00:10:11,600
it will know itself
247
00:10:12,450 --> 00:10:14,120
during the execution.
248
00:10:16,700 --> 00:10:19,320
There are some advantages for Python,
249
00:10:19,580 --> 00:10:20,580
like easy to learn.
250
00:10:21,020 --> 00:10:21,660
It's easy like
251
00:10:22,620 --> 00:10:24,180
you learn the English language,
252
00:10:25,720 --> 00:10:27,620
you will learn Python programming language,
253
00:10:28,720 --> 00:10:29,280
almost same.
254
00:10:30,000 --> 00:10:31,580
And it's fast development,
255
00:10:32,160 --> 00:10:33,140
a lot of libraries,
256
00:10:33,520 --> 00:10:33,880
a lot of
257
00:10:34,780 --> 00:10:36,420
standard libraries, a lot of frameworks,
258
00:10:37,060 --> 00:10:37,300
Python,
259
00:10:37,720 --> 00:10:38,700
Django, Flask,
260
00:10:39,360 --> 00:10:39,980
fast API,
261
00:10:41,500 --> 00:10:42,300
a lot of,
262
00:10:43,640 --> 00:10:45,240
also it's dynamic typing,
263
00:10:45,460 --> 00:10:47,600
you don't need to declare data types
264
00:10:48,480 --> 00:10:49,380
in the source codes.
265
00:10:51,060 --> 00:10:53,440
And also it's portable and extensible,
266
00:10:54,060 --> 00:10:54,700
because there are
267
00:10:55,270 --> 00:10:56,460
extents, oops,
268
00:10:57,020 --> 00:11:00,000
there are extents for site and for C,
269
00:11:00,740 --> 00:11:03,480
and Jiton for Jiten,
270
00:11:03,640 --> 00:11:05,220
I don't know how to pronounce it,
271
00:11:05,720 --> 00:11:07,480
for Java.net,
272
00:11:07,940 --> 00:11:08,100
yeah.
273
00:11:09,180 --> 00:11:10,940
And it's free and open source.
274
00:11:11,380 --> 00:11:12,580
You can always go to
275
00:11:13,240 --> 00:11:16,260
python.org and download the
276
00:11:16,780 --> 00:11:17,540
version that
277
00:11:18,600 --> 00:11:21,200
you want to work with.
278
00:11:23,700 --> 00:11:24,480
Let's go ahead,
279
00:11:24,860 --> 00:11:25,560
just go ahead.
280
00:11:26,480 --> 00:11:26,640
Okay.
281
00:11:29,000 --> 00:11:29,160
Yeah,
282
00:11:29,560 --> 00:11:31,840
but there are some disadvantages like
283
00:11:32,600 --> 00:11:32,780
speed,
284
00:11:33,520 --> 00:11:34,820
because it's interpreted,
285
00:11:35,820 --> 00:11:37,860
for sure, speed will be less.
286
00:11:39,800 --> 00:11:40,540
And also,
287
00:11:41,200 --> 00:11:43,380
normal to reading like in Java,
288
00:11:45,060 --> 00:11:46,700
or high memory consumption,
289
00:11:47,600 --> 00:11:47,940
because
290
00:11:48,840 --> 00:11:51,500
you're not declaring the data types,
291
00:11:52,520 --> 00:11:54,140
while coding,
292
00:11:55,340 --> 00:11:55,740
it will,
293
00:11:56,500 --> 00:11:57,220
it's dynamic,
294
00:11:57,980 --> 00:11:58,880
because of this, it's
295
00:11:59,500 --> 00:12:00,800
concept high memory.
296
00:12:01,380 --> 00:12:02,340
Okay.
297
00:12:03,940 --> 00:12:05,200
Let's move on.
298
00:12:08,420 --> 00:12:09,560
Interactive Python.
299
00:12:12,620 --> 00:12:12,860
Okay.
300
00:12:18,100 --> 00:12:18,280
Okay,
301
00:12:18,640 --> 00:12:20,480
here you can see some keywords
302
00:12:23,290 --> 00:12:25,360
for Python, use it.
303
00:12:25,920 --> 00:12:27,540
Yeah, did already start.
304
00:12:28,200 --> 00:12:31,860
You can't use this as a variable in your projects.
305
00:12:34,530 --> 00:12:35,780
Okay,
306
00:12:36,180 --> 00:12:36,960
let's move on.
307
00:12:40,400 --> 00:12:40,620
Next.
308
00:12:48,660 --> 00:12:50,920
Python installation, Python installation,
309
00:12:51,540 --> 00:12:52,200
Git installation,
310
00:12:53,400 --> 00:12:53,900
Git lab.
311
00:12:54,760 --> 00:12:57,420
Okay, I hope you know about Python, how to install Python,
312
00:12:57,620 --> 00:12:58,220
you just go to
313
00:12:58,800 --> 00:13:01,780
python.org and download the version that
314
00:13:03,040 --> 00:13:06,260
you want, or just download the last version.
315
00:13:07,340 --> 00:13:07,720
That's it.
316
00:13:09,300 --> 00:13:09,780
For Python,
317
00:13:10,080 --> 00:13:12,960
you can install the Python or you can install the
318
00:13:16,210 --> 00:13:21,360
Python from jitprints, or you can install the VS code.
319
00:13:24,040 --> 00:13:24,740
Also,
320
00:13:25,400 --> 00:13:26,260
you'll see the code
321
00:13:28,580 --> 00:13:29,200
as you wish.
322
00:13:32,400 --> 00:13:33,580
Now, Git installation,
323
00:13:34,160 --> 00:13:34,440
yep.
324
00:13:36,040 --> 00:13:37,640
Just need to go to git
325
00:13:38,680 --> 00:13:40,240
scm.com
326
00:13:41,020 --> 00:13:42,260
and download.
327
00:13:43,520 --> 00:13:44,680
Click on the download here,
328
00:13:45,400 --> 00:13:47,340
choose your operating system windows,
329
00:13:47,940 --> 00:13:48,860
macOS or Linux,
330
00:13:49,980 --> 00:13:50,780
and just download it.
331
00:13:53,880 --> 00:13:54,140
Okay.
332
00:13:56,360 --> 00:13:57,740
Let's move on.
333
00:14:00,680 --> 00:14:01,380
Git lab.
334
00:14:02,780 --> 00:14:03,480
Yeah,
335
00:14:04,260 --> 00:14:06,440
why they are saying Git lab?
336
00:14:07,480 --> 00:14:08,960
Because here,
337
00:14:09,520 --> 00:14:10,260
there is some,
338
00:14:11,220 --> 00:14:14,060
I can show you practical task numbers.
339
00:14:14,480 --> 00:14:16,760
There's some practical tasks that are
340
00:14:17,350 --> 00:14:19,760
pushed to Git lab, not GitHub.
341
00:14:20,180 --> 00:14:21,600
That's why they are
342
00:14:21,600 --> 00:14:23,740
pushing to have a Git lab account.
343
00:14:24,460 --> 00:14:27,820
But you can open Git lab as well, Git lab.com,
344
00:14:28,140 --> 00:14:28,180
or
345
00:14:28,580 --> 00:14:28,900
just
346
00:14:29,540 --> 00:14:33,200
GitHub by typing git lab.com
347
00:14:34,300 --> 00:14:35,820
and create an account.
348
00:14:36,800 --> 00:14:37,780
It's really easy.
349
00:14:38,200 --> 00:14:39,000
I hope you will
350
00:14:39,940 --> 00:14:41,220
do it yours by yourself.
351
00:14:42,560 --> 00:14:43,580
Let's move on.
352
00:14:47,810 --> 00:14:48,660
Okay.
353
00:14:48,660 --> 00:14:49,220
Done with this.
354
00:14:51,060 --> 00:14:52,000
Done with this.
355
00:14:56,730 --> 00:14:57,580
Okay.
356
00:15:01,210 --> 00:15:03,840
Let's learn about the data types.
357
00:15:05,980 --> 00:15:06,560
Data types,
358
00:15:07,060 --> 00:15:07,660
like numbers,
359
00:15:08,320 --> 00:15:09,160
conditional operators,
360
00:15:09,540 --> 00:15:09,800
loops,
361
00:15:10,340 --> 00:15:13,080
stringers, listers, topless,
362
00:15:14,060 --> 00:15:15,940
sets and dictionaries.
363
00:15:18,240 --> 00:15:19,800
Let's move on data types.
364
00:15:23,050 --> 00:15:24,100
Okay.
365
00:15:24,820 --> 00:15:25,080
Okay,
366
00:15:25,440 --> 00:15:26,360
data types,
367
00:15:27,300 --> 00:15:28,780
variables and objects.
368
00:15:29,660 --> 00:15:31,000
This is a we
369
00:15:31,340 --> 00:15:32,520
assigned to one.
370
00:15:33,480 --> 00:15:37,320
And it says there integer data type is this is integer,
371
00:15:37,540 --> 00:15:38,360
this is a string.
372
00:15:39,360 --> 00:15:39,800
In Python,
373
00:15:40,740 --> 00:15:41,840
everything is object.
374
00:15:43,420 --> 00:15:44,320
And object is an
375
00:15:44,840 --> 00:15:46,580
instance of some class.
376
00:15:50,220 --> 00:15:51,140
Everything is an object.
377
00:15:52,300 --> 00:15:54,320
Even classes are functions.
378
00:15:58,880 --> 00:15:59,180
Okay.
379
00:16:01,020 --> 00:16:02,760
Python standard data types,
380
00:16:04,260 --> 00:16:05,540
have numeric data types,
381
00:16:06,440 --> 00:16:07,320
like integer,
382
00:16:09,020 --> 00:16:11,420
float or complex numbers.
383
00:16:13,740 --> 00:16:14,560
And strings,
384
00:16:15,380 --> 00:16:17,840
everything that is written inside it,
385
00:16:18,400 --> 00:16:19,860
double quotes,
386
00:16:20,980 --> 00:16:23,980
or also one quotes
387
00:16:25,940 --> 00:16:26,780
is string.
388
00:16:29,780 --> 00:16:30,520
And listers.
389
00:16:33,260 --> 00:16:33,820
Listers,
390
00:16:35,060 --> 00:16:36,760
we can say also like array.
391
00:16:38,560 --> 00:16:38,700
And
392
00:16:39,320 --> 00:16:39,760
for this,
393
00:16:42,270 --> 00:16:47,580
list is a sequence of elements inside square brackets,
394
00:16:47,960 --> 00:16:48,880
like here.
395
00:16:51,860 --> 00:16:52,500
You can put
396
00:16:53,120 --> 00:16:54,340
everything here.
397
00:16:55,140 --> 00:16:56,020
It can be integer,
398
00:16:56,360 --> 00:16:57,060
it can be float,
399
00:16:57,700 --> 00:16:58,240
it can be
400
00:16:58,860 --> 00:16:59,360
boolean,
401
00:16:59,700 --> 00:17:01,780
or it can be also string.
402
00:17:04,640 --> 00:17:05,560
Topless.
403
00:17:08,790 --> 00:17:11,440
It's also like,
404
00:17:12,280 --> 00:17:15,440
it looks like same to listers,
405
00:17:15,700 --> 00:17:18,160
but it's in closer to parenthesis.
406
00:17:21,680 --> 00:17:22,880
As you can see here.
407
00:17:27,020 --> 00:17:31,340
And sets, sets us an unordered collection.
408
00:17:32,480 --> 00:17:36,220
And it doesn't allow any kind of duplicates.
409
00:17:40,300 --> 00:17:40,860
Dictionary.
410
00:17:42,140 --> 00:17:44,680
It's a mapping of K value pairs
411
00:17:45,490 --> 00:17:48,560
with K value pairs.
412
00:17:48,840 --> 00:17:48,940
Yeah.
413
00:17:49,640 --> 00:17:50,880
Like message,
414
00:17:51,560 --> 00:17:51,820
high,
415
00:17:54,180 --> 00:17:54,380
or
416
00:17:55,080 --> 00:17:55,640
birthday,
417
00:17:56,840 --> 00:17:57,560
some year,
418
00:17:58,200 --> 00:17:58,680
name,
419
00:18:00,000 --> 00:18:00,940
some name,
420
00:18:01,420 --> 00:18:03,260
like K and value,
421
00:18:03,640 --> 00:18:04,560
K and value,
422
00:18:05,500 --> 00:18:06,620
like mapping.
423
00:18:08,540 --> 00:18:11,720
Okay, we also have mutable and immutable objects.
424
00:18:13,690 --> 00:18:15,740
Like for mutable,
425
00:18:16,080 --> 00:18:19,280
it's objects that can change after their creation.
426
00:18:20,880 --> 00:18:21,780
But in immutable,
427
00:18:22,440 --> 00:18:24,200
you cannot change the type of
428
00:18:26,280 --> 00:18:27,380
after its creation,
429
00:18:28,620 --> 00:18:29,600
like integer,
430
00:18:30,260 --> 00:18:30,540
float,
431
00:18:31,600 --> 00:18:31,820
string,
432
00:18:33,140 --> 00:18:33,940
or tuple.
433
00:18:34,360 --> 00:18:35,340
Let's move on.
434
00:18:35,580 --> 00:18:37,780
We have operators and operands.
435
00:18:38,400 --> 00:18:41,820
Okay, first, what are the operators and operands?
436
00:18:42,740 --> 00:18:45,500
It says like in simple terms and expression
437
00:18:45,820 --> 00:18:46,580
two plus three,
438
00:18:47,180 --> 00:18:51,100
the numbers two and three are operands.
439
00:18:51,880 --> 00:18:53,620
And cyan is operator.
440
00:18:56,300 --> 00:18:57,260
We have
441
00:18:57,800 --> 00:19:00,980
unordered operators plus and minus binary operators,
442
00:19:01,940 --> 00:19:03,100
less or more,
443
00:19:04,020 --> 00:19:06,140
and in equal or in equal.
444
00:19:06,860 --> 00:19:08,680
And turn your operator like else,
445
00:19:09,020 --> 00:19:09,180
if,
446
00:19:13,200 --> 00:19:14,260
For arithmetic operands,
447
00:19:14,780 --> 00:19:15,560
we can
448
00:19:17,180 --> 00:19:19,380
grow up like plus, minus,
449
00:19:20,080 --> 00:19:20,740
multiplication,
450
00:19:21,460 --> 00:19:21,960
division,
451
00:19:23,300 --> 00:19:24,100
and et cetera.
452
00:19:25,780 --> 00:19:28,600
And there is also assignment operands like plus and
453
00:19:30,060 --> 00:19:31,340
equal sign,
454
00:19:31,960 --> 00:19:33,280
minus or equal sign.
455
00:19:34,260 --> 00:19:39,520
It will assign the right value to the left value.
456
00:19:44,480 --> 00:19:48,100
I can show you the example.
457
00:19:52,360 --> 00:19:53,540
Okay, let's assume we have
458
00:19:54,300 --> 00:19:55,060
a zero,
459
00:19:55,400 --> 00:19:57,240
a plus equals to one.
460
00:19:59,850 --> 00:20:01,840
If we print a,
461
00:20:02,900 --> 00:20:05,100
it will print a one here.
462
00:20:06,460 --> 00:20:07,220
This is
463
00:20:08,200 --> 00:20:09,000
same as
464
00:20:10,200 --> 00:20:12,580
a equals to a plus one.
465
00:20:15,690 --> 00:20:18,680
With minus is the same scenario.
466
00:20:20,500 --> 00:20:22,220
But here will be minus and minus.
467
00:20:25,580 --> 00:20:26,440
We have also,
468
00:20:26,880 --> 00:20:28,440
we can put also the
469
00:20:34,020 --> 00:20:36,760
multiplication or division.
470
00:20:38,040 --> 00:20:38,860
Same here.
471
00:20:39,620 --> 00:20:39,920
Division
472
00:20:40,440 --> 00:20:40,900
or multiplication.
473
00:20:43,190 --> 00:20:44,240
Okay,
474
00:20:45,000 --> 00:20:47,720
we have comparison operators,
475
00:20:48,260 --> 00:20:49,140
like equal sign,
476
00:20:49,920 --> 00:20:50,740
not equal sign,
477
00:20:51,060 --> 00:20:52,600
greater or less.
478
00:20:55,080 --> 00:20:59,140
Logical operators and or are not.
479
00:21:02,200 --> 00:21:05,380
And membership operators like in not in
480
00:21:07,400 --> 00:21:08,220
and bitwise,
481
00:21:08,900 --> 00:21:11,620
bitwise and bitwise are bitwise XR.
482
00:21:15,340 --> 00:21:15,980
For comparison,
483
00:21:17,000 --> 00:21:20,580
we can say one equals to two.
484
00:21:21,840 --> 00:21:23,880
And we can print this.
485
00:21:26,000 --> 00:21:27,020
It just says false.
486
00:21:28,780 --> 00:21:30,080
We can put inequality.
487
00:21:31,420 --> 00:21:32,320
It just says true.
488
00:21:33,580 --> 00:21:33,800
Okay,
489
00:21:34,160 --> 00:21:34,820
multiplication operator.
490
00:21:40,930 --> 00:21:43,000
One and one.
491
00:21:48,290 --> 00:21:53,020
It's true like if we put one and zero,
492
00:21:55,300 --> 00:21:56,380
it will say
493
00:21:56,860 --> 00:21:57,020
false.
494
00:22:04,710 --> 00:22:06,040
Let's move on.
495
00:22:11,260 --> 00:22:11,520
Okay,
496
00:22:12,220 --> 00:22:14,240
let's talk about the numbers and Python.
497
00:22:16,120 --> 00:22:20,640
And there are, yeah, there are three different types of numbers in Python integer,
498
00:22:21,480 --> 00:22:22,900
float or complex.
499
00:22:23,460 --> 00:22:25,640
This is an integer like we assign a
500
00:22:26,910 --> 00:22:31,000
and we assign it to variable a hundred.
501
00:22:33,880 --> 00:22:34,540
We assign also
502
00:22:35,970 --> 00:22:36,920
minus
503
00:22:38,220 --> 00:22:40,540
or such a huge number.
504
00:22:43,660 --> 00:22:44,840
And if you have a
505
00:22:46,280 --> 00:22:47,080
integer
506
00:22:48,260 --> 00:22:49,060
that
507
00:22:49,680 --> 00:22:52,900
in double quotes like string format, we can always
508
00:22:54,100 --> 00:22:55,860
convert to integer like
509
00:22:57,140 --> 00:22:59,300
just int parenthesis and X,
510
00:23:00,180 --> 00:23:01,480
it will convert to integer.
511
00:23:02,260 --> 00:23:05,420
And we can see the type type
512
00:23:06,040 --> 00:23:06,380
Y.
513
00:23:07,820 --> 00:23:10,720
And here integer is converted to integer.
514
00:23:11,160 --> 00:23:12,180
Let's move on.
515
00:23:12,760 --> 00:23:15,020
We have float like floating,
516
00:23:16,560 --> 00:23:19,140
floating point numbers like
517
00:23:20,440 --> 00:23:23,100
we have variable a and we assign
518
00:23:25,150 --> 00:23:26,100
7893
519
00:23:27,270 --> 00:23:28,220
.45.
520
00:23:30,590 --> 00:23:38,680
We can also use scientific notation like 1.0 E and zero.
521
00:23:41,820 --> 00:23:42,740
And here we can
522
00:23:42,760 --> 00:23:45,240
always convert string to float,
523
00:23:45,940 --> 00:23:46,600
float integer
524
00:23:48,620 --> 00:23:50,720
integer to float
525
00:23:52,860 --> 00:23:55,100
from one data type to another data type.
526
00:23:55,880 --> 00:23:57,980
We have also complex numbers.
527
00:23:59,400 --> 00:23:59,600
Yep.
528
00:24:02,590 --> 00:24:03,920
Let's move on.
529
00:24:05,800 --> 00:24:07,960
Okay, there is a simple calculations.
530
00:24:09,720 --> 00:24:12,200
Let's not waste time for this.
531
00:24:12,360 --> 00:24:13,400
We don't need this.
532
00:24:13,720 --> 00:24:13,860
Let's
533
00:24:14,620 --> 00:24:15,040
continue.
534
00:24:15,380 --> 00:24:16,160
Let's move on.
535
00:24:18,420 --> 00:24:19,300
Boolean comparison.
536
00:24:19,980 --> 00:24:24,880
Boolean operates a law for defining the logical expression or can
537
00:24:24,880 --> 00:24:27,300
be used by control flow statements.
538
00:24:28,240 --> 00:24:32,560
But comparison operators provide different options for comparing the values,
539
00:24:33,380 --> 00:24:34,760
which each other like
540
00:24:37,100 --> 00:24:38,460
we can share compare like
541
00:24:39,200 --> 00:24:42,600
result equals to three greater
542
00:24:42,600 --> 00:24:47,280
than or equal to one and 10 less or
543
00:24:48,140 --> 00:24:49,840
less than 20.
544
00:24:50,200 --> 00:24:51,040
And this is true.
545
00:24:52,020 --> 00:24:53,340
Why if
546
00:24:54,080 --> 00:24:54,840
this is true,
547
00:24:55,640 --> 00:24:56,600
and this is true,
548
00:24:57,300 --> 00:24:58,220
result will be true.
549
00:24:58,720 --> 00:25:00,200
If one of them is false,
550
00:25:01,160 --> 00:25:02,300
the result will be false.
551
00:25:03,920 --> 00:25:05,360
When we use end operator,
552
00:25:06,300 --> 00:25:07,780
but if we use or operator,
553
00:25:09,180 --> 00:25:10,220
if this is false,
554
00:25:11,360 --> 00:25:12,420
and this is true,
555
00:25:13,380 --> 00:25:14,460
result will be true also.
556
00:25:15,820 --> 00:25:17,100
Because in or operator,
557
00:25:18,020 --> 00:25:19,360
one of them should be true.
558
00:25:19,780 --> 00:25:20,600
And it's enough.
559
00:25:22,500 --> 00:25:23,200
And not operator,
560
00:25:23,640 --> 00:25:24,200
it will just,
561
00:25:27,440 --> 00:25:28,780
we can say
562
00:25:29,360 --> 00:25:34,000
make true to false and false to true
563
00:25:34,600 --> 00:25:35,960
like opposite.
564
00:25:37,120 --> 00:25:38,020
We can see here
565
00:25:39,120 --> 00:25:39,820
string,
566
00:25:40,360 --> 00:25:40,520
string,
567
00:25:41,480 --> 00:25:44,460
and we are taking a equals to b.
568
00:25:45,160 --> 00:25:45,980
Result is true.
569
00:25:46,380 --> 00:25:47,500
Okay, let's move on.
570
00:25:48,100 --> 00:25:54,820
Okay, we have also conditions with flow control statements like a equals to 20,
571
00:25:55,120 --> 00:25:58,460
b equals to 33 and minimum is three.
572
00:25:59,180 --> 00:26:03,240
And we're here checking if a less or equal to minimum
573
00:26:03,950 --> 00:26:04,900
and
574
00:26:05,510 --> 00:26:07,080
b more or
575
00:26:07,820 --> 00:26:15,580
equal to minimum result will be a plus b multiplication to two.
576
00:26:17,440 --> 00:26:20,160
Else if this statement is incorrect,
577
00:26:21,820 --> 00:26:24,820
this part of code will not be executed.
578
00:26:25,840 --> 00:26:30,660
It will go here else and result will be zero.
579
00:26:32,000 --> 00:26:33,160
And but in our case,
580
00:26:33,480 --> 00:26:34,860
a is 20 and
581
00:26:35,480 --> 00:26:38,580
it is more or equal to minimum three.
582
00:26:39,600 --> 00:26:41,460
And b 33 is
583
00:26:42,340 --> 00:26:44,160
more than or equal to three.
584
00:26:45,320 --> 00:26:46,000
In this case,
585
00:26:46,420 --> 00:26:49,220
result will be a plus b, it's 53,
586
00:26:50,000 --> 00:26:52,680
multiplication by two, and it's
587
00:26:53,370 --> 00:26:54,220
106.
588
00:27:00,090 --> 00:27:04,740
We have also a leave or else if
589
00:27:05,720 --> 00:27:08,000
statement where we can use a leave.
590
00:27:08,880 --> 00:27:09,240
Actually,
591
00:27:09,800 --> 00:27:14,040
we can also if we use here if it will check this
592
00:27:16,200 --> 00:27:17,320
and this
593
00:27:17,960 --> 00:27:18,760
also.
594
00:27:19,740 --> 00:27:21,100
And then print out.
595
00:27:21,820 --> 00:27:22,940
But an leave,
596
00:27:24,180 --> 00:27:26,700
it will check this if this is true,
597
00:27:27,080 --> 00:27:28,100
it will just print out.
598
00:27:28,920 --> 00:27:29,820
If this is incorrect,
599
00:27:30,660 --> 00:27:33,440
it will check this and print out.
600
00:27:37,160 --> 00:27:40,660
But let's imagine this is not a leave,
601
00:27:40,840 --> 00:27:42,060
but this is if,
602
00:27:43,100 --> 00:27:44,780
it will check this, this is true,
603
00:27:45,420 --> 00:27:47,260
but it will also check this
604
00:27:48,220 --> 00:27:49,660
because we use it if here.
605
00:27:51,700 --> 00:27:52,720
And then print out.
606
00:27:54,380 --> 00:27:55,980
This is the main difference
607
00:27:56,960 --> 00:27:59,260
between if and a leave.
608
00:27:59,820 --> 00:28:00,920
Let's move on.
609
00:28:01,580 --> 00:28:01,880
Nothing.39040
Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.