10 Neat Ways To Use Underscore In Python

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ม.ค. 2025

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

  • @troshujin
    @troshujin 7 หลายเดือนก่อน +12

    Hey, I'm loving these videos!
    I consider myself pretty good at python so I started watching to make sure I'm not missing any knowledge.
    But instead I find myself watching your videos just because I enjoy them!

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

      Really appreciate it! Makes me happy to hear this :)

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

      @@Indently Please keep making videos! I'll be eagerly waiting!

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

      Same. I really enjoy these. They are concise, informative, and I find find them quite relaxing. :)

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

      ditto

  • @landsgevaer
    @landsgevaer 7 หลายเดือนก่อน +37

    Hello Bob!
    BTW, in the final example with "case _", the underscore also acts like any variable, matching true to any expression and capturing it.

    • @jamesarthurkimbell
      @jamesarthurkimbell 7 หลายเดือนก่อน +5

      It doesn't capture in the sense of assignment to the name, e.g. you can say
      case x: return f"{x} not found"
      but if you tried something like
      case _: return f"{_} not found"
      you would get a name error

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

      Hello

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

    Hi Bob!
    Loved the vid, thanks a lot :)

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

    Hello, why didn't you use type annotations when declaring self.brand?

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

    what is the Self type used for and how do you use it?

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

    What's the code edittor and plug in?

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

    Thank for the great tips. Being new to python and learning it from books, I noticed that all you variable declaration are followed by colon (Ex: values: list[int] = ...) as well as declaring the return type of functions or methods. Is this a new version of Python? Does Python enforces this like in other languages? Initially, I was confused reading the code such as "state: tuple[str, str, int] = ('Bob', 'Programmer', 27)" as most books I read don't use that format and other languages use the other way (Ex: int score = 75).

    • @dragweb7725
      @dragweb7725 7 หลายเดือนก่อน +8

      it is called "type annotation" or "type hint", it is a feature that is not enforced by python, the python interpreter even ignores it, but it is good practice to use it for several reasons:
      1) Dynamic code editors (pycharm, VSCode, etc...) will use them to infer variable types and warn you when type hint and value do not match
      2) the same code editors can better help you with apropriate contextual propositions when you call methods on your variables
      3) type hinting arguments in functions makes said function more self-explanatory, it is part of a good clear documentation
      4) if you install a static python type checker such as mypy, it is useful for it to work as expected

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

      Type annotations were introduced in python 3.5, which was released 10 years ago (in 2014), so no, it's not a new feature.

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

      The Python language has multiple versions. Which version was your book teaching?

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

    Hi Bob. Awesome channel

  • @banjohead66
    @banjohead66 7 หลายเดือนก่อน +32

    I was surprised that you didn't cover this in the number formatting segment but the underscore can also be used as an f-string formatter to render large numbers:
    my_big_int: int = 1242998325235625656975629564965932645346536952465
    print(f"{my_big_int:_}") #

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

      Wow, this is cool! :)

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

      @@rusektor You can do a comma instead of the underscore for comma separation -- cool stuff!

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

      @@banjohead66 Oh! That works! Is there also something interesting? ))) I know that I can write print(f"{num = }" instead of print(f"num = {num}") 🙂

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

      @@rusektor Yeah! I use that one all the time! It's incredibly useful/convenient!

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

      ​@@rusektor He made a whole video about cool f-string syntax where he covered this number formatting and other useful tricks

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

    hi, I like your videos and so bought all your lessons on udemy. Hope I can grasb python! Thank you for the videos!

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

      Glad to hear you enjoy the videos! Thank you for the support! Happy learning :)

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

    very helpful

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

    Thanks you 🎉

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

    By the way in the 2nd example you mixed up camelCase and PascalCase

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

    Good one!

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

    Awesome.

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

    Hi Bob, when did you learn python?

  • @ego-lay_atman-bay
    @ego-lay_atman-bay 6 หลายเดือนก่อน

    Wait, name mangling exists?

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

    Can you please also make a game in python.??

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

    Hello Bob!

  • @JuanPerez-iu9vk
    @JuanPerez-iu9vk 7 หลายเดือนก่อน

    TY

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

    Hello, Bob!

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

    Hi Bob!

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

    Thumbs up for “in modern English known as a comma”. 😂

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

    Gr8 m8

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

    Cool_cool_cool_😬

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

    I'm going to come clean guys... I use snake case for
    functions eg do_this_thing and camel? For variables eg newVar, constants stay capital, anyone have a better idea to maintain readability of all the different methods/vars?

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

      I generally find it best to adhere to the conventions of whichever language I'm programming in.
      So in C, snake_case_for_variables_and_functions, camelCaseForTypedefsAndStructs, and, UPPER_SNAKE_CASE_FOR_CONSTANTS_AND_MACROS.
      In Java, camelCaseForVariablesAndMethods, PascalCaseForClassesAndInterfaces, UPPER_SNAKE_CASE_FOR_CONSTANTS, and, dot.case.for.packages.
      Other devs expect these conventions to be upheld and many mistakes can be avoided by keeping your code consistent with them.

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

      One project, they set the 'standard' to use camel case for vars and funcs, but for vars the first letter was always lower case. So something like:
      myAge: int = 42
      UpdateAge(currentAge: int) -> int
      return curretAge+1
      But some folks don't care so much, others get quite passionate. Use something but most important, stick with your choice.

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

      @@mikefochtman7164 Agreed. The most important thing is that your code is consistent. FYI, the first letter of the variable being lowercase is camel-case. If the first letter is upper case along with the first letter of all other words in the variable name, it's Pascal-case.

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

    Olá Bob!!!

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

    Name mangling. I never realized how awkward this term is. "namangling".
    Almost forgot... Hi Bob!

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

    I think the only way to make anything "private" is using a decorator/wrapper, right?

    • @vlc-cosplayer
      @vlc-cosplayer 7 หลายเดือนก่อน +1

      There's no such thing as "private", ever! Even in languages with managed runtimes, if you find an arbitrary code execution bug, you can read any piece of memory or execute any piece of code, including those marked as private. 👀

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

      ⁠@@vlc-cosplayerIn Java with Security Manager enabled, you‘ll have a hard time as such bugs are considered harmful and chased down quickly.

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

    Use _('string to translate ')

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

    In 8-th You didn’t mention if hidden id is still accessible via self.__hidden_id inside the class definition.

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

      It is, otherwise what would be the point? store unnecessary data?

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

    🚀💥

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

    i think you already made that video?

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

    Bob = True

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

    I like the underscore for tuple unpacking esp. when you only need one value from a whole bunch. As the underscore is a "throw away variable" you can use it more than once. For example you only want the profession from the following, poorly created example, you can unpack it like this:
    ("Bob", "Smith", "Developer", "Python") = _, _, profession, _

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

    English American have been bad with Numbers, too. The confusion is perfect after the million

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

      I also am English American and have been very bad with Numbers, too.
      Such perfect confusion...

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

    A variable/function you can(/should) only use in its class OR subclass is not (semi)private, that's (semi)protected. When it's (semi)private, it also can't(/shouldn't) be used in a subclass.
    I really wonder why you don't have any actual private or protected variables/functions you CAN'T even use somewhere else even if you would try. That's pretty standard in other object oriented languages like C++, C#, Java, or PHP and I don't see a reason why Python shouldn't have this.

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

    Hello Bob

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

    Yee, i knew it

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

    Hello bob

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

    If your example were in an array you would count from 0, so there would be eleven examples.

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

    How's it going, Bob?

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

    Yo, Bob, wanna some bananas?

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

    Who is Bob?

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

    My underscore game is weak.

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

    Hey bob..

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

    Hello _!

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

    what Bob did to you?)))

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

    still no comments :( im telling this instead of "im second"

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

    So i guess you dont use your brain to read 1_000_000_000_000

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

    Hi Bob!

  • @Random-Boy_py
    @Random-Boy_py 7 หลายเดือนก่อน +2

    Hi Bob!