Enums Explained In Under 12 Minutes In Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 22 ธ.ค. 2024

ความคิดเห็น •

  • @cmv743a
    @cmv743a 3 หลายเดือนก่อน +29

    FYI 9:04 it auto completed to black instead of blue.
    Interesting video. Thanks

    • @Indently
      @Indently  3 หลายเดือนก่อน +4

      I was fighting with autocomplete each time I wrote blue, and it still got me in the end!

  • @piotrrybka318
    @piotrrybka318 16 วันที่ผ่านมา

    Very good and clear explanation of enums, especially flags. What I'm missing is:
    - getting the value and the name of the enum constant (either one is sometimes useful e.g. in printing the selected value, logs, converting the selection to, let's say, SQL query),
    - StrEnum type (if the enum constants have to be strings, it's easier to get the string value out of StrEnum than an Enum),
    - iterating over all values of an enum type (useful e.g. with GUI constrols, like a dropdown).
    But overall, a very good introduction.

  • @theglobalsouth9680
    @theglobalsouth9680 3 หลายเดือนก่อน +14

    python doing bitflags is nuts as heck. super awesome! i am ready to use it

  • @luismolon
    @luismolon 19 วันที่ผ่านมา

    I came here thinking "ok, already know about enums". Then I just discovered Flag class. Awesome video. Thanks!

  • @_DT_
    @_DT_ 3 หลายเดือนก่อน +60

    Flag works like:
    RED = 1 (001)
    GREEN = 2 (010)
    BLUE = 4 (100)
    ALL = 7 (111) because 001 | 010 | 100 = 111

    • @minepoint2794
      @minepoint2794 3 หลายเดือนก่อน

      4 Bit Binary:D (but without the last)

    • @Nbrother1234
      @Nbrother1234 2 หลายเดือนก่อน +1

      @@minepoint2794So it’s 3 bit binary?

    • @minepoint2794
      @minepoint2794 2 หลายเดือนก่อน +2

      @@Nbrother1234 Yes, that. I actually didn't know that existed 💀🤦‍♂

    • @Nbrother1234
      @Nbrother1234 หลายเดือนก่อน

      Then PURPLE = 5?

    • @minepoint2794
      @minepoint2794 หลายเดือนก่อน +1

      How come?

  • @efe099
    @efe099 3 หลายเดือนก่อน +2

    I was just planning to dive in to Enums thanks man

  • @dragweb7725
    @dragweb7725 3 หลายเดือนก่อน +10

    i knew about Enums, but not about Flags ! Maybe i really should check the whole documentation of the enum package, it seems it haven't revealed all its best secrets yet !

    • @Indently
      @Indently  3 หลายเดือนก่อน +6

      I swear that when I was reading the docs a couple years ago I never noticed the Flag bit. Goes to show that re-reading the docs isn't always a bad idea!

  • @gibbytravis
    @gibbytravis 15 วันที่ผ่านมา

    This is a cool feature. I usually just create a module that contains a bunch of constants in cases like this. I think I'll start using an Enum class instead.

  • @luffymonkey6967
    @luffymonkey6967 3 หลายเดือนก่อน

    great coverage of enums, thank you!

  • @michaelhoffmann2891
    @michaelhoffmann2891 3 หลายเดือนก่อน

    I find I use StrEnum with auto() somewhat frequently, though its usefulness some would debate. It's nice to have one clear place to replace a string, rather than having trust my IDE to do a find/replace exactly where I want it.

    • @Indently
      @Indently  3 หลายเดือนก่อน +3

      I just learned about IntEnum & StrEnum, will have a video out on that soon :)

  • @vegameta
    @vegameta 3 หลายเดือนก่อน +3

    а для чего делать наследование от Enum для строковых значений? для таких случаев имеется StrEnum

    • @sergiuszkot8116
      @sergiuszkot8116 3 หลายเดือนก่อน +1

      I don't understand what have you said but I am agree with you that StrEnum should be used there :)

    • @vanka_feelgood3000
      @vanka_feelgood3000 3 หลายเดือนก่อน +1

      Also IntEnum when you need integers

  • @KumR
    @KumR 3 หลายเดือนก่อน +4

    Thank you for finding us this info...However, Is enum really essential ? I am not able to comprehend why would it be needed ? Just for cleaner looking code ?

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

      It will save you from bugs, typos are common in programming.

    • @ЕвгенийКрасилов-о9о
      @ЕвгенийКрасилов-о9о 9 วันที่ผ่านมา

      Above + in pattern matching static type checker will warn you if you don't exhaust all variants. I find it extremely useful.

  • @danielcrompton7818
    @danielcrompton7818 3 หลายเดือนก่อน +1

    I’m so glad python added match case

    • @GameGame-rp4xc
      @GameGame-rp4xc 3 หลายเดือนก่อน

      I was watching this video and thinking kinda: "is it really python? It doesnt have match statement when i started to learn it and even after 3 years using it - it is a first time i meet usage of match

  • @rakeshmarka6317
    @rakeshmarka6317 3 หลายเดือนก่อน

    Nice video 👍. Thank you !!

  • @murphygreen8484
    @murphygreen8484 3 หลายเดือนก่อน +10

    Hey Indently! Would you want to do a video refactoring someone's (mine) code?

    • @boboblacksheep5003
      @boboblacksheep5003 3 หลายเดือนก่อน +2

      Please refactor my code too 😂

    • @jamesford3282
      @jamesford3282 3 หลายเดือนก่อน +1

      are You guys real?

    • @murphygreen8484
      @murphygreen8484 3 หลายเดือนก่อน

      The code works and is a small program. Was thinking it could be like the code roasts that ArjanCodes does

    • @aflous
      @aflous 3 หลายเดือนก่อน +2

      ​@@murphygreen8484I am an experienced python dev and really like code roasting/refactoring. I've always wanted to start a TH-cam channel just to do that. Would you like me to start with yours?

  • @withjk7
    @withjk7 3 หลายเดือนก่อน

    please do one video on how to dind difference between instance and library vs package vs module

  • @marionowera5602
    @marionowera5602 3 หลายเดือนก่อน

    I think you shouldn't use str as type hint to enum members?

  • @kadircalloglu2848
    @kadircalloglu2848 3 หลายเดือนก่อน

    and also you can use bitwise

  • @Observer552
    @Observer552 3 หลายเดือนก่อน +2

    Is boolean actually an Enum with 2 constants?

    • @harcos0608
      @harcos0608 3 หลายเดือนก่อน

      No

    • @gibbytravis
      @gibbytravis 15 วันที่ผ่านมา

      Good question, but no. It's actually a subclass of Int in Python. 1 = True, 0 = False.

  • @payton6_
    @payton6_ 3 หลายเดือนก่อน +6

    For those watching: please don’t use f-strings if you aren’t going to use the functionality of f-strings. Readability comes in to play here due to intent

  • @CrateSauce
    @CrateSauce 3 หลายเดือนก่อน

    Hey man, this video is great! I cant stop hearing you talk about Colas tho lol.
    Color is pronounced CUH-ler in the US and CUH-luh in the UK
    Thanks for the tutorial!

  • @josemanuelfernandez4999
    @josemanuelfernandez4999 3 หลายเดือนก่อน

    Awesome!!!!

  • @_a_x_s_
    @_a_x_s_ 3 หลายเดือนก่อน

    You forget the IntEnum which makes it quite useful to be stored as an integer constant directly into the database.

  • @aodhai
    @aodhai 2 หลายเดือนก่อน

    a lamp turning on an off and only having two states is literally a perfect case for a boolean and explicitly not an enum

    • @lukelauder5465
      @lukelauder5465 2 หลายเดือนก่อน

      I mean… unless you want the words “ON” and “OFF” or something to be your return value or something… the joy of coding is there’s no universal truth and everything is subjective to one thing and one thing only: did it do what you wanted it to or not… I have lights that have 3+ states… ain’t no bool got that! Maybe a flag eh? EH? 😂

    • @aodhai
      @aodhai 2 หลายเดือนก่อน

      @@lukelauder5465 If i came across enums with on or off attached to them relating to the state of some class instead of using __repr__ or __str__ to represent that aspect of the class, id be in a bad way

  • @ppgiga
    @ppgiga 3 หลายเดือนก่อน

    I literally looked this up yesterday...

  • @vicentcaselles4807
    @vicentcaselles4807 3 หลายเดือนก่อน

    What's the difference between using flags and sets?

    • @a-jjjjjjj
      @a-jjjjjjj 3 หลายเดือนก่อน +1

      They are conceptually very similar. Flags define the "universe" of the set, allowing certain operations like complements while also restricting what they can contain. Flags are also immutable and cannot be nested, unlike regular Python sets.

    • @urknidoj422
      @urknidoj422 3 หลายเดือนก่อน +1

      Using flags allows you to store multiple states in a single integer, which makes it more efficient to save and query in a database, compared to using sets.

  • @DrDeuteron
    @DrDeuteron 3 หลายเดือนก่อน +5

    | is neither union nor addition, it’s bitwise or.

  • @Andrew-Gosling
    @Andrew-Gosling 3 หลายเดือนก่อน

    Nice

  • @אלדרגארט
    @אלדרגארט 3 หลายเดือนก่อน

    9:02 you mistake blue with black (wrote black twice)

  • @akashahmad4779
    @akashahmad4779 3 หลายเดือนก่อน

    Greate

  • @AH-tx4ce
    @AH-tx4ce 2 หลายเดือนก่อน

    What is enum?

  • @rk_studio585
    @rk_studio585 3 หลายเดือนก่อน

    ❤❤

  • @compositeboson123
    @compositeboson123 3 หลายเดือนก่อน

    indently ı think my lamb is possesed what do ı do

    • @Indently
      @Indently  3 หลายเดือนก่อน

      If your lamp is turned on without electricity, you sell it to scientists and become a billionaire

    • @compositeboson123
      @compositeboson123 3 หลายเดือนก่อน

      @@Indently oh really ımma do t- *gets assasinated

  • @lukelauder5465
    @lukelauder5465 2 หลายเดือนก่อน +1

    It’s too bad he didn’t catch himself on ALL not being 31 rather than 27 because black was included in all instead of blue! Ha! I totally feel that typo tho… UGH!

  • @Microphunktv-jb3kj
    @Microphunktv-jb3kj หลายเดือนก่อน

    never used python
    is python now statically typed language or smt ?

  • @rk_studio585
    @rk_studio585 3 หลายเดือนก่อน

    ❤❤