Python Typing - Type Hints & Annotations

  Рет қаралды 106,708

Tech With Tim

Tech With Tim

Күн бұрын

Welcome back to another video! In this video, I'll be covering content from the typing module in Python like type hints and annotations. The typing module allows you to add types to a bunch of different things like variables and parameters. This can help with better documentation making it easier for others to read the code.
💻 Thanks to Altium Designer for sponsoring this video. Checkout the best PCD design software on the market by signing up for a FREE trial here: www.altium.com/yt/techwithtim
📄 Resources 📄
Typing Documentation: docs.python.org/3/library/typ...
Fix Pip (Windows): • How to Install Pygame ...
Fix Pip (Mac): • How to Install Pygame ...
⭐️ Timestamps ⭐️
00:00 | Overview
01:52 | Typing Module
04:00 | Type Annotations
05:34 | Static Code Analysis (mypy)
07:01 | Function Annotations
8:30 | List Type
10:12 | Dict Type
10:55 | Set Type
11:23 | Custom Types
13:17 | Optional Type
14:33 | Any Type
15:06 | Sequence Type
17:07 | Tuple Type
18:14 | Callable Type
21:38 | Generics
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
💰 Courses & Merch 💰
💻 The Fundamentals of Programming w/ Python: tech-with-tim.teachable.com/p...
👕 Merchandise: teespring.com/stores/tech-wit...
🔗 Social Medias 🔗
📸 Instagram: / tech_with_tim
📱 Twitter: / techwithtimm
⭐ Discord: / discord
📝 LinkedIn: / tim-ruscica-82631b179
🌎 Website: techwithtim.net
📂 GitHub: github.com/techwithtim
🔊 Podcast: anchor.fm/tech-with-tim
🎬 My KZbin Gear 🎬
🎥 Main Camera (EOS Canon 90D): amzn.to/3cY23y9
🎥 Secondary Camera (Panasonic Lumix G7): amzn.to/3fl2iEV
📹 Main Lens (EFS 24mm f/2.8): amzn.to/2Yuol5r
🕹 Tripod: amzn.to/3hpSprv
🎤 Main Microphone (Rode NT1): amzn.to/2HrZxXc
🎤 Secondary Microphone (Synco Wireless Lapel System): amzn.to/3e07Swl
🎤 Third Microphone (Rode NTG4+): amzn.to/3oi0v8Z
☀️ Lights: amzn.to/2ApeiXr
⌨ Keyboard (Daskeyboard 4Q): amzn.to/2YpN5vm
🖱 Mouse (Logitech MX Master): amzn.to/2HsmRDN
📸 Webcam (Logitech 1080p Pro): amzn.to/2B2IXcQ
📢 Speaker (Beats Pill): amzn.to/2XYc5ef
🎧 Headphones (Bose Quiet Comfort 35): amzn.to/2MWbl3e
🌞 Lamp (BenQ E-reading Lamp): amzn.to/3e0UCr8
🌞 Secondary Lamp (BenQ Screenbar Plus): amzn.to/30Dtafi
💻 Monitor (BenQ EX2780Q): amzn.to/2HsmUPZ
💻 Monitor (LG Ultrawide 34WN750): amzn.to/3dSD7tS
🎙 Mic Boom Arm (Rode PSA 1): amzn.to/30EZw9m
🎚 Audio Interface (Focusrite Scarlet 4i4): amzn.to/2TjXsih
💸 Donations 💸
💵 One-Time Donations: www.paypal.com/donate?hosted_...
💰 Patreon: / techwithtim
◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️◼️
⭐️ Tags ⭐️
- Tech With Tim
- Typing Module
- Python
- Annotations
- Type Hints
- Generics
⭐️ Hashtags ⭐️
#TechWithTim #TypingModule

