პითონში ვიზუალური სფეროების მუშაობის ნიუანსები

განვიხილოთ ლოკალური და გლობალური ცვლადების მუშაობის მნიშვნელოვანი ნიუანსები.

დავუშვათ, გვაქვს გლობალური ცვლადი num. შევქმნათ ფუნქცია func, რომელიც გლობალურ num-ს გამოიტანს კონსოლში:

pythonnum = 1

def func():
  print(num)

func() # გამოიტანს 1-ს

ახლა კი print ფუნქციის ქვემოთ მოდიფიცირებულ სტრიქონზე გამოვაცხადოთ ლოკალური num. კოდის შესრულების შემდეგ კონსოლში შეცდომა გამოიყოფა. ეს იმიტომ ხდება, რომ პითონი ფუნქციის შიგნით num-ს მხოლოდ ლოკალურ ცვლადად აღიქვამს, რომელიც ჯერ არ არის გამოცხადებული:

pythonnum = 1

def func():
  print(num) # გამოიტანს შეცდომას
  num = 2

ახლა ჩავწეროთ ფუნქციის შიგნით არსებული კოდი ისე, რომ num ცვლადის მნიშვნელობა 2-ით გაიზარდოს:

pythonnum = 1

def func():
  num += 2 # გამოიტანს შეცდომას

შეცდომა იმითაა გამოწვეული, რომ გამოთქმა num += 2 შემდეგი ჩანაწერია:

pythonnum = num + 2

თუმცა, თავად ლოკალური ცვლადი, რომელსაც მიმატება ხდება, ჯერ არ არის გამოცხადებული. და შესაბამისად, პითონი გამოიტანს შეცდომას, რადგან არ შეიძლება რიცხვის დამატება არარსებულ მნიშვნელობას.

Задание 1

რა იქნება შემდეგი კოდის შესრულების შედეგი:

pythontst = '12'

def func():
  tst = 12
  return tst
  
print(tst)
Задание 2

რა იქნება შემდეგი კოდის შესრულების შედეგი:

pythontst = 'abc'

def func():
  tst = tst.upper()
  return tst

func()
print(tst)
Задание 3

რა იქნება შემდეგი კოდის შესრულების შედეგი:

pythontst = 'abc'

def func():
txt = tst.upper()
return txt
    
print(func())
print(tst)