Пайдаланушы функциялар мен процедураларды оқыту әдістемесі



Дата14.05.2024
өлшемі3,88 Mb.
#202213
Байланысты:
Пайдаланушы функциялар мен процедураларды оқыту әдістемесі.

Методика обучения пользовательским функциям и процедурам.

План:

  • Функция;
  • Аргумент;
  • Локальные переменные;
  • Область действия переменной;

Функция


Функция-это отдельная, функционально независимая часть программы, которая выполняет определенную задачу.
Функции объявляются с помощью ключевого слова def (от англ.define - define). после ключевого слова def ставится имя функции, скобки () и двоеточие:.
def название_функции():
блок кода
Первая строка объявления функции называется заголовком функции. Следующий блок кода строки-это тело функции. Это набор инструкций, которые составляют один блок и выполняются каждый раз, когда вызывается функция. Отметим, что каждая строка в тексте функции имеет отступ. 
Для отступа строк блока кода программисты Python обычно используют четыре пробела в соответствии со стандартом PEP 8.

Функция

Рассмотрим оператор функции: 

def print_message():

print ('я-Артур,')

print ('король британцев. ')

Этот фрагмент кода определяет функцию под названием print_message (). Его тело состоит из двух инструкций, и приглашение вызывает их выполнение.

Чтобы вызвать функцию, мы пишем ее имя и открываем пустые скобки.

Важно: начинающие программисты забывают вызвать функцию. Помните, что объявление функции не является вызовом функции.

# объявление функции

def print_message():

print('Я - Артур,')

print('король британцев. )

# вызов функции

print_message()

Функции с параметрами объявляются только в скобках, как и функции без параметра:

Функции с параметрами объявляются только в скобках, как и функции без параметра:

def название_функции(параметр): блок кода

Давайте перезапишем предыдущую версию функции draw_box (), чтобы принять параметры, указывающие высоту и ширину прямоугольника:

def draw_box (height, width): # функция принимает два параметра

for i in range (height):

print ('*' * width)

Теперь наша функция draw_box () принимает два целочисленных параметра height – высота прямоугольника и width – ширина прямоугольника, и нам нужно отобразить их в программе, чтобы вызвать его.

Чтобы нарисовать прямоугольник из 5-7 звездочек, напишем следующий код:

draw_box(5, 7)

Аргумент


Аргумент-это любая часть данных, которая передается функции при вызове функции.
Параметр-это переменная, которая принимает аргумент, переданный функции.
к функции draw_box(height, width) :
​def draw_box(height, width):
for i in range(height):
print('*' * width)
параметры-это переменные высоты и ширины.
при вызове функции draw_box (height, width) :
height = 10
draw_box (height, 9)
аргументами являются height и 9.

Локальные переменные


Локальные переменные-это переменные, объявленные внутри функции и доступные только самой функции. Программный код вне функции не может получить к ним доступ.
Давайте посмотрим на функцию print_texas (), которая печатает информацию о количестве птиц в Техасе.
def print_texas():
birds = 5000
print ('в Техасе обитает', birds, ' птиц.)
В основной части функции мы объявляем переменную birds, которой присвоено значение 5000. Эта переменная является локальной для функции print_texas (). Когда переменной внутри функции присваивается значение, в результате создается локальная переменная. Он принадлежит функции, для которой он создан, и только программный код этой функции может получить к нему доступ.

Например:


Рассмотрим следующий программный код:
def print_texas():
birds = 5000
print ('в Техасе обитает', birds, ' птиц.) 
def print_california():
print ('в Калифорнии обитает', birds, 'птиц.')
если функция print_california() хочет использовать локальную переменную birds функции print_texas (), вызов функции print_california () приведет к следующей ошибке:
NameError: name 'birds' is not defined различные функции могут иметь локальные переменные с одинаковыми именами, потому что они не видят локальных переменных друг друга.
Например,
def print_texas():
birds = 5000
print ('в Техасе обитает', birds, ' птиц.) 
def print_california():
birds = 9000 print('в Калифорнии обитает', birds, 'птиц.)
Каждая из этих двух функций имеет локальную переменную, называемую birds. Но они никогда не появляются одновременно, потому что находятся в разных функциях. когда выполняется функция print_texas (), отображается переменная birds со значением 5000. когда выполняется функция print_california (), отображается переменная birds со значением 9000.

Область действия переменной


Область работы переменной-это часть программы, к которой она может получить доступ, функция, для которой она создана. Переменная видна только коду в его диапазоне. Ни одно утверждение вне функции не может получить доступ к такой переменной.
Локальная переменная не может быть достигнута с помощью кода, который появляется внутри функции до создания переменной.
Например, если мы заменяем строки кода в функции print_texas() :
def print_texas():
print ('в Техасе обитает', birds, ' птиц.')
birds = 5000
затем, когда мы вызываем эту функцию, мы получаем такую ошибку:
UnboundLocalError: local variable 'birds' referenced before assignment ошибка возникла в результате преждевременного вызова еще не объявленной локальной переменной birds.
Спасибо за внимание!

Достарыңызбен бөлісу:




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет