Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab7 / Лекция 7. Интерпретируемый язык Python.pdf
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
2.34 Mб
Скачать

ИСПОЛЬЗОВАНИЕ МОДУЛЕЙ

Модуль – единица организации программ наивысшего уровня, которая упаковывает программный код и данные для многократного использования и предоставляет изолированное пространство имен, сводящее к минимуму конфликты имен переменныхвнутрипрограмм.

Работасмодулямив Python осуществляетсяспомощьюследующихоператоров:

 

import – позволяетклиентуизвлечьмодулькакединоецелое

>>>

import os, sys

from – позволяетклиентамизвлекатьотдельныеименаизмодуля

 

 

>>> from sys import platform

Примерыиспользования:

>>>

print(sys.version)

’3.9.12 (main, ...

>>>

import os

>>>

print(platform)

>>>

print(os.getlogin())

’linux’

user1

 

 

>>> print(os.getcwd())

>>> from sys import *

/home/user1/workdir/python

>>>

print(version)

>>>

import os, sys

’3.9.12 (main, ...

>>>

print(platform)

>>>

print(os.name)

’linux’

’posix’

 

 

>>>

print(sys.platform)

>>> from sys import platform as pf

’linux’

>>>

print(pf)

26

 

’linux’

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ

Поддержкамеханизмарегулярныхвыраженийв Python осуществляетсячерезмодуль re

import re

import re

ret = re.match(’a+’, ’aaababbccc’)

ret = re.fullmatch(’a+’, ’aaababbccc’)

if ret:

if ret:

print(’Yes’)

print(’Yes’)

print(ret.group())

print(ret.group())

else:

else:

print(’No’)

print(’No’)

Yes

No

aaa

 

import re

ret = re.search(’b+’, ’aaababbccc’) if ret:

print(’Yes’) print(ret.group())

else: print(’No’)

Yes b

27

if ret: print(’Yes’)

print(ret.group()) print(ret.start()) print(ret.end())

else: print(’No’)

Yes b

3

4

РЕГУЛЯРНЫЕ ВЫРАЖЕНИЯ (продолжение)

import re

ret = re.findall(’b+’, ’aaababbccc’) if ret:

print(’Yes’)

print(ret) else:

print(’No’)

Yes

[’b’, ’bb’]

import re

str = ’module inv(x, y);’

ret = re.search(’module\s+(\w+)\s*\(’, str) if ret:

print(’Yes’) print(ret.group(0)) print(ret.group(1))

else: print(’No’)

Yes

28 moduleinv inv(

if ret: print(’Yes’) print(ret) print(len(ret)) print(ret[0])

else: print(’No’)

Yes

[’b’, ’bb’] 2

b

ФУНКЦИИ

Функция является способом группирования набора операторов, позволяющим выполнять их более одного раза в программе — упакованнойпроцедурой, вызываемойпоимени

 

Основныеконцепцииприработесфункциями:

 

def является исполняемым кодом, он создает

 

объектиприсваиваетегоимени

 

 

lambda создает объект, но возвращает его в

 

качестверезультата

 

 

 

return

отправляет

результирующий

объект

 

вызывающемукоду

 

 

 

yield

отправляет

результирующий

объект

 

вызывающему коду, но запоминает место, где

 

оностановился

 

 

 

global объявляет переменные уровня модуля,

 

предназначенные дляприсваивания

 

 

nonlocal объявляет переменные объемлющей

 

функции, предназначенные дляприсваивания

 

Аргументы передаются по присваиванию (по

 

ссылкамнаобъекты)

 

 

 

Аргументы передаются по позиции, если

 

тольконеуказаноиначе

 

29

Аргументы, возвращаемые значения и

переменныенеобъявляются

 

Соседние файлы в папке lab7