10 Python Functions That Will Simplify Your Life

Поділитися
Вставка
  • Опубліковано 15 вер 2024

КОМЕНТАРІ • 80

  • @TechWithTim
    @TechWithTim  29 днів тому +7

    If you want to land a developer job check out my program with CourseCareers: techwithtim.net/dev

    • @fikunyinmiadebola5725
      @fikunyinmiadebola5725 28 днів тому +1

      Hello Tim, when are you going to get back to us on the live coaching opportunity.
      P.s. I am the Nigerian kid.

    • @TechWithTim
      @TechWithTim  27 днів тому

      @@fikunyinmiadebola5725 Hi, I am currenly reviewing applications as we speak

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

      Will you add Arabic translation to the course in the future ?

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

      @@TechWithTim Thanks for the reassurance

  • @DrDeuteron
    @DrDeuteron 29 днів тому +11

    the dataclass module also has astuple() and asdict() functions that are really useful when you're sending your data to another function (e.g., a plotter) that doesn't care about all the class structure. And the "field" function is great for defining what each attribute is. I use it on space craft telemetry, and you can attach ranges, alarm levels, units (ounce-inch or N-m, for example), and also LaTex r-strings for status plots. It saves soooooo much boiler plate code. Moreover, it puts all the information in static variables attached to the instance, not a module dictionary, or worse: run-time magic numbers .

  • @watchingwatches7863
    @watchingwatches7863 28 днів тому +2

    One super useful thing for me is named tuple from collections. This allows to get an information of an tuple by using a keyword instead of an number. This way you don't have to keep in mind which index saved what. Especially useful, when you haven't worked for some time on the project

  • @usamashami11
    @usamashami11 28 днів тому +2

    The variety of content you make says a lot about how much knowledge you have! ❤
    I start feeling fomo how can i cover so much content 😅🥺

    • @ridwanray
      @ridwanray 27 днів тому +2

      Tim knows his stuff. I have a similar video for top 30.

  • @Andrumen01
    @Andrumen01 15 днів тому +1

    3:38, never ever use "pickle" unless you are running in a safe and contained space (e.g., a remote Docker container). Since "pickle" loads python objects, it can be used to run malicious scripts! Try to find/create your own (safer!) serialization methods!

  • @Rickety3263
    @Rickety3263 29 днів тому +3

    7:31 or if its a set you can use “if “apple” in strings”

  • @peterkahofficial
    @peterkahofficial 27 днів тому +2

    Hey Tim, thanks for the video! Can you make a video about the new FastHTML framework? It looks really promising!

  • @ridwanray
    @ridwanray 27 днів тому +1

    Good job, Tim.
    I created something similar, but for top 30.

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

    `dataclass` seems like it serves a similar purpose to the `Record` class in Java (allowing for more data-oriented programming), but with slightly different built-in methods. It's interesting that `dataclass` isn't immutable by default though (you have to set `frozen=True`).
    Great video :)

  • @marcincuprjak1005
    @marcincuprjak1005 28 днів тому +2

    not sure if that appeared in the comments, but there is one tricky case: `all` called with the empty iterable returns True, which may be unexpected: `all([]) -> True`

  • @multigladiator384
    @multigladiator384 29 днів тому +1

    16:50 yes!!! decorators are great stuff. there are many many more in standard python. moreover, if you use modules like flask and stuff. you will also see this concept in java environment e.g if you use spring boot for you application server. Imagine you would have check, if the user sending an incoming request is legit, has certain roles, ...you can do this stuff with decorators (code defined in one place!) instead of duplicating code in the beginning of these endpoints

    • @ridwanray
      @ridwanray 27 днів тому +2

      Absolutely correct. I have something similar top 30.

  • @mint9121
    @mint9121 29 днів тому +2

    Thanks for the video. My fav was counter()!

    • @ridwanray
      @ridwanray 27 днів тому

      I created something similar, but for top 30

  • @multigladiator384
    @multigladiator384 29 днів тому +2

    1:55 i use the standard get method for this on dicts... You can pass the value as argument to the get-function, which will be returned, if the key does not exist, e.g false, empty strings..very useful in condition clauses /control structures and moreover in higher concepts (syntactic sugar ) like list- and dict comprehensions, where you can use if-structures as well.
    Imagine you want to list compehend some values from multiple dict elements, which are in a list and share the same key mapping to the desired value in each one...
    vals = [val["someKey"] for val in myDict if val.get("someKey",False)!=False]
    now imagine these val["someKey"] are strings and you do not want the empty strings in your final vals list:
    vals = [val["someKey"] for val in myDict if val.get("someKey",'').strip()!='']
    Of course, you can first cast them to str or whatever, if the type is any because of the nature of this dynamically typed programming language

    • @DrDeuteron
      @DrDeuteron 29 днів тому +2

      "is not False"
      "!= False" is unpythonic,
      But since the default is None:
      val.get("someKey") is not None
      is preferred, unless None is an expected value ofc.

    • @multigladiator384
      @multigladiator384 29 днів тому

      @@DrDeuteron You are correct

    • @DrDeuteron
      @DrDeuteron 29 днів тому

      @@multigladiator384 Other languages!
      🤢🤢🤮

  • @chrisogonas
    @chrisogonas 29 днів тому +1

    Awesome! Thanks for sharing.

  • @jlawless1984
    @jlawless1984 28 днів тому +1

    Good stuff, thank you.

  • @cloudzero2049
    @cloudzero2049 29 днів тому +1

    Thanks for the video. :)

  • @dimox115x9
    @dimox115x9 29 днів тому +1

    Nice video, thank you very much :)

  • @Jody_Halliday
    @Jody_Halliday 29 днів тому +5

    Great job, thank you!
    🧡

  • @multigladiator384
    @multigladiator384 29 днів тому +1

    14:20 yea man itertools, now we get to the stuff I am talking about in my previous comment

  • @AvinashSingh-kl6oz
    @AvinashSingh-kl6oz 22 дні тому

    Rather than using the pprint module which does not work as good with nested lists and dictionaries, I prefer to write my own pprint function like this:
    import json
    def pprint(data: Dict[Any, Any]):
    print(json.dumps(data, indent=4))
    This gives us a lot cleaner output

  • @ded_linux
    @ded_linux 29 днів тому +1

    ❤❤❤❤ cool funcs thanks Tim

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

    Useful content as usual, thanks 👍

  • @multigladiator384
    @multigladiator384 29 днів тому +1

    Good video my man

  • @eboyd53
    @eboyd53 29 днів тому +2

    Q: you stated "wb" and "rb" is "write bytes" and "read bytes" in my many years of data analysis I always stated "binary" where you state "bytes"; the question is where did you find that it means "bytes"?

    • @Borszczuk
      @Borszczuk 29 днів тому

      Correct, "b" stands for binary, not bytes. He was just wrong (or never read the manual :-)

    • @Borszczuk
      @Borszczuk 29 днів тому

      @neckbro This is not a "poem analysis class" where you can have as many interpretations as pupils in the class. And no, you cannot call it as you like, esp. if you teach others incorrectly.

    • @malsi1504
      @malsi1504 26 днів тому

      ​@@Borszczuk If I learned API stands for awesome pizza inspector, which is the guy who defined rules that enable applications to communicate, and it must be used to request data or services. if I learn that a GUI is a gorgeous unicorn interface which is a type of user interface that uses visual elements to interact with a computer, and it uses windows, icons, menus, and pointers to interact with the user, if I recall that an IP Address is an incredible pizza address which is a unique numerical label assigned to each device connected to a computer network, and it must be unique and follow a specific format ...
      You might notice that I have completely incorrect descriptions of terms. But in programming... Notice how the parts that are correct are the only parts that NEED to be. If you have these wrong you create programming errors.
      It's better not to be wrong about what you teach. But it's like teaching a historical artifact. You teach what it was, what it meant, how it was used, when it was used. But imagine the label was completely wrong. That's most things we learn in history. Often we don't correctly know what the label was when it was used. Sometimes we only know if it's existence thru translation. Sometimes the labels or language used is so different from the one I'm teaching in, their label uses sounds and meanings that we don't have in English, so instead we will probably give it a romanized label and forever forward refer to that thing with that label. Completely changing the original "name" of the object. The fact that it simply doesn't change why it was used when it was used how it wasrd how old is it what does that mean for the advancement of that culture, etc.... none of that important stuff changes. We just have the label wrong.

  • @DrDeuteron
    @DrDeuteron 29 днів тому +1

    I don't think enumerate returns an index, as evidenced by the "start=" keyword..rather it provides a count. Useful for managing matplotlib subplots, for example.

    • @ridwanray
      @ridwanray 27 днів тому +1

      It does return index.

  • @mlguy8376
    @mlguy8376 29 днів тому +1

    Try unpacking a pickled class with out a class definition available (for whatever reason)

  • @selvanm2872
    @selvanm2872 29 днів тому +2

    hai i from india in tamilnadu

  • @gurpreetchahal
    @gurpreetchahal 29 днів тому +1

    I want your advice Sir i am a QA engineer manual and automation, in future there will be no job for QA , should i switch to Developer? please help i am confused

    • @DrDeuteron
      @DrDeuteron 29 днів тому +1

      idk, I make satellites, and we got QA all up in our business,

    • @RickGladwin
      @RickGladwin 28 днів тому +1

      I think there will still be a use for QA in the future, though QA will have more and more to do with testing things that can't be automated, that require a human's evaluation.
      If there is a requirement in the spec that says "this button should be visible if the user is logged in", that's something that can be automated and doesn't belong to QA. If there is a requirement that says "a user should be easily able to find their transaction history", that's something that can't be automated and needs a QA tester.
      If you are worried, I would recommend looking for those parts of QA that are in increasing demand, like evaluating user interfaces based on visual impairments and other disabilities, and always increasing your skills and expertise.
      Good luck!

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

    Very useful!

  • @hackedbyBLAGH
    @hackedbyBLAGH 29 днів тому +1

    Thank you

  • @nephxio
    @nephxio 29 днів тому

    Would it be accurate to think of a dataclass as like a struct with a little extra functionality from other languages like C++?

  • @marcinziajkowski3870
    @marcinziajkowski3870 27 днів тому

    4:42 what if class is not defined before load object from pickle file ?

  • @multigladiator384
    @multigladiator384 29 днів тому

    12:28 yes, list- and dict comprehension are great syntactic sugar. but be aware, that there are cases where a simple for loop will outperform it, instead of doing multiple (lets' say 4) list/dict comprehensions on one and the same list/dict object you can do all the operations in one explicit for loop (1n vs 4n speaking from complexity pov - yes this in in theorie stil in the scope of just n but in reality it can matter if there are thousands of elements in the underlying list, dict)

    • @DrDeuteron
      @DrDeuteron 29 днів тому

      performance over clarity? wt_?

    • @multigladiator384
      @multigladiator384 29 днів тому

      @@DrDeuteron I have to disagree here!
      In many cases, it is important!
      You may also put it as Usability/User-Experience over code-clarity?
      Every half-decent (classically taught) programmer will be able to read a for loop.. Thus, I do not see the clarity enhancement here really but the performance advantages. As I said: If you have lists with thousands of objects or whatever, it will be a difference of multiple seconds until the server responds.
      In most cases of applications servers you have customers/users, that want a relatively "fast" experience and not wait multiple seconds because backend pythonists like to use comprehensions everywhere..

    • @multigladiator384
      @multigladiator384 29 днів тому

      @@DrDeuteron In that regards I do not give a fuck if you call my code "pythonic". It is performant and user-friendly and still readable for every half-decent programmer... This "pythonic" shit is most of the time ideological and not applicable in reality where you have a webapplication, with thousands of users, that do not want to wait 5 seconds on every third request or what

    • @multigladiator384
      @multigladiator384 29 днів тому

      @@DrDeuteron For the context: I work in a data warehouse and build analysis tools, often big amounts of data are queried and this "pythonic" way takes way moooore time compared to a simple for loop over the data

    • @multigladiator384
      @multigladiator384 29 днів тому

      And me personally would use Spring Boot instead of flask but it is how it is and I am glad to have ajob :D

  • @Acanis87
    @Acanis87 13 днів тому

    pickle, hmmm... Used that to store cookies but it might be way more useful than I thought...
    Is it a good practice to save and load ui settings with that m
    I have a Config class that stores everything and iam writing settings.json files so far.
    I could just use pickle and spare a lot of time, huh?!

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

    I'm wondering how dataclass works with pydantic. They have the same syntax

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

    I’m a year into coding I can make small projects but like I wanna make really complex things what does chat or Tim recommend

  • @multigladiator384
    @multigladiator384 29 днів тому +2

    8:02 "all" function should be mentioned in this context, too. "any" and "all" are really useful.

    • @multigladiator384
      @multigladiator384 29 днів тому +1

      8:35 okay, you just mentioned "all" function .. I am sorry i have commented too early here..

    • @DrDeuteron
      @DrDeuteron 29 днів тому +1

      is any()'s evaluation short-circuited?

    • @multigladiator384
      @multigladiator384 29 днів тому

      @@DrDeuteron the first "True" will end the logical OR ("any" function) since the whole expression evaluates to True. No need for further evaluations in contrast to the logical AND ("all" function), which requires each single expression to be True so the complete expression evaluates to True. You know that

    • @ridwanray
      @ridwanray 27 днів тому +1

      Yes. I have for top 30

  • @qwerty11111122
    @qwerty11111122 18 днів тому

    Chain is orthogonal to zip?

  • @toancdu
    @toancdu 23 дні тому

    I have an error when run program, when I input the Video, then choose folder for download, but it shows:" HTTP error 400: bad request", Please help me why?

  • @rydmerlin
    @rydmerlin 28 днів тому +1

    Try pprint with your defauldict

  • @itznukeey
    @itznukeey 13 днів тому

    Note that pickle is unsafe - do not load any pickles you don't trust because they can execute arbitrary code

  • @DrDeuteron
    @DrDeuteron 29 днів тому

    I'm stuck at 3.8 for security, and dataclass is available.

  • @marjoncajocon4219
    @marjoncajocon4219 27 днів тому

    I thought dataclasses is from python 3.0, im using python 3.7 and dataclasses is available by default

  • @marcinziajkowski3870
    @marcinziajkowski3870 27 днів тому

    3:24 {3,2,1} ? Why not {1,1,1} ?

  • @omniu
    @omniu 15 днів тому

    What is your theme?

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

    Can anyone help me with Data structures, where do I start

  • @Larimuss
    @Larimuss 29 днів тому +1

    Can you please do a new tutorial with more advanced python? 😅😊

    • @ridwanray
      @ridwanray 27 днів тому

      Sure. Project based

  • @ethiogazeta
    @ethiogazeta 29 днів тому +1

    1St

  • @HRamazanoVv
    @HRamazanoVv 29 днів тому

    1 min ago is 😛😛😛😛😛😛😛