Дәріс
№8
Пән: Алгоритімдеу
және бағдарламалау
Сабақтың
тақырыбы: Айнымалылардың көріну аймағы.
Модульдер
1.
Айнымалылардың көріну
аймағы
Айнымалылардың көріну аймағы
немесе scope айнымалыны қолдануға болатын контекстіні анықтайды.
Python-да контекстінің екі типі бар: глобальды және
локальды.
Глобальды контекст дегеніміз
айнымалының глобальды, яғни функцияның сыртында анықталатынын және
бағдарламадағы кез келген функция оларды қолдана алатынын
білдіреді. Мысалы:
name
= "Tom"
def say_hi():
print("Hello",
name)
def say_bye():
print("Good bye",
name)
say_hi()
say_bye()
|
Мұнда name айныалысы глобальды
және глобальды көріну аймағына ие. Және бағдарламадағы екі функция
да оны еркін қолдана алады.
Локальды айнымалылар функция
ішінде анықталады және осы функцияға ғана қатысты, яғни локальды
көріну аймағына ие:
def say_hi():
name
= "Sam"
surname
= "Johnson"
print("Hello", name,
surname)
def say_bye():
name
= "Tom"
print("Good bye",
name)
say_hi()
say_bye()
|
Берілген жағдайда екі
функцияның әрқайсысында name локальды айнымалысы анықталған. Бұл
айнымалылар бірдей аталғанымен, олар екі әртүрлі айнымалылар болып
табылады және олардың әрқайсысы тек өз функциясына ғана
қатысты.
Тағы бір мысалды
қарастырайық:
name
= "Tom"
def say_hi():
print("Hello",
name)
def say_bye():
name
= "Bob"
print("Good bye",
name)
say_hi() #
Hello Tom
say_bye() # Good bye
Bob
|
Мұнда name глобальды
айнымалысы анықталған. Алайда say_bye функциясында осы name атымен
локальды айнымалы анықталған. Егер say_hi функциясы глобальды
айнымалыны қолданса, say_bye функциясы локальды айнымалыны
қолданады.
Python-да глобальды
айнымалыларды қолдану кеңес берілмейді. Тек глобальды тұрақтылармен
жұмыс істеген кезде ғана глобальды айнымалыларды қолданған
дұрыс:
PI
= 3.14
# шеңбер ауданын
есептеу
def get_circle_square(radius):
print("Шеңбер ауданы:",
radius, "тең", PI * radius
* radius)
get_circle_square(50)
|
2.Модульдер
Python тілінде модуль
дегеніміз коды бар файл және оны басқа бағдарламаларда қайталап
қолдануға болады.
Модуль құру үшін
кеңейтілуі *.py болатын файл құру керек. Файл
аты модуль атауы болып табылады. Бұдан кейін осы файлда бір немесе
бірнеше функцияны анықтау керек.
Айталық, бағдарламаның негізгі
файлы hello.py деп аталсын және біз оған
сыртқы модульді қосуымыз керек болсын.
Ол үшін алдымен жаңа модульді
анықтап, оны account.py деп атайық. Бұл
файлды hello.py орналасқан буманың ішінде құру
керек. Егер PyCharm немесе басқа IDE болса, онда екі файл да бір
жобаға орналастырылады.
Сәйкесінше
модуль account деп аталады және онда келесі
кодты анықтайық:
def calculate_income(rate, money,
month):
if
money
<= 0:
return 0
for i
in range(1,
month+1):
money
= round(money
+ money
* rate
/ 100 /
12,
2)
return money
|
Мұнда calc_income функциясы
анықталады, оның параметрлері ретінде салымның пайыздық
мөлшерлемесі, салым сомасы мен салым салынатын мерзім қабылданады
және осы кезеңнің соңында алынатын соманы
есептейді.
hello.py файлында файлында келесі код
жазылады:
#! Банктік шот
бағдарламасы
import account
rate
= int(input("Пайыздық мөлшерлемені енгізіңіз:
"))
money
= int(input("Соманы енгізіңіз:
"))
period
= int(input("
Айларға
қызмет
көрсету
мерзімін
енгізіңіз:
"))
result
= account.calculate_income(rate,
money, period)
print("Шот
параметрлері:\n",
"Сома: ", money, "\n",
"Мөлшерлеме: ", rate,
"\n",
"Период: ", period, "\n",
"
Кезең соңындағы шоттағы ақша: ",
result)
|
Модульді қолдану үшін
оны import көмегімен импорттау керек.
Одан кейін модуль атауы көрсетіледі: import
account
Модульдің функционалдығына қол
жеткізу үшін оның атаулар
кеңістігін алу керек. Әдетте, ол
модульдің атауына сәйкес келеді, яғни біздің жағдайда ол account
деп аталады.
Модульдің атаулар кеңістігін
алғаннан кейін біз оның функцияларына келесі схема бойынша қол
жеткізе аламыз:
атаулар_кеңістігі.функция:
account.calculate_income(rate, money,
period)
|
Осыдан кейін біз басты
hello.py скриптін жүзеге асырамыз, ал ол account.py модулін іске
қосады. Консольдық түрі келесідей болады:
Оқытушы __________ Қалымжанова
А.Б.