Конспект от учебници за Python

Страницата е създадена на:16 юли 2019 и редактирана на:15 юли 2021

Съдържание

Някои специфики на Python Коментари Стартиране и излизане от интерактивната работна среда Без зареждане на работна среда $PYTHONSTARTUP Интерактивен режим Пресмятане на изрази Присвояване Извеждане на резултат Числа Стрингове Помощ Модули Вградени в езика структури Списъци Функция range() Комплекти (tuple) Речници Въвеждане на програмен код на повече от един ред в интерактивната среда Функции

Използвани източници: Ръководство по Питон - Гуидо ван Росум, Python tutorial, Python documentation и др. и собствени наблюдения.

Някои специфики на Python

Обектно ориентиран език за програмиране. Всяка променлива е обект.

Чувствителен към малки или големи букви.

Имат значение интервалите в началото на всеки ред. Една езикова конструкция започва на ред без отстъп, а всички редове, които са част от същата конструкция се пишат с еднакъв отстъп по-навътре.

Други специфики ще бъдат разгледани в следващите раздели.

Коментари

Едноредовите коментари започват от знак # и завършват в края на реда

Многоредови коментари могат да започват с три двойни кавички """ и да свършват с такива """. (В същност, заградения по този начин текст, просто не се визуализира от интерпретатора, макар, че се обработва от него като стринг.)

Стартиране и излизане от интерактивната работна среда

Стартиране - с команда python, или pythonw, или чрез стартиране на приложението IDLE. Последното се отваря в прозорец. Работната среда показва на текущия ред знаци >>> след които е мигащия маркер за въвеждане на текст.

Когато работната среда е стартирана в прозореца на командния интерпретатор на системата, може да се затвори с клавишна комбинация Ctrl+C или Ctrl+D.

Във всички случаи затваряне и излизане от работната среда става с изпълняване на функция quit() или exit()

Без зареждане на работна среда

Ако в командния интерпретатор на операционната система напишете

python -с "команда на език Python"

ще се изпълни написаната в кавички команда на език Python, без работната среда да се зареди и остане отворена. Кавичките са необходими ако командата съдържа интервали, иначе не са задължителни. Ако напишете например:

python3 -c "print(100 + 200)"

Ще се изведе числото 300.

Записан във файл имеНаФайл.py програмен код се изпълнява с:

python имеНаФайл.py

а ако се използва:

python -i имеНаФайл.py

след изпълнение на кода от файла, работната среда се зарежда и остава отворена, в готовност да приема ръчни команди.

$PYTHONSTARTUP

Това е променлива на обкръжението, която съдържа име на файл. Този файл следва да съдържа команди на езика Python, които се изпълняват при зареждане на интерактивната среда. С това се спестява ръчното им изпълнение след зареждане на средата.

Интерактивен режим

Когато е заредена интерактивната работна среда и в началото на текущия ред за въвеждане на текст виждате знаците >>>, ако напишете един ред текст и натиснете Enter, интерпретаторът на Python обработва въведения ред текст и се опитва да го изпълни. Ако този текст е синтактично правилен ще се покаже резултатът от изпълнението, а ако има грешки - съобщение за грешка.

Пресмятане на изрази

Ако въведеният ред е аритметичен израз, резултатът е стойността на този израз. Можем да използваме работната среда на Python като калкулатор.

Присвояване

Можем да присвояваме стойности на една или повече променливи, например с:

a = b = 100

присвояваме стойност 100 едновременно на две променливи с имена съответно a и b. Операторът за присвояване завършва без показване на резултат.

Или с

a,b = 100,200

променливата a получава стойност 100, а променливата b - стойност 200.

На променливите може да се зададе определен тип, например:

x = str(3) # стринг
y = int(3) # цяло число
z = float(3) # число с плаваща запетая

Извеждане на резултат

Ако се напише име на променлива и се натисне Enter, в интерактивен режим се показва стойността на променливата.

Типът на променлива може да се получи с type(имеНаПроменлива).

Променливите, на които са присвоени стойности може да се използват в изрази, например, ако след горното присвояване (a,b = 100,200) напишем:

a * b / 3

Ще видим резултат, числото: 6666.666666666667

Променливата с име _ съдържа, последният показан резултат.

Във файл с програмен код за извеждане на резултат се използва print(израз).

Числа

Аритметичните оператори са:

+ събиране
- изваждане
* умножение
/ деление с плаваща запетая
// делиние с целочислен резултат
% остатък от целочислено деление
** повдигане на степен, включително на нецелочислена степен

Целите числа са с неограничен брой цифри.

Допустими са и действия с комплексни числа, които се пишат, например, така: 1+2j

Стрингове

За отделяне на символите, съставящи стрингове се използват както единични ' ', така и двойни " " кавички. Когато използваните кавички се срещат вътре в стринга, се отделят с \.

Слепването на стрингове става с оператор +.

Има и операция многократно слепване с оператор *, последван от число, означаващо броя повтаряния в слепения стринг.

Ако, например, word е идентификатор на стринг, word[2] е символът с индекс 2 (индексирането започва от 0). Променянето на отделни символи не е допустимо (word[2] = 'a', например, предизвиква грешка).

word[2:5] е подстринг, който включва символите от индекс 2 до индекс 4, включително; word[:5] - началото на стринга, до символа с индекс 5; word[2:] подстрингът започващ от символ с индекс 2 до края.

Индексите могат да бъдат отрицателни, и тогава отчитат позиция в стринга от дясно наляво. Например: word[-1] е последният символ от стринга. (Последното може да предизвика грешка, ако стрингът е празен. За получаване на последния символ, ако има такъв е по-подходящо: word[-1:], което ще върне празен стринг, ако word е празен стринг.)

Помощ

В интерактивна работна среда, извикването на функция help() предизвиква преминаване в режим за получаване на помощ. Най-важните инструкции за ползване на режима са изписани на екрана.

Излизането от този режим става с quit.

Модули

Модулите са файлове с програмен код, които съдържат дефиниции на обекти и функции. Справочник на модулите има на страница Python Module Index. Списък на инсталираните модули се показва с команда:

help('modules')

За да се използват дефинициите от даден модул, модулът трябва да се импортира с:

import имеНаМодул

След което обръщането към даден обект от импортирания модул става с посочване на името на модула и на обекта:

имеНаМодул.обект

При импортиране с:

from имеНаМодул import обект1, обект2

обръщането към обект1 или обект2 е възможно само чрез имената на обектите, но при това са импортирани само тези обекти. Зареждане на всички обекти от модул става с:

from имеНаМодул import *

Директориите, в които се търсят файлове с модули за зареждане са:

  1. Директорията на стартирания файл или директорията, от която е стартирана интерактивната работна среда.
  2. Директориите, изброени в променлива на обкръжението $PYTHONPATH, която има същия синтаксис като $PATH.
  3. Други, зададени по подразбиране при инсталирането на Python директории.

Всички тези директории се съхраняват в списък sys.path, дефиниран в модул sys. Към този списък може програмно да се добавят елементи и така изпълнявания файл може да зареди модули и от други места.

Пътят до файла на зареден модул, се съдържа в променливата __file__ от този модул и може да се покаже с команда:

print(имеНаМодул.__file__)

Вградени в езика структури

Списъци

Списъците са подобни на масивите от други езици за програмиране. Някои от спецификите на списъците в Python са:

Списък се дефинира със заграждане в квадратни скоби на други обекти. Например:

a = ['spam', 'eggs', 100, 1234]

Индексите на елементите от списъка започват от 0.

С посочване на два индекса се получават подсписъци. Например:

a[1,3]

е списък от два елемента започващ от елемента с индекс 1 и съдържащ и елемента с индекс по-малък от 3.

a[1,1] е празен списък, а a[1,2] съдържа само елемента с индекс 1.

Ако a е списък, изразът: 3*a е списък с 3 пъти повече елементи, повтарящи елементите на a.

Подсписъкът на един списък, може да се замени с друг списък. Например, при присвояване:

a[1:3] = [1,2,3]

елементите с индекси 1 и 2 на списъка a се заменят от три елемента - числата 1, 2 и 3, а при:

a[1:3] = []

елементите с индекси 1 и 2 се заменят от празен списък, т.е. изтриват се.

(Изтриване на елементи става и с оператор del. Примери:
del a[2] # - изтрива елемента с индекс 2;
del a[2:4] # - изтрива елементите с индекси от 2 до 3;
del a # - изтрива целия списък a.)

Списъците могат да се "разопаковат". Ако имаме списък:

a = [1, 2, 3]

Стойността на всеки елемент може да се присвои на отделна променлива с:

b,c,d = a

Броят на елементите на списък се получава с функцията len(списък).

Функция range()

Връща аритметична прогресия от цели числа. Примери:

range(10) # числата от 0 до 9
range(2,20) # числата от 2 до 19
range(-2,20,2) # числата от -2 до 18 през 2

Горната граница, не се включва. За да се превърне в списък и да се покажат всички елементи се превръща в списък с list().

Комплекти (tuple)

Комплектите са подобни на списъците, но с някои разлики.

Речници

Въвеждане на програмен код на повече от един ред в интерактивната среда

На следващото изображение са показани местата за натискате на клавишите Enter и Tab за въвеждане на изобразения програмен код.

След натискане на Enter в края на първия ред, той се интерпретира като завършено присвояване, което веднага се извършва и се показва знакът >>> за въвеждане на следващи инструкции. Следва оператор за цикъл, който не завършва на първия ред, затова след натискане на Enter на следoващия ред се показва многоточие. Понеже следващият ред е част от оператора за цикъл, това се отбелязва с натискане на Tab, което предизвиква въвеждане на няколко интервала в началото на реда. На следващия ред се показва отново многоточие. Към тялото на цикъла се добавя още един ред със същия отстъп от няколко интервала, който се въвежда с Tab и се завършва с Enter. Този път отново се показва многоточие в началото на реда, но за да се отбележи край на оператора за цикъл на този ред се натиска само Enter. Последното води до изпълняване на оператора за цикъл и показване на резултат.

Функции

Функция се дефинира с:

def име(параметри):
  оператори
празен ред

 

Copyright CC BY-ND 4.0.
Посещения на страницата: общо 729 днес 0
Направено с MyCMS.