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 24 วันที่ผ่านมา

      @@TechWithTim Thanks for the reassurance

  • @DrDeuteron
    @DrDeuteron 28 วันที่ผ่านมา +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 27 วันที่ผ่านมา +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

  • @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!

  • @usamashami11
    @usamashami11 27 วันที่ผ่านมา +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.

  • @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 27 วันที่ผ่านมา

    `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 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา

      @@DrDeuteron You are correct

    • @DrDeuteron
      @DrDeuteron 28 วันที่ผ่านมา

      @@multigladiator384 Other languages!
      🤢🤢🤮

  • @chrisogonas
    @chrisogonas 29 วันที่ผ่านมา +1

    Awesome! Thanks for sharing.

  • @jlawless1984
    @jlawless1984 28 วันที่ผ่านมา +1

    Good stuff, thank you.

  • @cloudzero2049
    @cloudzero2049 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา

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

    • @Borszczuk
      @Borszczuk 28 วันที่ผ่านมา

      @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 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา +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 28 วันที่ผ่านมา +1

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

    • @RickGladwin
      @RickGladwin 27 วันที่ผ่านมา +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 24 วันที่ผ่านมา

    Very useful!

  • @hackedbyBLAGH
    @hackedbyBLAGH 28 วันที่ผ่านมา +1

    Thank you

    • @ridwanray
      @ridwanray 27 วันที่ผ่านมา

  • @nephxio
    @nephxio 28 วันที่ผ่านมา

    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 28 วันที่ผ่านมา

      performance over clarity? wt_?

    • @multigladiator384
      @multigladiator384 28 วันที่ผ่านมา

      @@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 28 วันที่ผ่านมา

      @@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 28 วันที่ผ่านมา

      @@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 28 วันที่ผ่านมา

      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 28 วันที่ผ่านมา +1

      is any()'s evaluation short-circuited?

    • @multigladiator384
      @multigladiator384 28 วันที่ผ่านมา

      @@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 22 วันที่ผ่านมา

    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

    • @ridwanray
      @ridwanray 27 วันที่ผ่านมา

  • @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 28 วันที่ผ่านมา

    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 24 วันที่ผ่านมา

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

  • @Larimuss
    @Larimuss 28 วันที่ผ่านมา +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 😛😛😛😛😛😛😛