Файл: Общие характеристики скриптовых языков. Язык Python.pdf

ВУЗ: Не указан

Категория: Реферат

Дисциплина: Не указана

Добавлен: 08.07.2023

Просмотров: 67

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

while <условие>: <оператор1>

[else: <оператор2>]

Цикл «пока». <Оператор1> будет выполняться все время, пока истинно <условие>. При нормальном завершении цикла, т.е. без применения break, выполнится <оператор2>.

for <переменная> in <список>: <оператор1>

[else: <оператор2>]

Цикл «для». <Переменная> пробегает все элементы <списка> и для каждого текущего значения <переменной> выполняется <оператор1>. При нормальном завершении цикла, т.е. без применения break, выполнится <оператор2>.

break

Осуществляет немедленное завершение циклов while и for.

continue

Вызывает немедленное выполнение следующей итерации циклов while и for.

return [<результат>]

Осуществляет возврат из функции или метода класса, возвращая значение <результат>.

5.Обработка исключительных ситуаций.

try: <оператор1>

[except [<исключение> [,<переменная>] ]: < оператор2>]

[else <оператор3>]

Выполняется <оператор1>, если при этом возникла исключительная ситуация <исключение>, то выполняется <оператор2>. Если <исключение> имеет значение, то оно присваивается <переменной>.

В случае успешного завершения <оператора1> выполняется <оператор3>.

try: <оператор1>

finally: <оператор2>

Выполняется <оператор1>. Если не возникло исключений, то выполняется <оператор2>. Иначе выполняется <оператор2> и немедленно инициируется исключительная ситуация.

raise <исключение> [<значение>]

Инициирует исключительную ситуацию <исключение> с параметром <значение>.

Исключения - это просто строки (string). Пример:

my_ex = ‘bad index’

try:

if bad:

raise my_ex, bad

except my_ex, value:

print ‘ Error ’, value

6.Объявление функций.

def <имя_функции> ([<список_параметров>]):

<тело_функции>

Здесь <тело_функции> - последовательность операторов, выровненных по тексту правее слова «def».

<список_параметров> в самом общем виде выглядит так:


[ [,]* ] [ = [,=]* ] [, *]

Здесь - идентификатор переменной; - некое значение.

Параметры , за которыми следует «=» получают значения по умолчанию.

Если список заканчивается строкой « * », то id присваивается тьюпл (tuple) из всех оставшихся аргументов, переданных функции.

7.Объявление классов.

class <имя_класса> [( <предок1> [,<предок2>]* )]:

<тело_класса>

Здесь <тело_класса> может содержать присваивания переменным (эти переменные становятся атрибутами, т.е. полями класса) и определений функций (являющихся методами класса).

Первым аргументом метода всегда является экземпляр класса, который вызывает данный метод (или к которому применяется метод). По соглашению, этот аргумент называется «self». Специальный метод __init__() вызывается автоматически при создании экземпляра класса.

Пример:

class cMyClass:

def __init__(self, val):

self.value = val

#

def printVal (self):

print ‘ value = ’, self.value

#

# end cMyClass

obj = cMyClass (3.14)

obj.printVal ()

obj.value = « string now »

obj.printVal ()

Результат:

value = 3.14

value = string now

8.Операторы для всех типов последовательностей
(списки, тьюплы, строки).

len (s) - возвращает длину s.

min (s), max (s) - наименьший и наибольший элементы s, соответственно.

x in s - истина (1), если s включает в себя элемент равный x, иначе - ложь (0).

x not in s - ложь если s включает x, иначе истина.

s+t - слияние s и t.

s*n, n*s - n копий s, слитых вместе (например, ‘*’ * 5 - это строка ‘*****’).

s[i] - i-тый элемент s, где i отсчитывается с 0.

s[i:j] - часть элементов s начиная с i до j-1 включительно. Либо i, либо j, либо оба параметра могут быть опущены (i по умолчанию равен 0, j - длине s).

9.Операторы для списков (list).

s[i] = x - i-тый элемент s заменяется на x.

s[i:j] = t - часть элементов s от i до j-1 заменяется на t (t может быть также списком).


del s[i:j] - удаляет часть s (также, как и s[i:j] = []).

s.append (x) - добавляет элемент x к концу s.

s.count (x) - возвращает количество элементов s, равных x.

dex (x) - возвращает наименьший i такой, что s[i]==x.

sert (i,j) - часть s, начиная с i-го элемента, сдвигается вправо, и s[i] присваивается x.

s.remove (x) - то же, что и del s[ dex(x) ] - удаляет первый элемент s, равный x.

s.reverse () - записывает строку в обратном порядке.

s.sort () - сортирует список по возрастанию.

10.Операторы для словарей (dictionary).

len (a) - количество элементов а.

a[k] - элемент с ключом k.

a[k] = x - присвоить элементу с ключом k значение x.

del a[k] - удалить a[k] из словаря.

a.items () - список тьюплов пар (ключ, значение).

a.keys () - список ключей а.

a.values () - список значений а.

a.has_key (k) - возвращает 1, если а имеет ключ k, иначе 0.

11.Файловые объекты.

Создаются встроенной функцией open() (ее описание смотрите ниже). Например: f = open (‘mydan.dat’, ‘r’). Методы:

f.close () - закрыть файл.

