What is Scope in Python??

Поділитися
Вставка
  • Опубліковано 12 вер 2024
  • ⭐ Join my Patreon: / b001io
    💬 Discord: / discord
    🐦 Follow me on Twitter: / b001io
    🔗 More links: linktr.ee/b001io
    Background Music:
    Gentle Lo-Fi Vlog Background Music | Cookies by Alex-Productions | onsound.eu/
    Music promoted by www.free-stock...
    Creative Commons / Attribution 3.0 Unported License (CC BY 3.0)
    creativecommon...

КОМЕНТАРІ • 60

  • @armpitpuncher
    @armpitpuncher Рік тому +28

    Would have been good if you covered how scopes relate to loop bodies and if/else blocks, because it's not intuitive in python. For example, in every language which I'm familiar with besides python, a variable declared inside an if block is scoped to that block, and not accessible outside it. This is not the case in python.

  • @AntonioZL
    @AntonioZL Рік тому +10

    2:34 while this is indeed obvious for anyone experienced with interpreted languages, it could be confusing for begginers coming from compiled languages, like C, which is quite commonly used in intro to programming classes, so it's worth to point it out.

    • @epsi
      @epsi Рік тому +1

      I think you meant it's obvious for anyone experienced with compiled languages.
      Some interpreted languages like JavaScript, awk, various BASIC dialects, and some flavors of shell script do not require variables to be defined before they are used.
      I've never encountered a compiled language that allows you to use a variable without first defining it.

  • @MoonFrogg
    @MoonFrogg Рік тому +11

    these are VERY important things to learn, love the video and thanks for the clear + concise explanation!!

  • @NickWrightDataYT
    @NickWrightDataYT Рік тому +8

    Great stuff! Good to learn more about how Python "thinks" lol

  • @aliplayer1
    @aliplayer1 Рік тому +5

    Love the videos. Concise yet full of information for new learners. Thanks.

  • @porlando12
    @porlando12 Рік тому

    Wow this was awesome. Your channel is criminally underrated!

  • @chsh9993
    @chsh9993 8 місяців тому

    Your explanation of coding is truly ingenious. Suddenly, all those encrypted coding lines aren't that confusing anymore.

  • @SHAYANGUHA
    @SHAYANGUHA 3 місяці тому +1

    really informative
    😍😍😍😍😍

  • @bab4953
    @bab4953 8 місяців тому

    ur channel deserves more subs. Your content is amazing👍

  • @LilJollyJoker
    @LilJollyJoker 9 місяців тому +1

    Thank you for this video!

  • @nadiaezzarhouni300
    @nadiaezzarhouni300 Рік тому +2

    Bro you are insane, can you do a python course , by the way where do you get all this knowledge

  • @曾忠凱
    @曾忠凱 Рік тому

    Man your video really helps. I couldn't understand the explanation on the official doc. Tyvm!

  • @tobiasm161
    @tobiasm161 Рік тому +1

    Great explanation with examples ! Bravo
    I would love to see kind a approach about OOP. Because sometimes there is an overkill to use it. But otherwise its good practice i think. What do you think or whats your approach. I tend to do less OOP cause often "one time" use of my scripts

  • @sayanta01
    @sayanta01 4 місяці тому

    thanks man

  • @BiyHappy
    @BiyHappy Рік тому

    Thanks man what a smooth explanation

  • @mind_of_a_darkhorse
    @mind_of_a_darkhorse Рік тому +1

    Great explanation of scope! You made it very easy to understand!

  • @alanlado1602
    @alanlado1602 Рік тому

    I like the way you explain things. Subscribe button smashed.

  • @yaraa.a5237
    @yaraa.a5237 8 місяців тому

    the music is fire it got me dancing. and it remind me of minecraft

  • @killerboyak
    @killerboyak 8 місяців тому

    Amazing Explanation , Thank you.

  • @arunalakmal9031
    @arunalakmal9031 6 місяців тому

    Thnak you broo!!!

  • @adammarley5616
    @adammarley5616 9 місяців тому

    Beautifully taught!

  • @elancedin7204
    @elancedin7204 Рік тому

    bro literally did a few vids and already 82k subs, gut 4 u

  • @soniablanche5672
    @soniablanche5672 9 місяців тому

    I knew of "global", but I didn't know about "nonlocal"

  • @birzhanabdikhan8175
    @birzhanabdikhan8175 10 місяців тому

    1:37 by first-indentation he means that variable was defined outside of classes and functions. This part confused me too because I though that he meant 1st line.

  • @SusanAmberBruce
    @SusanAmberBruce Рік тому

    Probably one of the most important videos to watch if someone is new to python

  • @naifal-ghamdi483
    @naifal-ghamdi483 Рік тому

    Best scope explanation ever, many thanks to you

  • @yazanabdoush7030
    @yazanabdoush7030 5 місяців тому

    Can you share what color theme you are using?

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

    If there were 4 functions nested then would there be a way to access the 2nd function’s variable in the innermost 4th function?

  • @eric_d
    @eric_d Рік тому

    I didn't participate in the poll, but from very recent experience I knew it would be an error as soon as I looked at it. A couple weeks ago I was working on a script where I wanted to redefine a global variable, but I didn't use global inside the function. What's even weirder is I tried doing it with 2 different variables, and only the second one gave an error. The first variable was redefined, and printed what I was expecting, but then I got the error when trying to print the second variable. This may be a bug in Python 3.10 that I need to further explore.

  • @montagetm
    @montagetm Рік тому +2

    What if you want to reference a local variable two scopes out, how would you do that? Nonlocal only references the previous scope and global only references the global scope.

    • @epsi
      @epsi Рік тому +1

      def outer():
      x = 1
      def inner():
      # x = 2
      def func():
      nonlocal x # refers to x=1
      If you uncomment the x=2 line, you'd be referencing that x variable instead, and you'd be forced to rename one of those two x variables to be able to reference both of them.
      The nonlocal keyword is kind of a hack because Python is designed in a way that it prefers creating shadowed variables instead of unexpectedly modifying variables from outside scopes.
      Unfortunately, that means you encounter variable shadowing issues more frequently if you don't name things uniquely enough, along with the surprising error that is the answer to the poll question.

    • @montagetm
      @montagetm Рік тому

      @@epsi so the only way is basically to rename them or remove them

    • @epsi
      @epsi Рік тому +1

      @@montagetm
      Yes, but that's true for any other language as well.
      Variable shadowing: just don't do it.

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

    Which theme you are using?

  • @faisal99129
    @faisal99129 Рік тому

    very good explanation... very helpful

  • @vuIent
    @vuIent Рік тому +1

    Good video

  • @udishe
    @udishe Рік тому

    Ty

  • @KrAsHeDD
    @KrAsHeDD Рік тому

    Thanks, you answered my awaited long question.

  • @Nicky411
    @Nicky411 11 місяців тому

    Lovely video!

  • @TMinusRecords
    @TMinusRecords Рік тому +2

    9:17 This whole thing is a disgusting mess

  • @fatiheee1996
    @fatiheee1996 Рік тому

    Thank you for this great explaination!

  • @Joe_Brig
    @Joe_Brig Рік тому

    2:30 not obvious if you coming from a compiled language.

  • @mossdem
    @mossdem Рік тому

    Could you do a video which does a clear breakdown of classes?

  • @karthiksundaram544
    @karthiksundaram544 Рік тому

    Great stuff

  • @charlesrussell6183
    @charlesrussell6183 Рік тому

    great explanation

  • @vvv3876
    @vvv3876 Рік тому

    I learned this on practice, i wish i viewed this video before

  • @swaggitypigfig8413
    @swaggitypigfig8413 Рік тому +2

    Can you do a video on 360 no scope in Python next?

  • @dongchen7940
    @dongchen7940 11 місяців тому

    There is no compile time in python, it is called interpret.

  • @saadqayyum4739
    @saadqayyum4739 Рік тому

    i though python was interpreded so it reads code line by line, shouldn't it print x and then make a local variable x instead of giving error

  • @OsirisRD
    @OsirisRD Рік тому

    what is your theme vscode ?

  • @xcc4010
    @xcc4010 Рік тому

    What is the name of the theme?

  • @reynaparker2961
    @reynaparker2961 2 місяці тому

    5:26

  • @ismahelo
    @ismahelo Рік тому

    What font is that? And what theme?

  • @magdalenacoman9120
    @magdalenacoman9120 5 місяців тому

    bru put the music louder pls

  • @Hotwire_RCTrix
    @Hotwire_RCTrix 5 місяців тому

    This language is conflicting coming from C++. We were taught that this kind of programming was for those ignorant BASIC programmers of the 70s. 😳

  • @KeithKazamaFlick
    @KeithKazamaFlick Рік тому

    dont use global guys.

  • @maker0824
    @maker0824 Рік тому

    Too basic for me

  • @pppluronwrj
    @pppluronwrj Рік тому

    Js scope is better