Пікірлер: 165
@gaurishgangwar
@gaurishgangwar Жыл бұрын
I think Optional (at 14:10) means different than being an optional argument. Optional[bool] means that the argument can either be bool or None.
@piraloco5864
@piraloco5864 5 ай бұрын
Kind of, your explanation on the optional type is 100% true, but you can still use it to represent optional arguments, since it means that if you dont pass the argument the type checker will accept it.
@rabinadk1
@rabinadk1 4 ай бұрын
I was about to comment the same. Optional type is kind of confusing to most of the people. It just means additionally None.
@martonturbuk3060
@martonturbuk3060 2 жыл бұрын
Hi there, I came here to comment on this recent video, so I get a bigger chance of you reading this. I just wanted to thank you for all the work that you did put in these videos. I watched several of your longer videos (The Complete Python Course For Beginners for example) and they are really good. You helped a lot of people to learn, and gain knowledge, for free. Keep up the good work, and thank you.
@bencipherx
@bencipherx 2 жыл бұрын
@@techwithtim8893 is that ur WhatsApp number?
@UrBigSisKey
@UrBigSisKey Жыл бұрын
That's thoughtful of you ... :)
@Saitama-ur3lq
@Saitama-ur3lq Жыл бұрын
ah! the definitive edition of typescript for python is here lol
@soupnoodles
@soupnoodles 2 жыл бұрын
Hey, thank you so much! Pretty helpful video, keep making these man :)
@rossli8621
@rossli8621 2 жыл бұрын
Dude I just fell in love with your tutorial videos.
@sethutrun
@sethutrun 2 жыл бұрын
Love the python videos!! Thank you so much
@shikharpathak8510
@shikharpathak8510 2 жыл бұрын
How amazing it is... Like there is always a lot to learn. Thanks for taking us along ❤️
@TechWithTim
@TechWithTim 2 жыл бұрын
Thanks for watching!
@shikharpathak8510
@shikharpathak8510 2 жыл бұрын
Lots of love and gratitude❤️
@danielcrone9553
@danielcrone9553 2 жыл бұрын
Thanks for the great explanation! It'd be also good to add how people generally indicate more library-specific types like df in pandas, class, numpy, path variables.
@PeceniJaguar
@PeceniJaguar Жыл бұрын
You just use the Class that creates that object, e.g. `data: pd.DataFrame = pd.DataFrame(some_params_etc)`
@pic01
@pic01 2 жыл бұрын
Thank you so much for this information, so helpful for me and everyone else
@alloutofafricanpolarbears
@alloutofafricanpolarbears 2 жыл бұрын
Thanks for the info dump. I have just recently started using this.
@max.caimits
@max.caimits 2 жыл бұрын
From typing module docs: ❝Optional[X] is equivalent to X | None (or Union[X, None]). Note that this is not the same concept as an optional argument, which is one that has a default. An optional argument with a default does not require the Optional qualifier on its type annotation just because it is optional.❞
@GeorgeSanger
@GeorgeSanger Жыл бұрын
Add to add to this setting a argument to optional[bool] now mean that you can set output to None e.g. foo(None), now inside the function output will be None not False. And this wouldn't be caught by mypy. I do believe that part is incorrect, but very useful video otherwise
@garfield-pro
@garfield-pro Жыл бұрын
Thanks for explaining Union type which Tim missed out.
@pratyushbehere3580
@pratyushbehere3580 2 жыл бұрын
Thanks, short and useful.
@mohamedfarag9136
@mohamedfarag9136 10 ай бұрын
Thank you very much for your explanation!
@18something
@18something 2 жыл бұрын
Optional is used more on the request payload validation, some of the fields are not always required. Not just to decorate an optional parameter
@18something
@18something 2 жыл бұрын
Types shine on facilitating validation more than documentation. Feel like you need to couple this topic with pydantic as well
@cn-ml
@cn-ml Жыл бұрын
You should probably use the NotRequired type then, instead of Optional.
@larrystone654
@larrystone654 2 жыл бұрын
Your videos are so refreshingly clear! Question: If the typing library is used for the purpose of complaining about incorrect typing, why do you need to run the program through mypy instead of just running the python program and letting *it* complain?
@paulzupan3732
@paulzupan3732 Жыл бұрын
According to the mypy documentation, an Iterable is anything that can be used in a for loop. A Sequence is anything that supports both len and __getitem__.
@Zoronoa01
@Zoronoa01 Жыл бұрын
Thank you Tim!
@tomgreg2008
@tomgreg2008 Жыл бұрын
Great video, thanks!
@gerreyal
@gerreyal Жыл бұрын
Thanks Tim for the very usefull video.
@gameacer111
@gameacer111 2 жыл бұрын
Great info Tim! Thanks! Love the videos
@CaptainBravo87
@CaptainBravo87 Жыл бұрын
Great video!
@axis2010
@axis2010 2 жыл бұрын
As a few others have already commented, Tim’s explanation of Optional is incorrect. Optional means that the type can be None or the given type. e.g. Optional[bool] = False means that a user can pass in a value of type bool or None. I doubt Tim wants to allow the user to pass in None. The correct type should be bool = False
@InglesConConfianza
@InglesConConfianza 9 ай бұрын
GREAT VIDEO!
@squidproxy136
@squidproxy136 Жыл бұрын
amazing, thanks
@MsOfficeLearning
@MsOfficeLearning 2 жыл бұрын
Thank for the best tutorial sir.
@jleonardolemos
@jleonardolemos 2 жыл бұрын
great video, thanks!!!!
@kens_adventures
@kens_adventures 2 жыл бұрын
Thanks for this crush course while I am in the middle of my take home coding challenge for my job application
@sushantgupta4757
@sushantgupta4757 7 ай бұрын
Thank you so much
@cn-ml
@cn-ml Жыл бұрын
Very informative, there are lots of things to add to this video, but you covered a great base. I would however like to see corrections on the Optional type, which you seem to have misunderstood a lot. It is definitely *NOT* used for optional parameters, but for parameters that can also be None (of course you could have optional default params: "name: Optional[int]=None"). Also in the Callable type optional does not provide default parameters, but Nullable params, but you still have to provide them in the call! If you want default params in callables, you should probably use the Protocol type.
@kingcrashplays
@kingcrashplays 2 жыл бұрын
This was the first thing I figured out due to the fact I come from a language like Java. Dynamically typed languages drive me insane, so whenever possible I always try to hint my variables with a specific type.
@RanjithKumar-jo7xf
@RanjithKumar-jo7xf Жыл бұрын
This is really awesome ❤️❣️
@gustavopoa
@gustavopoa 2 жыл бұрын
Thanks Tim
@kaanb9192
@kaanb9192 2 жыл бұрын
this video was very helpful, since I saw some people use these type hints and annotations, I was wondering whether I am coding wrong. Turns out it is just for documentation...
@Mdroudian
@Mdroudian 2 жыл бұрын
The tabnine is badass. Sourcery is also a great extension.
@raziyehnikookolah6107
@raziyehnikookolah6107 Жыл бұрын
very useful
@derekreed6798
@derekreed6798 8 ай бұрын
Wow, how complicated type hints are pre 3.9. Great video as I needed to know this stuff (so thanks for your time), but I'll upgrade my python before using typehints.
@will2see
@will2see 2 жыл бұрын
Hi Tim, what keyboard are you using? I like the sound it makes ;-)
@lt_academy
@lt_academy 2 жыл бұрын
well done )
@John_Shi305
@John_Shi305 2 жыл бұрын
非常感谢, thank you
@sanjaykrish8719
@sanjaykrish8719 Жыл бұрын
Thanks!
@TechWithTim
@TechWithTim Жыл бұрын
Appreciate you !
@DanielDelFuturo
@DanielDelFuturo 2 жыл бұрын
It's amazing, I need to find how to use Type Hints on Django. When I use values like Dates, Email, Passwords, etc...
@pianopianist5709
@pianopianist5709 2 жыл бұрын
I was watching your shorts video when I got this notification!
@Absolotle
@Absolotle 2 жыл бұрын
Thank you! I didn't know that you could specify and test types like that. I noticed that when you tested the set as a sequence, (at 16:45) your set caontained ints instead of strings (you specified a sequence of str). Maybe that's the reason for the error and not the fact that you can't index a set?
@Absolotle
@Absolotle 2 жыл бұрын
ok, I tried and and, yes - also a set of strings will produce an error
@HubertRozmarynowski
@HubertRozmarynowski 2 жыл бұрын
Thanks for the video, Tim. How would you type a list that can store both float and int types?
@roshanyadav4459
@roshanyadav4459 2 жыл бұрын
List[int,float]
@andresyesidmorenovilla7888
@andresyesidmorenovilla7888 2 жыл бұрын
Hi tim, excellent video! thank you so much. I have a question, how would one go about typing a variable which is a dictionary, whose keys are all strings but whose values' types may be different (i.e int, float, bool, etc)?
@cn-ml
@cn-ml Жыл бұрын
A bit late, but for people who are seeing this today: Dict[str, int | float | bool | etc]. Just use a Union of all types as a value. I personally prefer TypedDict to assign types for specific keys.
@miguelvasquez9849
@miguelvasquez9849 Жыл бұрын
Should i use Sequence[str] instead of List[str]? For your example [‘a’,’b’]
@constantinci
@constantinci 2 жыл бұрын
What about declaring types of custom classes as methods/constructors parameters?
@WolfsInk
@WolfsInk Жыл бұрын
And to think I'd just finished revamping my project creator code from the last video from you I'd watch... XD I wonder how well this would interact with pylint.
@hujintaoxi
@hujintaoxi Жыл бұрын
Hi there, question about the type "tuple" that you mention at 17:05 - What if there is a tuple with a large length (thousands of elements) - do we still need to specify the expected type at each position of the Tuple ?
@jesterflint9404
@jesterflint9404 Жыл бұрын
Yes you do. But tuples are generally used in places like returning multiple values from a function. If you need 1000 elements, you should have used a list
@garfield-pro
@garfield-pro Жыл бұрын
Hey Tim, How do we hint the type of *args and **kwargs?
@umeshlab987
@umeshlab987 2 жыл бұрын
What software do you use for thumbnails
@neiladriangomez
@neiladriangomez 2 жыл бұрын
He’s cute, smart and workaholic!
@ianbdb7686
@ianbdb7686 2 жыл бұрын
He looks a fish from Nemo but I don't know which one
@barisbasar3909
@barisbasar3909 2 жыл бұрын
@@ianbdb7686 lamoooo
@splendorman7922
@splendorman7922 2 жыл бұрын
x: list[list[int]] = [[2,3],[1,6]] works for me. is it because of version difference? Tried it on v3.9
@dominikwodarczyk6714
@dominikwodarczyk6714 2 жыл бұрын
Also Union is pretty useful
@fivefournino
@fivefournino 2 жыл бұрын
How would one type hint for objects you pull in from other packages? (Dataframe in-np array out, list in-praw out, etc)
@BiologyIsHot
@BiologyIsHot 2 жыл бұрын
Import and then put the class name ie var1: pd.DataFrame
@ghyslainhubert139
@ghyslainhubert139 7 ай бұрын
In my case, VS Code/Python 3.11.5, just starting the video (5:05), int x = 1 already causes an error "Expression value is unused" Pylance. If I enter x: int = "Hi", "Hi" is underlined as an error : Expression of type "Literal['Hi']" cannot be assigned to declared type "int", so : int causes an error. Like x: str = 1, I get a Expression of type "Literal[1]" cannot be assigned to declared type "str" "Literal[1]" is incompatible with "str"Pylance.
@iluvsyphonfilter
@iluvsyphonfilter 2 жыл бұрын
Hey Tim yesterday I was working on a Flask project and I noticed in the terminal that it made a GET request to a route from another project and of course it got a 404 because that route don't exist in the new project. I got scared and don't know what it could be, do you think someone got into my localhost? The IP address from the GET request was from my localhost.
@iluvsyphonfilter
@iluvsyphonfilter 2 жыл бұрын
@@techwithtim8893 Nevermind, I think that was caused by something related to telemetry in the browser or something like that, anyways now I'm keeping the resource monitor and task manager opened on the side to see if I catch something strange in my network.
@tcgvsocg1458
@tcgvsocg1458 2 жыл бұрын
Can you do a video on "make a platformer game in python 2021" or beat them all Thx a lot
@taharatamin3434
@taharatamin3434 2 жыл бұрын
Tim, create a tutorial on docker if possible
@bencipherx
@bencipherx 2 жыл бұрын
I lost a German job interview cos of type hinting, no more is that happening again 🦁
@bencipherx
@bencipherx 2 жыл бұрын
@Anne-[S]EX-Vlog Go to My Channel yes , it's type will be the class provided its imported or implemented in the same module
@joseflat
@joseflat 2 жыл бұрын
Anyone knows, how would I typehint , when I return an object of some of my classes?
@nyscire877
@nyscire877 2 жыл бұрын
Just typehint your class name. For example, if you namedyour class "Foo" you would do something like that: def func(parameter: Any) -> Foo
@miloventimiglia8547
@miloventimiglia8547 10 ай бұрын
Isn't the case that if you find yourself needing static feature, you should opt in for Java? Or a more advance language? Python leads to a lot of overheads whereas in Java everything is already built in
@UrBigSisKey
@UrBigSisKey Жыл бұрын
How do you do Arrays then ?
@DrDeuteron
@DrDeuteron Жыл бұрын
On tuple type (circa 17:40), what if my tuple is 10,000 ints? Do I need to code: x: Tuple[int, int, ....10000 times...int]? Seems Akward
@ONLYUSEmyTOILET
@ONLYUSEmyTOILET Жыл бұрын
You could be specific and type it as x: tuple[(int,) * 10000] or just type it with arbitrary length as tuple[int, ...]
@user-kk4jy5nm8g
@user-kk4jy5nm8g 2 жыл бұрын
how should we insert persian in kivy
@mback12000
@mback12000 2 ай бұрын
So whats the usefulness of type hinting - compared to just comments - if you're not using an analysis tool?
@WillsonMock
@WillsonMock Жыл бұрын
Does anyone know how to use a custom class definition as a type?
@jesterflint9404
@jesterflint9404 Жыл бұрын
The class name itself is a valid type.
@prashantlawhatre7007
@prashantlawhatre7007 Жыл бұрын
14:23 So, Optional[bool] = Union[bool,None] and not because it has default value.
@johnsmith-fk7fw
@johnsmith-fk7fw 2 жыл бұрын
i make it a point to make my code as hard as possible to read, like a puzzle. i call it 'davinci code' 😎
@ahmedyousif4782
@ahmedyousif4782 2 жыл бұрын
The only time that I used types in python is when dealing with data classes
@uKaigo
@uKaigo 2 жыл бұрын
Isn't the Optional type used only when None can be passed? AFAIK when you have an have an optional parameter you shouldn't type it with Optional unless it accepts None Also Optional[T] is the same as Union[T, None], implying this
@ignis2982
@ignis2982 2 жыл бұрын
Yes, but that only applies if you type hint return types.
@uKaigo
@uKaigo 2 жыл бұрын
@@ignis2982 oh, I thought it applied to parameters too, thanks
@user-be2bs1hy8e
@user-be2bs1hy8e 3 ай бұрын
12:30 But i thought at the start they've said "If you are looking to replace long string with easy command THIS IS NOT THAT VIDEO ...", but now it kind of is. ?
@nunezkant
@nunezkant Жыл бұрын
What about numpy arrays ?
@itaydvash
@itaydvash 2 жыл бұрын
What about objects I created?
@snippletrap
@snippletrap 2 жыл бұрын
pyright reports type errors in your editor or IDE, so you don't need to run mypy
@this-is-bioman
@this-is-bioman Жыл бұрын
This is an excellent presentation with nice large and readable font, dark background and timestamps! Python is by far the most stupid language LOL By design dynamically typed and without access modifiers, but yet people demand these features so they added type hints and use underscores for private members. How can you not love this illogical design decisions? 🤣🤣🤣
@BRLN1
@BRLN1 2 жыл бұрын
You should have waited with this video until python 3.10 got published in a few weeks! However most stuff you present here is even with python 3.9 already deprecated!
@freakpandor
@freakpandor 2 ай бұрын
What if an object is a parameter?
@murphygreen8484
@murphygreen8484 2 жыл бұрын
Date types?
@anugrahtriramadhan9300
@anugrahtriramadhan9300 2 жыл бұрын
How about iterable?
@haohuynhnhat3881
@haohuynhnhat3881 2 жыл бұрын
you can do list[bla, bla] in python >= 3.9, and in 5 years the List from typing.List will be deprecated
@pkavenger9990
@pkavenger9990 2 жыл бұрын
16:51 I think it gave an error because you specified Sequence [str] but you put "int" in the function's parameter instead of a string.
@ahmedyousif4782
@ahmedyousif4782 2 жыл бұрын
ALGOEXPERT SHUT UP I DON'T WANT TO BE A SOFTWARE ENGINEER AT GOOGLE
@sujeewarathnaweera
@sujeewarathnaweera 2 жыл бұрын
i got the ad in the vid before
@paschalokafor9043
@paschalokafor9043 11 ай бұрын
@16.47 minutes you should have tried a set of strings not numbers.
@iddo-ba
@iddo-ba 2 жыл бұрын
Hi
@binaprajapati7709
@binaprajapati7709 2 жыл бұрын
Can we get some rust pleaseeee 🥺🥺
@user-jf4wc7tf9v
@user-jf4wc7tf9v 2 жыл бұрын
NICE VIDEO!! Very engaging from the beginning to the END. Nevertheless Business and investment are the best way to make money irrespective of which party make it to the oval office.
@jimmys.fuller3659
@jimmys.fuller3659 2 жыл бұрын
Absolutely right, I got 70% of my total portfolio in crypto and I have been making good profits.
@rosalinda1965
@rosalinda1965 2 жыл бұрын
I wanted to invest more in crypto, but the fluctuations in crypto value discouraged me into dumping.
@Flow.Monkam
@Flow.Monkam 2 жыл бұрын
@@rosalinda1965 That won't bother you if you trade with a professional like Mr Nicholas howard.
@anitapearl2706
@anitapearl2706 2 жыл бұрын
Wow 😮I’m just shocked you mentioned and recommended Mr. Nicholas howard I thought people don’t know him, he is really awesome.
@Flow.Monkam
@Flow.Monkam 2 жыл бұрын
@@anitapearl2706 Yeah I know him, who doesn't know Mr Nicholas howard of (HSBC SECURITY (USA) INC).
@apnagamer61
@apnagamer61 2 жыл бұрын
1st comments
@SenselessTalk
@SenselessTalk 2 жыл бұрын
First
@pianopianist5709
@pianopianist5709 2 жыл бұрын
Yes!
@BenEgeYouTube
@BenEgeYouTube 2 жыл бұрын
Cu
@kaiobatistaalmeida
@kaiobatistaalmeida 2 жыл бұрын
Cu means ass in portuguese, so it's kind of weird seeing it randomly
@Sciencedoneright
@Sciencedoneright 2 жыл бұрын
@@kaiobatistaalmeida oh lol
@imahumanbeing61
@imahumanbeing61 2 жыл бұрын
m
@Sciencedoneright
@Sciencedoneright 2 жыл бұрын
@@imahumanbeing61 lmao
@flaskblog3009
@flaskblog3009 2 жыл бұрын
cu ou seios?
@hanyanglee9018
@hanyanglee9018 2 жыл бұрын
Guys, rename this language as MyTython, or at least Tython.
@PhongNguyen-jd3fw
@PhongNguyen-jd3fw 2 жыл бұрын
So this is typescript in python 😂
@TechWithTim
@TechWithTim 2 жыл бұрын
lol ya kinda feels like it
@maqdala
@maqdala Жыл бұрын
What font is that? What an L!
@krtirtho
@krtirtho 2 жыл бұрын
"Python typings don't enforce what type should be passed/used. It's just for documentation purposes" *In other words, it's useless*
@jigsaw2253
@jigsaw2253 2 жыл бұрын
No it’s not you dump
@pablodm9
@pablodm9 2 жыл бұрын
The average junior coder agrees 👍
@juanbetancourt5106
@juanbetancourt5106 2 жыл бұрын
the main purpose is to get the code easier to read in big projects.
@BRLN1
@BRLN1 2 жыл бұрын
shot shoveling ... beautiful
@krtirtho
@krtirtho 2 жыл бұрын
@@juanbetancourt5106 You really think Python is hard to read? Then reading Java is like reading machine code
@ytsnanda
@ytsnanda 2 жыл бұрын
First
@ytsnanda
@ytsnanda 2 жыл бұрын
Shout out bro plz
@pianopianist5709
@pianopianist5709 2 жыл бұрын
You're second
@ytsnanda
@ytsnanda 2 жыл бұрын
No I am first@@pianopianist5709
@BRLN1
@BRLN1 2 жыл бұрын
No you aren't
@ytsnanda
@ytsnanda 2 жыл бұрын
@@BRLN1 I am, I didn't ask your opinion. Tech with Tim knows.....
Write Python Code Properly!
25:46
Tech With Tim
Рет қаралды 141 М.
Python Type Hinting
36:33
MathByte Academy
Рет қаралды 4,4 М.
ПАРАЗИТОВ МНОГО, НО ОН ОДИН!❤❤❤
01:00
Chapitosiki
Рет қаралды 2,7 МЛН
100😭🎉 #thankyou
00:28
はじめしゃちょー(hajime)
Рет қаралды 56 МЛН
5 Good Python Habits
17:35
Indently
Рет қаралды 349 М.
5 Reasons Why You Should Use Type Hints In Python
13:54
ArjanCodes
Рет қаралды 103 М.
What the Heck Are Monads?!
21:08
ArjanCodes
Рет қаралды 67 М.
Python Generators Explained
28:37
Tech With Tim
Рет қаралды 143 М.
Type Hinting Makes Your Code More Professional
24:36
NeuralNine
Рет қаралды 11 М.
Protocol Or ABC In Python - When to Use Which One?
23:45
ArjanCodes
Рет қаралды 196 М.
5 Tips To Organize Python Code
12:16
Tech With Tim
Рет қаралды 212 М.
5 Really Cool Python Functions
19:58
Indently
Рет қаралды 37 М.
Python dataclasses will save you HOURS, also featuring attrs
8:50
Python's Type Annotations DON'T Do What You THINK They Do
8:10