10 Python Concepts You NEED To Know in 2025

Поділитися
Вставка
  • Опубліковано 26 січ 2025

КОМЕНТАРІ • 40

  • @TechWithTim
    @TechWithTim  Місяць тому +2

    📬 Join my Newsletter: techwithtim.net/newsletter

  • @XenoHypes
    @XenoHypes Місяць тому +2

    Yet another masterpiece from our boy Tim. Great work, make more videos like this

  • @AP_123_
    @AP_123_ Місяць тому

    Thank you, Tim. I just began learning Python through Codefinity recently. Am enjoying the videos you create, they are of great benefit to my learning. Cheers.

  • @ltsCoo
    @ltsCoo Місяць тому

    Bro you left us hanging at the hardest part of the rust series

  • @BenRogersWPG
    @BenRogersWPG Місяць тому +1

    Excellent video!

  • @samoylov1973
    @samoylov1973 Місяць тому +1

    1) Zen of Python tells us "Readability counts."
    So about "slicing" section of your video it might be a good practice to use slice().
    every_third = slice(None, None, 3)
    lst_of_nums[every_third] # Yes, one may argue that there's more hassle, but consider readability and reusability.
    2) Magic line - if __name__ == "__main__":
    This part could have been presented better. As this magic line is used for orchestrating functions, presenting main interface and running tests.
    def main():
    """
    Orchestrates the execution of function1, function2, and function3.
    """
    data = function1()
    result = function2(data)
    function3(result)
    ...
    if __name__ == "__main__":
    def test():
    """
    Runs tests to validate the functions.
    """
    assert function1() == "Hello", "function1() should return 'Hello'"
    assert function2("Hello") == "Hello, world!", "function2() should return 'Hello, world!'"
    function3("Hello, world!") # This should print "Hello, world!"
    test() # Run tests first
    main() # Then run the main function

  • @calibur5518
    @calibur5518 Місяць тому +1

    welcome back SIR

  • @ondrasuchanek6467
    @ondrasuchanek6467 Місяць тому

    thanks, I didn't understand few of them a now I do, great content as always :)

  • @azharalibhutto1209
    @azharalibhutto1209 Місяць тому +1

    Great ❤❤❤

  • @DaveWarnock
    @DaveWarnock Місяць тому

    In the dynamic typing you are perpetuating the type problem when you add the int argument check. If you pass a string instead of an int you then break the declared return type (return a str instead of an int).
    That would leave a nasty mess if I call this function without reading the source or running a type checker.
    At minimum the return should be "int | str"

  • @HabibuDanlamidahir
    @HabibuDanlamidahir Місяць тому

    Do Tim have scikit learn tutorial?

  • @tonkyboy8920
    @tonkyboy8920 Місяць тому

    Hi @tim may i ask you: how do you record your videos in this good quality? I want to start a channel aswell and i like your quality.

  • @GaelDuchesne
    @GaelDuchesne 12 днів тому

    Good video but a little bit confusing on 5. because you named the second file 'main' so it took me a bit to understand that it had nothing to do with __name__ == '__main__'

  • @jorge.barcelos
    @jorge.barcelos Місяць тому

    When we are dealing with web systems, It is true, that python is not scalable at all?

  • @aakashjoshi4580
    @aakashjoshi4580 Місяць тому

    I had a doubt. In the *args and **kwargs, should the names be same as it is or I just have to use the * one /twice depending on what im doing?

    • @davidmurphy563
      @davidmurphy563 Місяць тому

      *args, **kwargs are like "self", you don't have to use these names. Just never use anything else because you'll make whoever reads your code very cross if you use something else.
      With *args only the astericks matter. That says, take all the positional arguments and put them in a tuple. **Kwargs plus all the keyword arguments and puts them in a dictionary.
      This means you don't have to know how many positional arguments there are or what the keyword arguments are. This is especially common when you're passing your arguments from a child class to a super class.

  • @selomamuzu5803
    @selomamuzu5803 Місяць тому +1

    In for/while else portion of the video, why not just put the else statement within the for loop

    • @davidmurphy563
      @davidmurphy563 Місяць тому

      That's an error, an else needs a preceding if, for or while in the same scope.

  • @leonidas14775
    @leonidas14775 Місяць тому +1

    Java: No, you can't assign that there, it's the wrong type.
    Python: Sure you can assign that. Hours later... Cannot compare int and NoneType. where .. did I go wrong??
    JavaScript: Sure you can assign that, and now your data is garbage. But no errors.

  • @circuithijacker
    @circuithijacker Місяць тому

    Make an async video

    • @vornamenachname906
      @vornamenachname906 Місяць тому

      Bruhhh python and Async , whyyyy 😂

    • @circuithijacker
      @circuithijacker Місяць тому

      @vornamenachname906 why not?

    • @TechWithTim
      @TechWithTim  Місяць тому

      I have a few in my channel already

    • @vornamenachname906
      @vornamenachname906 Місяць тому

      @@circuithijacker Async is usually for performance reasons. Python is 100x-10.000x slower than real programming languages. The GIL gives it the rest. Why would you try to optimize a python code?
      It's a scripting language for rapid prototyping or to glue packages together.

    • @circuithijacker
      @circuithijacker Місяць тому

      @vornamenachname906 I typically use it for event loops and controlling robots. Sometimes, I'll do robot control with ROS for that. I create stuff in Javascript, Java, C, C#, and sometimes C++. But, the performance argument is quite offset by using libraries or calling Ctypes, Cython, or CFFI.
      The rapid development time also really offsets any disadvantages I have ever come across in 45 years of programming. The real disadvantage to Python, as far as I'm concerned, is protecting any IP in the code. But much of what I do is open source. Python is a real language, but if you really want to program in a real language, program in assembly language (any) or onto the bare metal in binary with toggle switches, which I've done and it is an experience everyone should do at least once.

  • @aidanthompson5053
    @aidanthompson5053 Місяць тому

    3:41

  • @shehryarmalik5704
    @shehryarmalik5704 Місяць тому

    Legend

  • @davidlu1003
    @davidlu1003 24 дні тому

    bro, my hair style will be close to yours...😁😁😁

  • @siraj_safed
    @siraj_safed Місяць тому +3

    "with" in python 😇
    "with" in js 💀

  • @avra.d3v
    @avra.d3v Місяць тому

    w

  • @davidlu1003
    @davidlu1003 24 дні тому

    python version 3.12.6 64-bit😁😁😁

  • @usethisforproductivity-tg7xq
    @usethisforproductivity-tg7xq Місяць тому +2

    Too easy brah make a multiprocessing crash course plz

  • @nL841wK68l
    @nL841wK68l 28 днів тому

    this was so clearly just content he crapped out to wrap the hubspot sponsorship - absolutely ridiculous, unsubscribing

  • @this-is-bioman
    @this-is-bioman Місяць тому

    python might by dynamically typed... but who is actually using it? It's a recipe for a disaster. Type hints has been introduced not without reason.

  • @dijei_fullfine
    @dijei_fullfine Місяць тому +10

    For 2025?? C'mon Tim.. this has been explain a lot of times, nothing interesting to me. Why you don't talk about Pydantic AI for example?

    • @promisechymerh
      @promisechymerh Місяць тому +14

      Relax, show off. Let him explain this to beginners.

    • @remek5758
      @remek5758 25 днів тому

      He focuses on begginers dude xd