پائیٹن کا سائکوپ

ਵੈਰੀਬਲ ਸਿਰਫ ਉਸ ਬਣਾਈ ਗਈ ਖੇਤਰ ਵਿੱਚ ਹੀ ਉਪਯੋਗ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ। ਇਹ ਕਿਹਾ ਜਾਂਦਾ ਹੈ ਕਿ ਅਜਿਮਾ。

ਸਥਾਨਕ ਅਜਿਮਾ

ਫੰਕਸ਼ਨ ਅੰਦਰ ਬਣਾਈ ਗਈ ਵੈਰੀਬਲ ਉਸ ਫੰਕਸ਼ਨ ਦੇ ਸਥਾਨਕ ਅਜਿਮੇ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ, ਅਤੇ ਉਹ ਸਿਰਫ ਉਸ ਫੰਕਸ਼ਨ ਅੰਦਰ ਹੀ ਵਰਤੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ。

ਇੰਸਟੈਂਸ

ਫੰਕਸ਼ਨ ਅੰਦਰ ਬਣਾਈ ਗਈ ਵੈਰੀਬਲ ਉਸ ਫੰਕਸ਼ਨ ਅੰਦਰ ਹੀ ਉਪਯੋਗ ਵਿੱਚ ਹੁੰਦੀਆਂ ਹਨ:

def myfunc():
  x = 100
  print(x)
myfunc()

ਇੰਸਟੈਂਸ ਚਲਾਓ

函数内部的函数

如上例中所示,变量 x 在函数外部不可用,但对于函数内部的任何函数均可用:

ਇੰਸਟੈਂਸ

ਫੰਕਸ਼ਨ ਅੰਦਰ ਫੰਕਸ਼ਨ ਤੋਂ ਸਥਾਨਕ ਵਾਰੀਅਬਲ ਪਰਿਭਾਸ਼ਿਤ ਕਰ ਸਕਦਾ ਹੈ:

def myfunc():
  x = 100
  def myinnerfunc():
    print(x)
  myinnerfunc()
myfunc()

ਇੰਸਟੈਂਸ ਚਲਾਓ

ਗਲੋਬਲ ਰੈਂਜ

ਪਾਇਥਨ ਕੋਡ ਮੁੱਖ ਸਮੱਗਰੀ ਵਿੱਚ ਬਣਾਈ ਗਈ ਵਾਰੀਅਬਲ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਹੈ, ਇਹ ਗਲੋਬਲ ਰੈਂਜ ਵਿੱਚ ਹੈ。

ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਕਿਸੇ ਵੀ ਰੈਂਜ (ਗਲੋਬਲ ਅਤੇ ਸਥਾਨਕ) ਵਿੱਚ ਉਪਲੱਬਧ ਹੁੰਦੀ ਹੈ。

ਇੰਸਟੈਂਸ

ਫੰਕਸ਼ਨ ਬਾਹਰ ਬਣਾਈ ਗਈ ਵਾਰੀਅਬਲ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਹੈ, ਕੋਈ ਵੀ ਉਸ ਦਾ ਉਪਯੋਗ ਕਰ ਸਕਦਾ ਹੈ:

x = 100
def myfunc():
  print(x)
myfunc()
print(x)

ਇੰਸਟੈਂਸ ਚਲਾਓ

ਨਾਮਕਰਣ ਵਾਰੀਅਬਲ

ਜੇਕਰ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਅੰਦਰ ਅਤੇ ਬਾਹਰ ਵਿੱਚ ਨਾਮ ਵਾਲੇ ਵਾਰੀਅਬਲ ਦਾ ਉਪਯੋਗ ਕਰੋ, ਤਾਂ Python ਉਹਨਾਂ ਨੂੰ ਦੋ ਵੱਖਰੇ ਵਾਰੀਅਬਲ ਦੇ ਤੌਰ 'ਤੇ ਦੇਖੇਗਾ, ਇੱਕ ਗਲੋਬਲ ਰੈਂਜ ਵਿੱਚ ਉਪਲੱਬਧ (ਫੰਕਸ਼ਨ ਬਾਹਰ), ਅਤੇ ਦੂਜਾ ਸਥਾਨਕ ਰੈਂਜ ਵਿੱਚ ਉਪਲੱਬਧ (ਫੰਕਸ਼ਨ ਅੰਦਰ):

ਇੰਸਟੈਂਸ

ਇਹ ਫੰਕਸ਼ਨ ਲੋਕਲ ਵਾਰੀਅਬਲ x ਨੂੰ ਪ੍ਰਿੰਟ ਕਰੇਗਾ, ਫਿਰ ਕੋਡ ਪ੍ਰਿੰਟ ਕਰੇਗਾ global ਵਾਰੀਅਬਲ x:

x = 100
def myfunc():
  x = 200
  print(x)
myfunc()
print(x)

ਇੰਸਟੈਂਸ ਚਲਾਓ

Global ਕੀਵਾਰਡ

ਜੇਕਰ ਤੁਸੀਂ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਬਣਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਪਰ ਸਥਾਨਕ ਰੈਂਜ ਵਿੱਚ ਹਟਕੇ ਹੋ, ਤਾਂ global ਕੀਵਾਰਡ ਵਰਤ ਸਕਦੇ ਹੋ ਕੇ ਉਸ ਵਾਰੀਅਬਲ ਨੂੰ ਰੈਫਰੈਂਸ ਕਰੋ。

global ਕੀਵਾਰਡ ਵਾਰੀਅਬਲ ਨੂੰ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਬਣਾਉਂਦਾ ਹੈ。

ਇੰਸਟੈਂਸ

ਜੇਕਰ ਤੁਸੀਂ global ਕੀਵਾਰਡ ਵਰਤੋਂ ਕਰੋ, ਤਾਂ ਉਹ ਵਾਰੀਅਬਲ ਗਲੋਬਲ ਰੈਂਜ ਵਿੱਚ ਹੋਵੇਗਾ:

def myfunc():
  global x
  x = 100
myfunc()
print(x)

ਇੰਸਟੈਂਸ ਚਲਾਓ

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਜੇਕਰ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਅੰਦਰ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਦਾ ਮੁੱਲ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ global ਕੀਵਾਰਡ ਵਰਤ ਕੇ ਉਸ ਵਾਰੀਅਬਲ ਨੂੰ ਰੈਫਰੈਂਸ ਕਰੋ:

ਇੰਸਟੈਂਸ

ਜੇਕਰ ਤੁਸੀਂ ਫੰਕਸ਼ਨ ਅੰਦਰ ਗਲੋਬਲ ਵਾਰੀਅਬਲ ਦਾ ਮੁੱਲ ਬਦਲਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ global ਕੀਵਾਰਡ ਵਰਤ ਕੇ ਉਸ ਵਾਰੀਅਬਲ ਨੂੰ ਰੈਫਰੈਂਸ ਕਰੋ:

x = 100
def myfunc():
  global x
  x = 200
myfunc()
print(x)

ਇੰਸਟੈਂਸ ਚਲਾਓ