f.read ([size]) - читает байт из файла и возвращает в виде строки. Если отсутствует, то читает до конца файла.

f.readline () - читает целиком одну строку из файла.

f.readlines () - читает строки до конца файла и возвращает список прочитанных строк.

f.seek (offset, mode) - устанавливает позицию в файле с которого будет произведено чтение. - смещение относительно:

  1. начала файла (при mode == 0 - по умолчанию);
  2. текущей позиции (при mode == 1);
  3. конца файла (при mode == 2).

f.tell () - возвращает текущую позицию в файле.

f.write (str) - записывает строку в файл.

12.Другие элементы языка и встроенные функции.

= присваивание.

print [ [,]* [,] ] - выводит значения , в стандартный вывод. Ставит пробел между аргументами. Если запятая в конце перечня аргументов отсутствует, то осуществляет переход на новую строку.

abs (x) - возвращает абсолютное значение x.

apply (f, <аргументы>) - вызывает функцию (или метод) f с < аргументами >.


chr (i) - возвращает односимвольную строку с ASCII кодом i.

cmp (x, y) - возвращает отрицательное, ноль, или положительное значение, если, соответственно, x <, ==, или > чем y.

divmod (a, b) - возвращает тьюпл ( a/b, a%b ), где a/b - это a div b (целая часть результата деления), a%b - это a mod b (остаток от деления).

eval (s) - возвращает объект, заданный в s как строка (string). S может содержать любую структуру языка. S так же может быть кодовым объектом, например: x = 1; incr_x = eval («x+1»).

float (x) - возвращает вещественное значение равное числу x.

hex (x) - возвращает строку, содержащую шестнадцатеричное представление числа x.

input (<строка>) - выводит <строку>, считывает и возвращает значение со стандартного ввода.

int (x) - возвращает целое значение числа x.

len (s) - возвращает длину (количество элементов) объекта.

long (x) - возвращает значение типа длинного целого числа x.

max (s), min (s) - возвращают наибольший и наименьший из элементов последовательности s ( т.е. s - строка, список или тьюпл )

oct (x) - возвращает строку, содержащую представление числа x.

open (<имя файла>, <режим> = ‘r’) - возвращает файловый объект, открытый для чтения. <режим> = ‘w’ - открытие для записи.

ord (c) - возвращает ASCII код символа (строки длины 1) c.

pow (x, y) - возвращает значение x в степени y.

range (<начало>, <конец>, <шаг>) - возвращает список целых чисел, больших либо равных <начало> и меньших чем <конец>, сгенерированных с заданным <шагом>.

raw_input ([<текст>]) - выводит <текст> на стандартный вывод и считывает строку (string) со стандартного ввода.

round (x, n=0) - возвращает вещественное x, округленное до n-го разряда после запятой.

str (<объект>) - возвращает строковое представление <объекта>.

type (<объект>) - возвращает тип объекта. Например:

if type(x) == type(‘’): print ‘ это строка ’

xrange (<начало>, <конец>, <шаг>) - аналогичен range, но лишь имитирует список, не создавая его. Используется в цикле for.

13.Cпециальные функции для работы со списками.


filter (<функция>, <список>) - возвращает список из тех элементов <спиcка>, для которых <функция> принимает значение «истина».

map (<функция>, <список>) - применяет <функцию> к каждому элементу <списка> и возвращает список результатов.

reduce (f, <список>, [, <начальное значение> ]) - возвращает значение, полученное «редуцированием» <списка> функцией f. Это значит, что имеется некая внутренняя переменная p, которая инициализируется <начальным значением>, затем, для каждого элемента <списка>, вызывается функция f с двумя параметрами: p и элементом <списка>. Возвращаемый f результат присваивается p. После перебора всего <списка> reduce возвращает p.

С помощью данной функции можно, к примеру, вычислить сумму элементов списка:

def func (red, el):

return red+el

sum = reduce (func, [1,2,3,4,5], 0)

# теперь sum == 15

lambda [<список параметров>]: <выражение> - «анонимная» функция, не имеющая своего имени и записываемая в месте своего вызова. Принимает параметры, заданные в <списке параметров>, и возвращает значение <выражения>. Используется для filter, reduce, map. Например:

>>>print filter (lambda x: x>3, [1,2,3,4,5])

[4, 5]

>>>print map (lambda x: x*2, [1,2,3,4])

[2, 4, 6, 8]

>>>print reduce (lambda r, x: r*x, [1,2,3,4], 1)

24

14.Импортирование модулей.

import <модуль1> [, <модуль2> ]* - подключает внешние модули.

from <модуль> import <имя1> [, <имя2> ]* - импортирует имена (функций, классов, переменных и т.д.) из <модуля>.

from <модуль> import * - импортирует все имена из <модуля>, за исключением начинающихся символом «_».

15.Стандартный модуль math.

Переменные: pi, e.

Функции (аналогичны функциям языка C):

acos(x)

cosh(x)

ldexp(x,y)

sqrt(x)

asin(x)

exp(x)

log(x)

tan(x)

atan(x)

fabs(x)

sinh(x)

frexp(x)

atan2(x,y)

floor(x)

pow(x,y)

modf(x)

ceil(x)

fmod(x,y)

sin(x)

cos(x)

log10(x)

tanh(x)