All 39 Python Keywords Explained

  Рет қаралды 75,846

Indently

Indently

Күн бұрын

In today’s video we will be learning about all the 39 keywords that exist in Python (as of 3.12). I will be covering each one very briefly, so you will probably have to do your own research if you feel like learning more about these!
▶ Become job-ready with Python:
www.indently.io
▶ Follow me on Instagram:
/ indentlyreels
00:00 Learning Python made simple
00:05 Intro
01:12 False
01:43 None
02:34 True
03:10 and
04:07 as
05:18 assert
06:49 async
07:24 await
08:35 break
09:05 class
09:30 continue
10:27 indently.io
10:58 def
11:22 del
11:58 elif
12:42 else
12:54 except
13:27 finally
13:49 for
14:10 from
14:34 global
15:31 if
16:04 import
16:28 in
17:05 is
18:18 lambda
19:51 nonlocal
21:05 not
22:18 or
23:15 pass
24:00 raise
24:18 return
25:08 try
26:14 while
27:20 with
28:31 yield
29:34 _
30:50 case
31:24 match
32:28 type
32:58 Soft keywords
33:40 Outro

Пікірлер: 165
@cerealport2726
@cerealport2726 Ай бұрын
I think you're much too harsh on bob at 9:45. bob has helped in so much of my coding. Always been there at the frontlines, takes any assignment I hand out, and successfully completes tasks, or faithfully reports errors encountered. Justice for bob!
@EpicNoobx
@EpicNoobx Ай бұрын
So true
@drforest
@drforest Ай бұрын
bob is _
@cyberhard
@cyberhard Ай бұрын
Excellent video. Thanks for sharing your knowledge!
@verysb
@verysb 22 күн бұрын
Some complement: A and B -> (B if A else A) A or B -> (A if A else B) bool(0) -> False bool(“”)-> False bool([])-> False bool(None)-> False bool(“ “)-> True code after else that after while, for, try except will only be executed when the loop or the try is finish normally (not normal: break, error)
@rakibmasud3288
@rakibmasud3288 29 күн бұрын
Really appreciate your effort. More videos like this please!!!
@maxphite
@maxphite Ай бұрын
Thank you for all the excelente work! Great video 👌🏼
@AJMansfield1
@AJMansfield1 Ай бұрын
4:07 you also use "as" with "except" to assign the exception to a variable
@tgsvampire
@tgsvampire 10 күн бұрын
Is this kind of use of 'as' keyword relevant in the industry ?
@AJMansfield1
@AJMansfield1 10 күн бұрын
@@tgsvampire except/as is perhaps even more common in real code than with/as
@flaminggasolineinthedarkne4
@flaminggasolineinthedarkne4 6 күн бұрын
Really nice video with the explanations about built in keywords in python. I appriciate your efford.
@user-co9rc1kp7p
@user-co9rc1kp7p Ай бұрын
Amazing video, thx. Waiting for combination of them :) Once, I was really confused by `yield from`
@velo412velo
@velo412velo 28 күн бұрын
Amazing job buddy. Thank you very much for all your hard work! You are amazing and I am defo gonna buy one of your paid tutorials.
@jusstindeetorch9425
@jusstindeetorch9425 9 күн бұрын
Awesome work.
@WinfriedKastner
@WinfriedKastner Ай бұрын
Python in 34 minutes. Incredible!! And perfectly explained as always 👍
@miquelr2353
@miquelr2353 Ай бұрын
I got lost at the asyncio part. The 7th keyword lol
@Celemimphar
@Celemimphar Ай бұрын
I have never heard of several of these despite taking a few Python courses... I am intrigued
@callbettersaul
@callbettersaul Ай бұрын
"despite" is the wrong word here.
@stephenEs3532
@stephenEs3532 6 күн бұрын
@@callbettersaul its not English class. Hush your mouth
@Icthi
@Icthi 6 күн бұрын
Let’s suppose it’s English class for a sec. What do you suppose is wrong with this use of “despite”?
@dimitryryzhenkov2202
@dimitryryzhenkov2202 Ай бұрын
You can also use the from keyword to yield from an iterator: yield from iterator
@marckiezeender
@marckiezeender Ай бұрын
And you can use "from" to raise an exception from a context. I.e., raise Exception() from None
@anandraj2895
@anandraj2895 Ай бұрын
informative thanks
@joshix833
@joshix833 Ай бұрын
What about the other uses of else? Like for ... else, while ... else, try ... except ... else?
@llnobbi7ll
@llnobbi7ll 22 күн бұрын
Great vid
@Slipping_thru_the_Seams
@Slipping_thru_the_Seams 9 күн бұрын
thank you!
@sayanta01
@sayanta01 12 күн бұрын
thanks you so much
@sunsodien
@sunsodien Ай бұрын
Thanks!
@Indently
@Indently Ай бұрын
Thank you :)
@chriscarney2260
@chriscarney2260 Ай бұрын
27:25 great video. Point of house keeping.. there are 2 While keywords in the info list. 2nd should be With.. Still a great video;-)
@Indently
@Indently Ай бұрын
Thank you! I updated it :)
@Lolks
@Lolks Ай бұрын
My first encounter of the None keyword, was on my Python Midterm, when we had to figure out the output of code snippets, and one of the questions was print(print("Hello, World!")
@djsheets
@djsheets 5 күн бұрын
lovely vid, as for if/else, I would have been happy to see also the ternary expression 🙂 ``` if else ```
@yidisprei100
@yidisprei100 Ай бұрын
The 'in' keyword is in the thumbnail twice. Amazing content btw.
@Indently
@Indently Ай бұрын
Good eye! My friend spotted that a couple days ago while the video was private, and I was wondering how many other people would notice.
@ashutoshsinha9848
@ashutoshsinha9848 Ай бұрын
Can you suggest good resource to learn asynchronous programming with python? or better make a detailed video.
@kapibara2440
@kapibara2440 Ай бұрын
Good job! Bravo 😊
@xandii4694
@xandii4694 Ай бұрын
should have mentioned using only 'throw' in an 'except' block to rethrow and maybe how to use underscore for "private" methods. Apart from that great video 👍
@alansnyder8448
@alansnyder8448 Ай бұрын
Really good video. I've learned a few things. 'match' with a tuple was completely unknown to me before this video. I've seen '_' used, but now understand it. Can someone tell me when the '_' became a feature? If I use it in Python 3.8 will it cause a problem?
@sajad.7369
@sajad.7369 8 күн бұрын
Thanks ❤❤❤❤
@itexpert4193
@itexpert4193 14 күн бұрын
good one
@janbecker4744
@janbecker4744 Ай бұрын
Could you upload the examples as python files? Thank you!
@dougiefresh2393
@dougiefresh2393 6 күн бұрын
Nicley done
@datanasov
@datanasov Ай бұрын
At 33:33 you can't do that. Doing "case case:" will match any number (not just 10) and put it in the variable case. I think that's why your editor is underlining it.
@Indently
@Indently Ай бұрын
Well spotted, and noted! I clearly didn't do enough research on that because it was a "case" I thought I'd never even dare to attempt. I appreciate you pointing it out :)
@watchmakerful
@watchmakerful 15 күн бұрын
Wow, finally a language where a switch construction does not require "break" after each case!
@CLOCK-WORK
@CLOCK-WORK 28 күн бұрын
Hiw do you get and install the python you have?
@simonwillover4175
@simonwillover4175 Ай бұрын
Built-in constants: * `False` * `None` * `True` Built-in functions: * `assert` * assert is simply a built-in function that doesn't require parenthesis; you could write your own function, `my_assert`, that does the same thing * `type` * unlike `assert`, you can override `type` Imports: * `import` * `from` - must be followed by `import` * `as` - must be proceeded by `import` or `with` Declarations: * `class` * `def` * `async` - must be followed by `def` * `del` * Scope changes: * `global` * `nonlocal` Logical operators: * Unary: * `not` * Binary: * `and` * `in` * `is` * `or` * Ternary: * `if` and `else` - must be used together, like this: * `(when_true) if (condition) else (when_false)` Expression: * `lambda` * allows you to make a 1-line function that returns the value on the line without declaring the function * very Control: * `pass` * actually does nothing * typically used to put an empty body in a control block, function, or class * Logic * `if` * `else` * `elif` * Loops: * `for` * `while` * `continue` * `break` * Error handling: * `try` * `except` - must be proceeded by `try` * `finally` - must be proceeded by `try` or `except` * `raise` * Functions: * `return` * `yield` * makes the function return a generator, even if the code around `yield` is not accessible * this items in this generator are all of the values of each `yield` statement * if the function hits a `return` statement, the generator will stop / finish and ignore the rest of the function; further attempts to generate items from the generator will fail because it is finished and the GC might have deleted the function call stack that the generator used * Async: * `await` Switch statenements: * `case` * `match` Bad * `with` * `with A as B: C` does this: * run `A` * set `B =` return value of `A` * run `B.__enter__()` * try to run `C` * if an exception occurs, run `B.__exit__(self, exception_type, exception_val, trace)` Doesn't do anything and is not a constant * `_` * essentially not a keyword
@tgsvampire
@tgsvampire 10 күн бұрын
Hey ? Are you a pro ?
@tgsvampire
@tgsvampire 10 күн бұрын
What is this global and local scope ? ls it like, the local scope variable is something that can be directly accessed by only the function in which it is defined ?
@tgsvampire
@tgsvampire 10 күн бұрын
This is one of the most underrated comment I bet...🧠🔥
@tgsvampire
@tgsvampire 10 күн бұрын
What is this lamda ? I have seen this many times but I am confused about this one.
@simonwillover4175
@simonwillover4175 9 күн бұрын
@@tgsvampire I am not really a pro. I am an enthusiastic programmer with only a few years of hobby experience. I could get a job as a junior dev if I wanted to though. I read your other comments and it looks like you want to learn python. I suggest you learn more python. My comment only makes sense to people without about a year of programming under their belt.
@sovereignlivingsoul
@sovereignlivingsoul 28 күн бұрын
very classy Class explanation, lol, fast forward ahead, when you read the text from the file, can you go to a specific line and input data,
@Heavy_Lvy
@Heavy_Lvy Ай бұрын
got to be my favorite keyword 10:27
@Snollygoster-
@Snollygoster- Ай бұрын
I actually saw the nonlocal in a script at work, it functioned how I thought, but seeing it then just made me wonder why it's even there. It looked like they were just trying to add more lines of code.
@replikvltyoutube3727
@replikvltyoutube3727 Ай бұрын
Is it possible to overwrite these keywords, like translate them for instance (even if it is bad practice)?
@Indently
@Indently Ай бұрын
With soft keywords you can assign new values to them, but with the built-in ones you would have to change the implementation of Python itself from what I understand. I once created a script that translated my own keywords into Python code, but it was silly and just for fun.
@steelcock
@steelcock Ай бұрын
"Work because life is miserable", and "doomed from the start" that's some quotes right there
@DrDeuteron
@DrDeuteron Ай бұрын
Now this is a separate video on coroutines. yield is not just a 'return' statement. It is also an assignment statement. If in a generator called 'foo', you have: new_value = yield old_value a user, baz, of that generator that has declared: def baz.. bar = foo() can then do: current_result = bar.send(my_value) which gets bars's old_value and stores it locally in baz's current_result while at the same time storing baz's my_value in bar's new_value. bar then waits there until anyone calls next(bar). at which point foo's code restarts execution. confused? good, so am I. But I have used these to write a text "continued line" unwrapper, and a clever spacecraft data packet reader in which the length of the packet is not known until the end of sensor scan--with NO, ZERO, NADA if-then clauses. Cyclic Complexity = 1, but it handles all cases WITHOUT indexing past/present data streams, even though the data reading depends on the values of the data stream at different timestamps (read: indices).
@leftsidemartian9839
@leftsidemartian9839 17 күн бұрын
can someone explain the variable declaration at 5:31 please 🙏
@owtechS
@owtechS 10 күн бұрын
This variable declaration db: str | None = "myd.db" is using type hints, which are annotations used in Python to indicate the expected types of variables. Let me break it down for you: db: This is the name of the variable. :: This indicates that what follows is the type annotation for the variable. str | None: This part indicates that the variable db can hold either a string (str) or None. = "myd.db": This part initializes the variable db with the value "myd.db". Here, "myd.db" is a string, which satisfies the first part of the type hint (str).
@JMCiller
@JMCiller Ай бұрын
What are the differences between try/except(raising an exception) and assert?
@marckiezeender
@marckiezeender Ай бұрын
assert only works in debug mode, for one. It's basically shorthand for: if __debug__ and : raise AssertionError()
@falkez1514
@falkez1514 25 күн бұрын
also, assert is specifically a bool check, try is made to be ready for any type of circumstance!
@alejandroherme9497
@alejandroherme9497 Ай бұрын
Some useful details: ( Better to write this down before I forget something ) "and"/"or" : because of the short circuit system, these can return any object (non booleans). "None": while these represent the absence of a value (like null in other languages), it doesn't mean that every non declared name equals None. It's more of a special value that any object can take. (btw if we use types, by default it's incorrect to assign None). Also we must be careful when writing "assert x" or "if x:" when we want to check for None , because if x is equal to False, it will act as if it is None. This depends on the __bool__ method of the object in question. Asserts: I've read that they only work if __debug__ is True, so I'm instead using "if x: raise Exception". "del": a non recommended keyword. Its behavior depends on the object involved. If it's a list item, del will remove it from lists. "pass": avoid filling placeholders with pass, since you won't be able to differentiate what is supposed to do nothing (for example, an abstract method) and what has its implementation pending. I prefer to "raise NotImplementedError()"
@marckiezeender
@marckiezeender Ай бұрын
Just to add about 'pass': I use pass to denote "this block of code does nothing", I use raise NotImplementedError to denote "this block is missing its implementation", and I use ... to denote "this block of code is abstract" (i.e. for a stub file, Protocol method, or abstract method; note that you can't create instances of abstract classes.)
@emil8679
@emil8679 27 күн бұрын
self isnt a keyword?
@abdomash_
@abdomash_ Ай бұрын
32:36 Wow, TypeScri-... I mean Python is a really nice language!
@murphygreen8484
@murphygreen8484 Ай бұрын
👍
@joshix833
@joshix833 Ай бұрын
What about "async for" and "async with"?
@anon_y_mousse
@anon_y_mousse Ай бұрын
Apparently Python 3.9 doesn't have a soft keyword list, so I think I need to update. What's really weird is that my keyword list has __peg_parser__ in it and I have no clue what that does.
@markandrews1219
@markandrews1219 Ай бұрын
What is the IDE in this demonstration?
@muralidharreddychalla3877
@muralidharreddychalla3877 Ай бұрын
pycharm
@jacobmmcdonald
@jacobmmcdonald Ай бұрын
Assert should only be used for debugging. If the optimization flag is used and _ _debug_ _ is set to false, assert statements are not evaluated.
@locust76
@locust76 Ай бұрын
I don't think I will ever be able to understand how lambda works. I use it in several of my projects to sort lists of dictionaries by keys, but how or why it works is anybody's guess.
@owtechS
@owtechS 10 күн бұрын
Am with you on this one. But it is somehow important
@user-lg4le8xr4s
@user-lg4le8xr4s Ай бұрын
We do not say hello to Bob.
@gustavojuantorena
@gustavojuantorena Ай бұрын
👍🏼
@user-oy5zo6di3j
@user-oy5zo6di3j Ай бұрын
Seems like keyword number 34 at 27:21 should be with and not while
@Indently
@Indently Ай бұрын
Thank you, it has been fixed!
@xjustinjx
@xjustinjx Ай бұрын
wonder what this sounds like in a few years, at 2x. 35, never programmed, 30k? 40k? hours on the computer playing games. completing my first college programming class right now, currently have 100% going into finals. programming is fun.
@thefanboy3285
@thefanboy3285 Ай бұрын
The first example is me: has_money: bool = False
@lhuguenin100
@lhuguenin100 Ай бұрын
Can we please just agree that it’s insane for true and false to be capitalized???
@zokalyx
@zokalyx Ай бұрын
It's a bit weird yes, but at least True and False somewhat indicate that they are objects, not simple 1's and 0's like in other languages.
@alansnyder8448
@alansnyder8448 Ай бұрын
I'm actually okay with it capitalized, along with None. It makes it stand out in code.
@matthewsharp1178
@matthewsharp1178 28 күн бұрын
I’m fine with it
@lhuguenin100
@lhuguenin100 28 күн бұрын
I really thought I would get more support with this one hahah @@zokalyx that’s because in most languages they aren’t actually objects, they are just masks or macros for 1 and 0, which is more memory efficient. But in python everything is an object, there are no true types, which can be good for other reasons.
@callbettersaul
@callbettersaul Ай бұрын
Something happened with 3rd chapter name ("None02:34 True")
@Indently
@Indently Ай бұрын
Thank you for pointing that out, I fixed it!
@falkez1514
@falkez1514 25 күн бұрын
poor bob got so abused today, he even wrote a letter to indently through the .txt but no one cares...
@Cryptohustlerhub
@Cryptohustlerhub 11 күн бұрын
Sorry bob
@robertpearson8546
@robertpearson8546 27 күн бұрын
This reinforces my view that Python is just tarted up C. False is NOT 0.
@dan5e3s6ares
@dan5e3s6ares 28 күн бұрын
@RajivKC
@RajivKC 4 күн бұрын
Rip Bob
@Wals_Gaming
@Wals_Gaming Ай бұрын
poor Bob😭😭
@deepdark242
@deepdark242 17 күн бұрын
All what person can do is work, because life is misarable ;d 9:25
@samsonabraha9536
@samsonabraha9536 16 күн бұрын
Phyton Keywords was 33, Now how became 39 ???????
@Lighter7900music
@Lighter7900music Ай бұрын
Python has 39 keywords and not one const keyword.
@-Quran_kreem
@-Quran_kreem Ай бұрын
Don't change the variable and it will not change.!!
@Lighter7900music
@Lighter7900music Ай бұрын
@@-Quran_kreem You're making a fool of yourself don't you think?
@cycrothelargeplanet
@cycrothelargeplanet Ай бұрын
Just use allcaps to tell people it's a constant and hope they don't change it
@Lighter7900music
@Lighter7900music Ай бұрын
@@cycrothelargeplanet *Hope*
@user-iy6dt4xp5o
@user-iy6dt4xp5o Ай бұрын
Use all caps for constants
@mike4617
@mike4617 28 күн бұрын
All 39 python keywords explained (except I'm not going to explain it here) lol
@tauiin
@tauiin Ай бұрын
what did bob do
@Bl0xxy
@Bl0xxy Ай бұрын
true and false are not keywords but instead literals
@shakapaker
@shakapaker Ай бұрын
I enjoy your jokes 😂
@Bl0xxy
@Bl0xxy Ай бұрын
same with None
@Indently
@Indently Ай бұрын
You can argue with the docs if you want.
@Bl0xxy
@Bl0xxy Ай бұрын
@@Indently keywords dont have values, you cant use them in lambdas None, true, and false can be used in lambdas as they are literals
@Indently
@Indently Ай бұрын
Whatever your personal definition might be is up to you, but these are the docs: docs.python.org/3/reference/lexical_analysis.html#keywords
@Bl0xxy
@Bl0xxy Ай бұрын
@@Indently damnit you win
@Bl0xxy
@Bl0xxy Ай бұрын
@@Indently weird that those keywords can be used in lambdas
@AsgerJon
@AsgerJon 12 күн бұрын
ClassLess = type('ClassLess', (), {'lmao': True})
@almosfodor8177
@almosfodor8177 28 күн бұрын
Screw Bob
@runnow2655
@runnow2655 Ай бұрын
who the hell sorted these lol The alphabetical order technically makes sense, but you have elif before if and excpt before try etc, but False None and True are before all of those, so it's not even in alphabetical order
@anon_y_mousse
@anon_y_mousse Ай бұрын
Uppercase letters come before lowercase letters in ASCII text.
@runnow2655
@runnow2655 Ай бұрын
@@anon_y_mousse who the hell sorts text for a video based on ASCII lmao
@anon_y_mousse
@anon_y_mousse Ай бұрын
@@runnow2655 The built-in sort function does by default.
@runnow2655
@runnow2655 Ай бұрын
​@@anon_y_mousseshould've still sorted them in a way that made sense. If I didn't already know a bit of Python I would've skipped this video so hard when he started talking about keywords you can only use after other keywords he hasn't explained yet. If it's in normal alphabetical order, at least it'd feel logical to the viewer, and sorting in ASCII makes a lot of sense, if you're a python interpreter. A viewer? Not so much.
@anon_y_mousse
@anon_y_mousse Ай бұрын
@@runnow2655 It's also the order that the list is presented in by the environment. Run the code yourself and you'll see it more or less the same depending on the version you have installed. The best ordering would require manually sorting the list as alphabetical would not be it. You can debate whether or not that level of effort would be worth it but that might make more sense as a general tutorial video instead of just a keyword list video.
@gameslp7583
@gameslp7583 Ай бұрын
you can not pronounce data like that!
@richarddong5401
@richarddong5401 Ай бұрын
This person can only work because life is miserable😂😂
@davidmurphy563
@davidmurphy563 Ай бұрын
9:03 I don't get why people use "else" so much. It's invariably pointless like here.
@ChannelMath
@ChannelMath 3 күн бұрын
The amount of annotations ( ":" and "->" ) you use are distracting and confusing for me. Especially how you explained None, which hardly needs an explanation (actually, I'm not sure why we need this kw), and when you imported Never to explain finally. That can't be necessary. (Incidentally, another kw we don't need: just un-indent that code, right?)
@guinea_horn
@guinea_horn 28 күн бұрын
I'm always so confused, and often frustrated when watching your videos. You decided to make a video on all of the keywords and put *absolutely no* thought into what order to discuss them in? It's so weird, there's good information here but it's so all over the place. If I wanted to learn about importing for example, I would have to skip to 4 different, completely random parts of the video. Why not go through them in a particular order so that concepts are grouped together, and some concepts build on others? It sounds like you're probably reading a script or at least using some bullet points - those could have been organized with 5 minutes of effort before recording the video
@Indently
@Indently 27 күн бұрын
Hey there! Sorry to hear you find my videos frustrating, these videos take a lot of effort to make and I while it seems like things could be done in 5 minutes, it's no where near the reality. I will work on improving the quality of my content, thank you for sharing your opinion!
@timedebtor
@timedebtor 26 күн бұрын
False "practically a key word for zero". Actually this is something I hate. False is a fractional integer with zero as the numerator in Python. I know historically why this happened but it is completely insane. You can ask for the denominator of a Boolean and the language doesn't bat an eye.
@timedebtor
@timedebtor 26 күн бұрын
It raises the question why bother having strong types if the intuitive definition of your strong type significantly deviates from behavior of that type
@ckpioo
@ckpioo 29 күн бұрын
python is the most disgusting language
@tigidou3344
@tigidou3344 Ай бұрын
Why put a type... it's just for IDE, so, for a very short example... I just see this is useless...
@joshix833
@joshix833 Ай бұрын
What about the other uses of else? Like for ... else, while ... else, try ... except ... else?
@effanineffables
@effanineffables Ай бұрын
was looking for this comment before I said the same thing! else is so much more than just if..else
Python's "itemgetter" is very useful
6:15
Indently
Рет қаралды 40 М.
Python's 5 Worst Features
19:44
Indently
Рет қаралды 72 М.
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 89 МЛН
Glow Stick Secret (part 2) 😱 #shorts
00:33
Mr DegrEE
Рет қаралды 50 МЛН
5 Tips To Write Better Python Functions
15:59
Indently
Рет қаралды 73 М.
15 Python Libraries You Should Know About
14:54
ArjanCodes
Рет қаралды 352 М.
Lecture 1: Introduction to CS and Programming Using Python
1:03:30
MIT OpenCourseWare
Рет қаралды 338 М.
How To Use Recursion In Python
8:50
Taylor's Software Solutions
Рет қаралды 2,5 М.
5 Good Python Habits
17:35
Indently
Рет қаралды 316 М.
10 Python Comprehensions You SHOULD Be Using
21:35
Tech With Tim
Рет қаралды 95 М.
Async for loops in Python
16:36
mCoding
Рет қаралды 55 М.
5 Useful Dunder Methods In Python
16:10
Indently
Рет қаралды 47 М.
PLEASE Use These 5 Python Decorators
20:12
Tech With Tim
Рет қаралды 86 М.
This Is Why Python Data Classes Are Awesome
22:19
ArjanCodes
Рет қаралды 786 М.
小路飞姐姐居然让路飞小路飞都消失了#海贼王  #路飞
00:47
路飞与唐舞桐
Рет қаралды 89 МЛН