Что такое питон язык программирования. Введение в Python. История языка Python

Python - это популярный и мощный язык сценариев, с помощью которого вы можете сделать все что захотите. Например, вы можете сканировать веб-сайты и собирать с них данные, создавать сетевые и инструменты, выполнять вычисления, программировать для Raspberry Pi, разрабатывать графические программы и даже видеоигры. На Python можно \\ писать системные программы, независимые от платформы.

В этой статье мы рассмотрим основы программирования на Python, мы постараемся охватить все основные возможности, которые вам понадобятся чтобы начать пользоваться языком. Мы будем рассматривать использование классов и методов для решения различных задач. Предполагается, что вы уже знакомы с основами и синтаксисом языка.

Что такое Python?

Я не буду вдаваться в историю создания и разработки языка, это вы без труда узнать из видео, которое будет прикреплено ниже. Важно отметить, что Python - скриптовый язык. Это означает, ваш код проверяется на ошибки и сразу же выполняется без какой-либо дополнительной компиляции или переработки. Такой подход еще называется интерпретируемым.

Это снижает производительность, но очень удобно. Здесь присутствует интерпретатор, в который вы можете вводить команды и сразу же видеть их результат. Такая интерактивная работа очень сильно помогает в обучении.

Работа в интерпретаторе

Запустить интерпретатор Python очень просто в любой операционной системе. Например, в Linux достаточно набрать команду python в терминале:

В открывшемся приглашении ввода интерпретатора мы видим версию Python, которая сейчас используется. В наше время очень сильно распространены две версии Python 2 и Python 3. Они обе популярны, потому что на первой было разработано множество программ и библиотек, а вторая - имеет больше возможностей. Поэтому дистрибутивы включают обе версии. По умолчанию запускается вторая версия. Но если вам нужна версия 3, то нужно выполнить:

Именно третья версия будет рассматриваться в этой статье. А теперь рассмотрим основные возможности этого языка.

Операции со строками

Строки в Python неизменяемые, вы не можете изменить один из символов строки. Любое изменение содержимого требует создания новой копии. Откройте интерпретатор и выполняйте перечисленные ниже примеры, для того чтобы лучше усвоить все написанное:

1. Объединение строк

str = "welcome " + "to python"
print (str)

2. Умножение строк

str = "Losst" * 2
print (str)

3. Объединение с преобразованием

Вы можете объединить строку с числом или логическим значением. Но для этого нужно использовать преобразование. Для этого существует функция str():

str = "Это тестовое число " + str(15)
print (str)

4. Поиск подстроки

Вы можете найти символ или подстроку с помощью метода find:

str = "Добро пожаловать на сайт"
print(str.find("сайт"))

Этот метод выводит позицию первого вхождения подстроки сайт если она будет найдена, если ничего не найдено, то возвращается значение -1. Функция начинает поиск с первого символа, но вы можете начать с энного, например, 26:

str = "Добро пожаловать на сайт сайт"
print(str.find("losst",26))

В этом варианте функция вернет -1, поскольку строка не была найдена.

5. Получение подстроки

Мы получили позицию подстроки, которую ищем, а теперь как получить саму подстроку и то, что после нее? Для этого используйте такой синтаксис [начало:конец] ,просто укажите два числа или только первое:

str = "Один два три"
print(str[:2])
print(str)
print(str)
print(str[-1])

Первая строка выведет подстроку от первого до второго символа, вторая - от второго и до конца. Обратите внимание, что отсчет начинается с нуля. Чтобы выполнять отсчет в обратном порядке, используйте отрицательное число.

6. Замена подстроки

Вы можете заменить часть строки с помощью метода replace:

str = "Этот сайт про Linux"
str2 = str.replace("Linux", "Windows")
print(str2)

Если вхождений много, то можно заменить только первое:

str = "Это сайт про Linux и я подписан на этот сайт"
str2 = str.replace("сайт", "страница",1)
print(str2)

7. Очистка строк

Вы можете удалить лишние пробелы с помощью функции strip:

str = " Это веб-сайт про Linux "
print(str.strip())

Также можно удалить лишние пробелы только справа rstrip или только слева - lstrip.

8. Изменение регистра

Для изменения регистра символов существуют специальные функции:

str="Добро пожаловать на Losst"
print(str.upper())
print(str.lower())

9. Конвертирование строк

Есть несколько функций для конвертирования строки в различные числовые типы, это int(), float() , long() и другие. Функция int() преобразует в целое, а float() в число с плавающей точкой:

str="10"
str2="20"
print(str+str2)
print(int(str)+int(str2))

10. Длина строк

Вы можете использовать функции min(), max(), len() для расчета количества символов в строке:

str="Добро пожаловать на сайт Losst"
print(min(str))
print(max(str))
print(len(str))

Первая показывает минимальный размер символа, вторая - максимальный, а третья - общую длину строки.

11. Перебор строки

Вы можете получить доступ к каждому символу строки отдельно с помощью цикла for:

str="Добро пожаловать на сайт"
for i in range(len(str)):
print(str[i])

Для ограничения цикла мы использовали функцию len(). Обратите внимание на отступ. Программирование на python основывается на этом, здесь нет скобок для организации блоков, только отступы.

Операции с числами

Числа в Python достаточно просто объявить или применять в методах. Можно создавать целые числа или числа с плавающей точкой:

num1 = 15
num2 = 3,14

1. Округление чисел

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

a=15.5652645
print(round(a,2))

2. Генерация случайных чисел

Получить случайные числа можно с помощью модуля random:

import random
print(random.random())

По умолчанию число генерируется из диапазона от 0,0 до 1,0. Но вы можете задать свой диапазон:

import random
numbers=
print(random.choice(numbers))

Операции с датой и временем

Язык программирования Python имеет модуль DateTime, который позволяет выполнять различные операции с датой и временем:

import datetime
cur_date = datetime.datetime.now()
print(cur_date)
print(cur_date.year)
print(cur_date.day)
print(cur_date.weekday())
print(cur_date.month)
print(cur_date.time())

В примере показано как извлечь нужное значение из объекта. Вы можете получить разницу между двумя объектами:

import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
timediff = time2 - time1
print(timediff.microseconds)

Вы можете сами создавать объекты даты с произвольным значением:

time1 = datetime.datetime.now()
time2 = datetime.timedelta(days=3)
time3=time1+time2
print(time3.date())

1. Форматирование даты и времени

Метод strftime позволяет изменить формат даты и времени зависимо от выбранного стандарта или указанного формата. Вот основные символы форматирования:

  • %a - день недели, сокращенное название;
  • %A - день недели, полное название;
  • %w - номер дня недели, от 0 до 6;
  • %d - день месяца;
  • %b - сокращенное название месяца;
  • %B - полное название месяца;
  • %m - номер месяца;
  • %Y - номер года;
  • %H - час дня в 24 часовом формате;
  • %l - час дня в 12 часовом формате;
  • %p - AM или PM;
  • %M - минута;
  • %S - секунда.

import datetime
date1 = datetime.datetime.now()
print(date1.strftime("%d. %B %Y %I:%M%p"))

2. Создать дату из строки

Вы можете использовать функцию strptime() для создания объекта даты из строки:

import datetime
date1=datetime.datetime.strptime("2016-11-21", "%Y-%m-%d")
date2=datetime.datetime(year=2015, month=11, day=21)
print(date1);
print(date2);

Операции с файловой системой

Управление файлами выполняется очень просто в язык программирования Python, это лучший язык для работы с файлами. Да и вообще, можно сказать, что Python - это самый простой язык.

1. Копирование файлов

Для копирования файлов нужно использовать функции из модуля subutil:

import shutil
new_path = shutil.copy("file1.txt", "file2.txt")

new_path = shutil.copy("file1.txt", "file2.txt", follow_symlinks=False)

2. Перемещение файлов

Перемещение файлов выполняется с помощью функции move:

shutil.move("file1.txt", "file3.txt")

Функция rename из модуля os позволяет переименовывать файлы:

import os
os.rename("file1.txt", "file3.txt")

3. Чтение и запись текстовых файлов

Вы можете использовать встроенные функции для открытия файлов, чтения или записи данных в них:

fd = open("file1.txt")
content = fd.read()
print(content)

Сначала нужно открыть файл для работы с помощью функции open. Для чтения данных из файла используется функция read, прочитанный текст будет сохранен в переменную. Вы можете указать количество байт, которые нужно прочитать:

fd = open("file1.txt")
content = fd.read(20)
print(content)

Если файл слишком большой, вы можете разбить его на строки и уже так выполнять обработку:

content = fd.readlines()
print(content)

Чтобы записать данные в файл, его сначала нужно открыть для записи. Есть два режима работы - перезапись и добавление в конец файла. Режим записи:

fd = open("file1.txt","w")

И добавление в конец файла:

fd = open("file1.txt","a")
content = fd.write("Новое содержимое")

4. Создание директорий

Чтобы создать директорию используйте функцию mkdir из модуля os:

import os
os.mkdir("./новая папка")

5. Получение времени создания

Вы можете использовать функции getmtime(), getatime() и getctime() для получения времени последнего изменения, последнего доступа и создания. Результат будет выведен в формате Unix, поэтому его нужно конвертировать в читаемый вид:

import os
import datetime
tim=os.path.getctime("./file1.txt")
print(datetime.datetime.fromtimestamp(tim))

6. Список файлов

С помощью функции listdir() вы можете получить список файлов в папке:

import os
files= os.listdir(".")
print(files)

Для решения той же задачи можно использовать модуль glob:

import glob
files=glob.glob("*")
print(files)

7. Сериализация объектов Python

import pickle
fd = open("myfile.pk ", "wb")
pickle.dump(mydata,fd)

Затем для восстановления объекта используйте:

import pickle
fd = open("myfile.pk ", "rb")
mydata = pickle.load(fd)

8. Сжатие файлов

Стандартная библиотека Python позволяет работать с различными форматами архивов, например, zip, tar, gzip, bzip2. Чтобы посмотреть содержимое файла используйте:

import zipfile
my_zip = zipfile.ZipFile("my_file.zip", mode="r")
print(file.namelist())

А для создания zip архива:

import zipfile
file=zipfile.ZipFile("files.zip","w")
file.write("file1.txt")
file.close()

Также вы можете распаковать архив:

import zipfile
file=zipfile.ZipFile("files.zip","r")
file.extractall()
file.close()

Вы можете добавить файлы в архив так:

import zipfile
file=zipfile.ZipFile("files.zip","a")
file.write("file2.txt")
file.close()

9. Разбор CSV и Exel файлов

С помощью модуля pandas можно смотреть и разбирать содержимое CSV и Exel таблиц. Сначала нужно установить модуль с помощью pip:

sudo pip install pandas

Затем для разбора наберите:

import pandas
data=pandas.read_csv("file.csv)

По умолчанию pandas использует первую колонку для заголовков каждой из строк. Вы можете задать колонку для индекса с помощью параметра index_col или указать False, если он не нужен. Чтобы записать изменения в файл используйте функцию to_csv:

data.to_csv("file.csv)

Таким же образом можно разобрать файл Exel:

data = pd.read_excel("file.xls", sheetname="Sheet1")

Если нужно открыть все таблицы, используйте:

data = pd.ExcelFile("file.xls")

Затем можно записать все данные обратно:

data.to_excel("file.xls", sheet="Sheet1")

Работа с сетью в Python

Программирование на Python 3 часто включает работу с сетью. Стандартная библиотека Python включает в себя возможности работы с сокетами для доступа к сети на низком уровне. Это нужно для поддержки множества сетевых протоколов.

import socket
host = "192.168.1.5"
port = 4040
my_sock = socket.create_connection ((host, port))

Этот код подключается к порту 4040 на машине 192.168.1.5. Когда сокет открыт, вы можете отправлять и получать данные:

my_sock.sendall(b"Hello World")

Нам необходимо писать символ b, перед строкой, потому что надо передавать данные в двоичном режиме. Если сообщение слишком большое, вы можете выполнить итерацию:

msg = b"Longer Message Goes Here"
mesglen = len(msg)
total = 0
while total < msglen:
sent = my_sock.send(msg)
total = total + sent

Для получения данных вам тоже нужно открыть сокет, только используется метод my_sock_recv:

data_in = my_sock.recv(2000)

Здесь мы указываем сколько данных нужно получить - 20000, данные не будут переданы в переменную, пока не будет получено 20000 байт данных. Если сообщение больше, то для его получения нужно создать цикл:

buffer = bytearray(b" " * 2000)
my_sock.recv_into(buffer)

Если буфер пуст, туда будет записано полученное сообщение.

Работа с почтой

Стандартная библиотека Python позволяет получать и отправлять электронные сообщения.

1. Получение почты от POP3 сервера

Для получения сообщений мы используем POP сервер:

import getpass,poplib
pop_serv = poplib.POP3("192.168.1.5")
pop_serv.user("myuser")
pop_serv.pass_(getpass.getpass())

Модуль getpass позволяет получить пароль пользователя безопасным образом, так что он не будет отображаться на экране. Если POP сервер использует защищенное соединение, вам нужно использовать класс POP3_SSL. Если подключение прошло успешно, вы можете взаимодействовать с сервером:

msg_list = pop_serv.list() # to list the messages
msg_count = pop_serv.msg_count()

Для завершения работы используйте:

2. Получение почты от IMAP сервера

Для подключения и работы с сервером IMAP используется модуль imaplib:

import imaplib, getpass
my_imap = imaplib.IMAP4("imap.server.com")
my_imap.login("myuser", getpass.getpass())

Если ваш IMAP сервер использует защищенное соединение, нужно использовать класс IMAP4_SSL. Для получения списка сообщений используйте:

data = my_imap.search(None, "ALL")

Затем вы можете выполнить цикл по выбранному списку и прочитать каждое сообщение:

msg = my_imap.fetch(email_id, "(RFC822)")

Но, не забудьте закрыть соединение:

my_imap.close()
my_imap.logout()

3. Отправка почты

Для отправки почты используется протокол SMTP и модуль smtplib:

import smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com")
my_smtp.login("myuser", getpass.getpass())

Как и раньше, для защищенного соединения используйте SMTP_SSL. Когда соединение будет установлено, можно отправить сообщение:

from_addr = "[email protected]"
to_addr = "[email protected]"
msg = "From: [email protected]\r\nTo: [email protected]\r\n\r\nHello, this is a test message"
my_smtp.sendmail(from_addr, to_addr, msg)

Работа с веб-страницами

Программирование на Python часто используется для написания различных скриптов для работы с веб.

1. Веб краулинг

Модуль urllib позволяет выполнять запросы к веб-страницам различными способами. Для отправки обычного запроса используется класс request. Например, выполним обычный запрос страницы:

import urllib.request
my_web = urllib.request.urlopen("https://www.google.com")
print(my_web.read())

2. Использование метода POST

Если вам нужно отправить веб-форму, необходимо использовать не GET запрос, а POST:

import urllib.request
mydata = b"Your Data Goes Here"
my_req = urllib.request.Request("http://localhost", data=mydata,method="POST")
my_form = urllib.request.urlopen(my_req)
print(my_form.status)

3. Создание веб-сервера

С помощью класса Socket вы можете принимать входящие подключения, а значит можете создать веб-сервер с минимальными возможностями:

import socket
host = ""
port = 4242
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((host, port))
my_server.listen(1)

Когда сервер создан. вы можете начать принимать соединения:

addr = my_server.accept()
print("Connected from host ", addr)
data = conn.recv(1024)

И не забудьте закрыть соединение:

Многопоточность

Как и большинство современных языков, Python позволяет запускать несколько параллельных потоков, которые могут быть полезными, если нужно выполнить сложные вычисления. В стандартной библиотеке есть модуль threading, который содержит класс Therad:

import threading
def print_message():
print("The message got printed from a different thread")
my_thread = threading.Thread(target=print_message)
my_thread.start()

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

import threading
num = 1
my_lock = threading.Lock()
def my_func():
global num, my_lock
my_lock.acquire()
sum = num + 1
print(sum)
my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()

Выводы

В этой статье мы рассмотрели основы программирования python. Теперь вы знаете большинство часто используемых функций и можете применять их в своих небольших программах. Вам понравиться программирование на Python 3, это очень легко! Если у вас остались вопросы, спрашивайте в комментариях!

На завершение статьи отличная лекция о Python:

Історія

Мова програмування Python була створена приблизно в 1991 році голандцем .

Своє ім"я - Python (Пайтон) - отримав від назви телесеріалу (“Monty Python”) , а не плазуна.

Після того, як Россум розробив мову, він виклав її в Інтернет, де вже ціле співтовариство програмістів приєдналося до її поліпшення. Python активно вдосконалюється і в даний час. Часто виходять його нові версії. Офіційний сайт http://python.org

З появою версії 3.0 розвиток Python як би пішов в двох напрямках: одночасно розвиваються і 2-га і 3-я версії Python.

Примітка: В даному підручнику ми будемо вивчати 3-ю версію Python. Хоча для тих хто хоче вчити 2-гу версію, цей підручник буде однаково корисним: на даному етапі вивчення мови різниця між версіями практично не відчутна (окрім правил написання команд print() та input() , про що буде повідомлено нижче).

Особливості

Python - інтерпретована мова програмування: вихідний код частинами перетворюється в машинний в процесі виконання спеціальною програмою - інтерпретатором.

Python характеризується ясним синтаксисом. Читати код на цій мові програмування досить легко, тому що в ньому мало допоміжних елементів, а правила мови змушують програмістів робити відступи . Зрозуміло, що добре оформлений текст з малою кількістю відволікаючих елементів читати і розуміти легше.

Python - це повноцінна, можна сказати універсальна, мова програмування. Він підтримує об"єктно-орієнтоване програмування (насправді вона і розроблявся як об"єктно-орієнтована мова).

Також Python поширюється вільно на підставі ліцензії GNU General Public License.

Дзен Пітона

Якщо інтерпретатору Пітона дати команду import this (імпортувати "сам об"єкт"), то виведеться так званий "Дзен Пітона", який ілюструє ідеологію і особливості даної мови. Глибоке розуміння цього дзену приходить тим, хто зможе освоїти мову Python в повній мірі і отримає досвід практичного програмування.

Фраза Переклад
1. Beautiful is better than ugly. Красиве краще за потворне.
2. Explicit is better than implicit. Просте краще за складне.
4. Complex is better than complicated. Складне краще за ускладнене.
5. Flat is better than nested. Плоске краще ніж вкладене.
6. Sparse is better than dense. Розріджене краще ніж щільне.
7. Readability counts. Читабельність важлива.
8. Special cases aren"t special enough to break the rules. Виняткові випадки не настільки важливі, щоб порушувати правила.
9. Although practicality beats purity. Однак практичність важливіша за чистоту.
10. Errors should never pass silently. Помилки ніколи не повинні замовчуватися.
11. Unless explicitly silenced. За винятком замовчування, яке задано спеціально.
12. In the face of ambiguity, refuse the temptation to guess. У випадку неоднозначності не піддавайтеся спокусі вгадати.
13. There should be one - and preferably only one - obvious way to do it. Повинен існувати один - і, бажано, тільки один - очевидний спосіб зробити це.
14. Although that way may not be obvious at first unless you"re Dutch. Хоча він може бути з першого погляду не очевидний, якщо ти не голландець.
15. Now is better than never. Зараз краще, ніж ніколи.
16. Although never is often better than * Right * now. Проте, ніколи частіше краще, ніж прямо зараз.
17. If the implementation is hard to explain, it"s a bad idea. Якщо реалізацію складно пояснити - це погана ідея.
18. If the implementation is easy to explain, it may be a good idea. Якщо реалізацію легко пояснити - це може бути хороша ідея.
19. Namespaces are one honking great idea - Let"s do more of those! Простори назв - прекрасна ідея, давайте робити їх більше!

Як писати програми

Програмне забезпечення

    Сам інтерпретатор з інтерактивною оболонкою IDLE. Його можна взяти тут (http://python.org/download/). Існують версії для Linux, Windows, MacOS.

    Середовище розробки. Воно для початку необов"язкове, та й те що йде в дистрибутиві підійде новачкові, але для серйозних проектів потрібно щось серйозніше. Для Windows, наприклад, можна використовувати чудовий легкий PyScripter , для Linux - Komodo IDE .

Інтерактивний режим

Для початку попрацюємо в інтерактивні оболочці IDLE. Просто запустіть дистрибутив (перед цим, звичайно, його треба закачати та інсталювати). Запрошення введення не змусить себе довго чекати, воно виглядає так:

>>>

В основному інтерпретатор виконує команди порядково: пишеш рядок, натискаєш Enter, інтерпретатор виконує її, спостерігаєш результат.

Це дуже зручно, коли людина тільки вивчає програмування або тестує якусь невелику частину коду. Адже якщо працювати на компільованій мові, то довелося б спочатку написати код на вихідній мові програмування, потім скомпілювати і вже потім запустити виконуваний файл на виконання.

Примітка: Працювати в інтерактивному режимі в ОС Linux можна не лише в оболочці IDLE але й безпосередньо в консолі. Для цього слід виконати команду python . Запуститься інтерпретатор, де спочатку виведеться інформація про інтерпретатор. Далі, послідує запрошення до вводу (>>> ). Хоча працювати в інтерактивній оболочці IDLE зручніше, так як там є підсвічування синтаксису (залежно від значення синтаксичної одиниці вона виділяється певним кольором) і спливаючі підказки.

Оскільки ніяких команд ми поки не знаємо, то будемо використовувати Python як калькулятор (можливості мови це дозволяють). Пишемо вираз, натискаємо Enter і отримуємо результат:

>>>2+5
7
>>>3*(5-8)
-9
>>>2.4+3.0/2
3.9

Прокручувати список раніше введених команд можна за допомогою комбінацій Alt + N , Alt + P .

Створення скриптів

Незважаючи на зручності інтерактивного режиму роботи при написанні програм на Python, зазвичай потрібно зберігати вихідний програмний код для подальшого використання. У такому випадку підготовлюються файли, які передаються потім інтерпретатору на виконання. По відношенню до інтерпретованих мов програмування часто вихідний код називають скриптом . Файли з кодом на Python зазвичай мають розширення py .

Підготувати скрипти можна в тому ж середовищі IDLE. Для цього, після запуску програми в меню слід вибрати команду File → New Window (Crtl + N) , відкриється нове вікно. Потім бажано відразу зберегти файл (не забуваємо про розширення py ). Після того як код буде підготовлений, знову збережіть файл (щоб оновити збереження). Ну і нарешті, можна запустити скрипт, виконавши команду меню Run → Run Module (F5) . Після цього в першому вікні з"явиться результат виконання коду. (Примітка: якщо набирати код, не зберігши спочатку файл, то підсвічування синтаксису буде відсутнє.)

Підготуйте скрипт (з прикладами). Запустіть його на виконання.

Насправді скрипти можна готувати в будь-якому текстовому редакторі (бажано, щоб він підтримував підсвічування синтаксису мови Python). Крім того, існують спеціальні програми для розробки.

Запускати підготовлені файли можна не тільки в IDLE, але і в консолі (для Linux) за допомогою команди

У консолі передайте інтерпретатору Пітона на виконання підготовлений файл.

Крім того, існує можливість налаштувати виконання скриптів за допомогою подвійного кліка по файлу (в Windows дана можливість присутня від початку).

Python відноситься до тих рідкісних мов програмування які можуть бути визнані простими і в той же час потужними. Ти будеш приємно здивований як легко сконцентруватися на вирішення власне самої проблеми, а не на синтаксису і структурі мови програмування на якій ти пишеш.

Офіційне введення в мову Python наступне:

Python легка у вивченні, потужна мова програмування. Вона має ефективні високорівневі структури даних і простий, але ефективний підхід до об’єктно- орієнтованого програмування. Елегантний синтаксис мови і динамічна типізація поєднані з командно-інтерпретованою природою роблять Python ідеальною мовою для написання скриптів та швидкої розробки програм в багатьох сферах та на різних платформах.

Просто вивести на екран “Привіт, світе” недостатньо, чи не так? Ти хочеш зробити більше за це - ти хочеш отримати якісь дані від користувача, виконати над ними якісь дії і щось із цього отримати. Ми можемо досягти цього у Python викор. константи і змінні.

Літеральні константи

Прикладом літеральної константи може бути число, напр. 5, 1.23 чи, наприклад, рядок: "Це рядок!". Домовимося що під літеральною константою тут розуміється константа (після визначення її не можна змінити), яка включена в текст програми безпосередньо, буквально, тобто до неї не можна отримати доступ, зіславшись на неї, наприклад зі змінної. Трохи мутно, але це дані числового чи рядкового типу включені в програму як вони є (змінна не може вважатися літеральною константою).

Числа

В Python існують числа трьох типів: цілочисельні(integers), числа з плаваючою комою(floating point) і комлексні числа.

Прикладом цілочислового числа може бути число 2.

Прикладом чисел з плаваючою комою є 3.23.

Прикладом комплексних чисел є: 52.3E-4 .

Зауваження для досвідчених програмістів

В Python не існує окремого типу даних "long int". Т ип int може бути як завгодно довгим.

Рядки

Рядок - це послідовність символів. Загалом, рядки це просто жмут слів. Слова можуть бути написані на будь-якій мові яку підтримує стандарт Unicode, що значить - майже будь-яка мова на Землі.

Я майже гарантую тобі, що ти будеш використовувати рядки у будь-якій програмі на Python, тому будь уважним до наступної частини де розказується як використовувати рядки.

Одинарні лапки

Ти можеш створити рядок використовуючи одинарні лапки такі як "Quote me on this". Всі розділові знаки показується як є.

Подвійні лапки

Рядки у подвійних лапках обробляються так само як і рядки в одинарних лапках. Приклад: "Як твоє ім"я?".

Потрійні лапки

Можна визначати багаторядкові рядки викор. потрійні лапки (""" або """). Подвійні і одинарні лапки можна вільно використовувати всередині потрійних. Приклад:

"""This is a multi-line string.This is the first line. This is the second line. "What"s your name?," I asked. He said "Bond, James Bond". """

Керуючі послідовності

Припустимо, що ти хочеш мати рядок який містить одинарну лапку ("), як ти визначиш рядок? Наприклад, рядок What"s your name?. Ти не можеш написати "What"s your name?" тому що Python не зможе визначити де рядок починається, а де він закінчується. Тому, потрібно вказати, що та лапка не вказує на кінець рядка. Це можна зробити скориставшись так званими керуючими послідовностями. Треба написати \" - зауваж зворотню косу лінію. Тепер, ти можеш визначити рядок так: "What\"s your name?".

Інший спосіб, яким можна визначити цей специфічний рядок, написати ось так: "What"s your name?". Використовуючи подвійні лапки. Таким же чином ти повинен викор. подвійні лапки у рядку, що оточений подвійними лапками. Для того щоб вказати на те що потрібен саме зворотній слеш, пишемо ось так: \\.

Що якщо ти захотів вказати логічний рядок розташований на двох фізичних рядках? Один із можливих способів використання потрійних лапок, але існує також інший варіант - використання керуючого символу для позначення початку нового рядка - \n. Приклад використання:

{pre class="brush: python; gutter:false;" }This is the first line\nThis is the second line{/pre}

Інша корисна послідовність керуючих символів це відступ - \t. Існує багато інших керуючих символів, але я зауважив тільки найбільш корисніші.

Слід зауважити, що один символ \ в кінці рядка позначає те, що рядок продовжується на наступній лінії, але ніяких символів до нового рядка не додається! Приклад:

"This is the first sentence.\ This is the second sentence."

що еквівалентно “This is the first sentence. This is the second sentence.”.

Необроблювані рядки

Якщо потрібно визначити рядок де не відбувається обробка жодних спеціальних символів, треба написати букву r або R на початку рядка. Приклад:

R"Newlines are indicated by \n"

Рядки незмінні (immutable)

Це означає, що з того часу як ти створив рядок, ти не можеш його змінити. Наприклад, написати someString="a". Це може виглядати недобре, але насправді це не так.

Об’єднання рядків

Якщо ти розмістиш два рядки поряд, то вони будуть автоматично об’єднані (конкатеновані). Наприклад, "What\"s" "your name?" автоматично перетвориться на "What"s your name?".

Зауваження для C/C++ програмістів

В Python не існує окремого типу даних char. В цьому не має реальної потреби, і я впевнений що ти в цьому переконаєшся.

Зауваження для Perl/PHP програмістів

Запам’ятай, що різниці між рядками у подвійних і одинарних лапках не існує.

Зауваження для користувачів регулярних виразів

Завжди використовуй необроблювані рядки, коли користуєшся регулярними виразами. Інакше може знадобиться багато екранування. Наприклад, зворотні ссилки можна позначати як "\\1" або r"\1".

Метод format

Іноді ми можемо захотіти створити рядок з іншої якоїсь інформації. Ось де метод format() стане в нагоді.

#!/usr/bin/python # Filename: str_format.py age = 25 name = "Swaroop" print("{0} is {1} years old".format(name, age)) print("Why is {0} playing with that python?".format(name))

Виведе:

$ python str_format.py

Swaroop is 25 years old

Why is Swaroop playing with that python?

Як це працює?

Всередині рядка ми вставили певні специфікатори і викликали метод format. Який заміняє ці специфікатори відповідними аргументами переданими методу. Перший специфікатор це - {0}, він відповідає змінній name, яка є першим аргументом для вищевказаного методу format. Та ж історія із другим специфікатором - {1}, він відповідає другому аргументу - age.

Зауваж, що ми також можемо досягти того ж результату скориставшись конкатенацією рядків: name + " is " + str(age) + " years old", але зверни увагу на те, що це більш незручно, крім того такий спосіб може збільшити к-ть помилок. Перетворення в рядковий тип відбувається автоматично (це робить метод format). Не потрібно це робити явно, в ручну. Коли викор. метод format можна змінювати повідомлення не маючи справи зі змінними.

Що Python робить так це замінює аргументами відповідні специфікатори. Можна скористатися і більш деталізованими специфікаторами:

>>> "{0:.3}".format(1/3)# число з дробною часткою (.). Точність 3 знаки "0.333" >>> "{0”__^11}".format("hello")# заповнити нижнім підкреслюванням. Текст #відцентровано (^) до довжини 11 "___hello___" >>> "{name} wrote {book}".format(name="Swaroop", book="A Byte of Python")#ключові слова "Swaroop wrote A Byte of Python"

Деталі форматування специфікацій пояснені в Python Enhancement Proposal No. 3101 (http://www.python.org/dev/peps/pep-3101/).

Поняття змінної

Використання тільки літеральних констант може дуже швидко стати нудним - нам потрібен спосіб який би дозволив зберігати будь-яку інформацію і маніпулювати цією інформацією. Ось тут змінні стануть нам в нагоді. Поняття змінної означає саме те що значить саме слово - їхні значення можуть змінюватися, іншими словами ти можеш зберігати будь-які дані користуючись змінною. Змінні це - просто іменована частина пам’яті твого комп’ютера де ти тримаєш певну інформацію. На відміну від літеральних констант потрібен якийсь спосіб для отримання доступу до змінних і саме тому ти даєш їм імена.

Іменування ідентифікаторів

Змінні є прикладом ідентифікаторів. В свою чергу ідентифікатори це імена які на щось вказують (ідентифікують). Існують певні правила яким ти повинен слідувати при іменуванні ідентифікаторів:

1) Першим символом ідентифікатора має бути літера (символ з набору ASCII або Unicode-символ. Байдуже у якому регістрі.) чи знак нижнього підкреслювання (underscore) - "_".

2) Решта ідентифікатору може складатися з літер, чисел, або знаків нижнього підкреслювання.

3) Імена ідентифікаторів чутливі до регістру символів. Наприклад, myname і myName це не одне й теж саме (це різні змінні).

4) Прикладом правильних імен ідентифікаторів є i, __my_name, name_23, a1b2_c3 і resumÃÆâ€TMƒÂ©_count.

5) Приклад неправильних імен ідентифікаторів: 2things, this is spaced out, my-name, "this_is_in_quotes".

Типи даних

Змінні можуть містити значення які відносяться до різних типів даних. Базовими типами є числа і рядки. Далі ми розглянемо як створювати власні типи даних користуючись класами.

Об’єкти

Запам’ятай, Python відноситься до всього, що використано в програмі як до об’єкта.

Зауваження для користувачів ООП

Python дуже об’єктно-орієнтований у тому значенні, що все є об’єктом, включаючи такі базові типи, як рядки, числа і навіть функції.

Зараз ми побачимо як використовувати змінні разом з літеральними константами. Збережи наступний приклад і запусти програму.

Приклад: використання змінних і літеральних констант

#Filename: var.py i = 5 print(i) i=i+1 #або i+=1. Така конструкція є більш вживаною print(i) s="""This is a multi-line string. This is the second line""" print(s)

Що виведе на екран:

$ python var.py

This is a multi-line string.

This is the second line.

Як це працює:

Спершу ми присвоїли число 5 змінній з іменем i використовуючи оператор присвоєння (=). Цей рядок називається твердженням тому що він наголошує на тому, що щось має бути зроблено, у даному випадку ми поєднали ім’я змінної iз числом 5. Далі, ми вивели на екран значення змінної i використовуючи вбудовану функцію print, яка, як це не дивно, просто виводить на екран значення змінної.

Потім ми додали 1 до значення яке міститься в змінній i і повернули його назад в ту ж саму змінну. Все що робить конструкція i=i+1 так це додає до значення, яке міститься у змінній i число 1, а потім перевизначає змінну i новим значенням (повертає результат операції 5+1 у змінну). Вираз слід читати зправа наліво (Запусти інтерпретатор Python в інтерактивному режимі і спробуй спочатку написати i=5 а потім i+1. Після кожної операції виводячи значення змінної (достатньо просто написати ім’я змінної)).

Зауваження для програмістів на статичних мовах програмування

Змінні визначаються (їх можна починати використовувати) відразу після присвоєння їй якогось значення (достатньо написати ім’я змінної оператор присвоєння і значення для змінної). Ніяких оголошень чи визначення типу даних не потрібно.

Різниця між логічними та фізичним рядками тексту

Під логічним рядком слід розуміти ОДНУ завершену інструкцію (будемо вважати, що одна така завершена конструкція є оператором) для Python. Фішка в тому що зазвичай, кожна така інструкція має в кінці якийсь знак який і вказує на її завершеність (ніби крапка в реченні, якщо в кінці речення не вказати крапку, то буде не зрозуміло чи це завершене твердження чи ти ще щось хотів сказати). Зазвичай таким знаком є ;. В таких мовах програмування як С, С++ etc в кінці кожної інструкції ОБОВ’ЯЗКОВО ставиться крапка з комою. Python же є винятком - тут це робити необов’язково і більшість програмістів на Python цього не роблять. Але зауваж, що якщо ти цього не робиш, то кожен оператор має розташовуватися на одному рядку, тобто

A=5 print(a)

неправильно, а от

A=5 print(a)

правильно.
Для того щоб розташувати декілька операторів на одному фізичному рядку слід після кожного вказувати крапку з комою:

A=5; print(a); b=input("How old are you?")#даний код працює. В кінці немає ; бо це була остання ірструкція в цьому фізичному рядку

Неявно Python заохочує до практики один рядок - одна інструкція. Це робить код більш читабельним (його легше сприймати).

Також не варто змішувати різні стилі в одній програмі.

Якщо виникне необхідність вивести на екран довгий рядок тексту, який бажано було б розбити на декілька фізичних рядків в тексті програми, і який повинен знаходитися на одному фізичному рядку на екрані слід писати так:

S="This is a string. \ This continues the string." print(s)

Після виконання даного коду на екрані відобразиться:

This is a string. This continues the string

Схожим чином,

те ж саме що й

Існують випадки коли не потрібно використовувати явне об’єднання рядків. Це стосується рядків які знаходяться всередині дужок, квадратних чи фігурних дужок.

Відступи

Відступи відіграють дуже важливу роль в Python. Пробіли або відступи (таби) на початку логічного рядка вказують рівень вкладеності логічного рядка, який у свою чергу, використовується для групування операторів (в багатьох інших мовах програмування для цього використовуються {}).

Це означає що оператори які йдуть разом повинні мати однаковий рівень вкладеності. Кожен такий набір операторів називається блоком. Пізніше ми побачимо наскільки блоки важливі.

Одну дуже важливу річ яку ти маєш запам’ятати це те що невірна к-ть відступів може призвести до виникнення помилок.. Для прикладу:

I=5 print("Value is ", i) #Помилка! Зауваж пробіл на початку print("I repeat, the value is", i)

Коли ти це запустиш, то отримаєш помилку:

File "whitespace.py", line 4

print("Value is ", i) #Помилка! Зауваж пробіл на початку

IndentationError: unexpected indent

Як правильно робити відступи?

Ні в якому разі не використовуй мішанину з пробілів і відступів! Варто використовувати тільки або 4- и пробіли або один відступ (клавіша Tab)


В которой, в сжатой форме,
рассказывают об основах языка Python. Я предлагаю вам перевод этой статьи. Перевод не дословный. Я постарался подробнее объяснить некоторые моменты, которые могут быть непонятны.

Если вы собрались изучать язык Python, но не можете найти подходящего руководства, то эта
статья вам очень пригодится! За короткое время, вы сможете познакомиться с
основами языка Python. Хотя эта статья часто опирается
на то, что вы уже имеете опыт программирования, но, я надеюсь, даже новичкам
этот материал будет полезен. Внимательно прочитайте каждый параграф. В связи с
сжатостью материала, некоторые темы рассмотрены поверхностно, но содержат весь
необходимый метриал.

Основные свойства

Python не требует явного объявления переменных, является регистро-зависим (переменная var не эквивалентна переменной Var или VAR - это три разные переменные) объектно-ориентированным языком.

Синтаксис

Во первых стоит отметить интересную особенность Python. Он не содержит операторных скобок (begin..end в pascal или {..}в Си), вместо этого блоки выделяются отступами : пробелами или табуляцией, а вход в блок из операторов осуществляется двоеточием. Однострочные комментарии начинаются со знака фунта «#», многострочные - начинаются и заканчиваются тремя двойными кавычками «"""».
Чтобы присвоить значение пременной используется знак «=», а для сравнения -
«==». Для увеличения значения переменной, или добавления к строке используется оператор «+=», а для уменьшения - «-=». Все эти операции могут взаимодействовать с большинством типов, в том числе со строками. Например


>>> myvar = 3
>>> myvar += 2
>>> myvar -= 1
""«Это многострочный комментарий
Строки заключенные в три двойные кавычки игнорируются»""

>>> mystring = «Hello»
>>> mystring += " world."
>>> print mystring
Hello world.
# Следующая строка меняет
значения переменных местами. (Всего одна строка!)

>>> myvar, mystring = mystring, myvar

Структуры данных

Python содержит такие структуры данных как списки (lists), кортежи (tuples) и словари (dictionaries ). Списки - похожи на одномерные массивы (но вы можете использовать Список включающий списки - многомерный массив), кортежи - неизменяемые списки, словари - тоже списки, но индексы могут быть любого типа, а не только числовыми. "Массивы" в Python могут содержать данные любого типа, то есть в одном массиве может могут находиться числовые, строковые и другие типы данных. Массивы начинаются с индекса 0, а последний элемент можно получить по индексу -1 Вы можете присваивать переменным функции и использовать их соответственно.


>>> sample = , («a» , «tuple» )] #Список состоит из целого числа, другого списка и кортежа
>>> #Этот список содержит строку, целое и дробное число
>>> mylist = «List item 1 again» #Изменяем первый (нулевой) элемент листа mylist
>>> mylist[-1 ] = 3 .14 #Изменяем последний элемент листа
>>> mydict = {«Key 1» : «Value 1» , 2 : 3 , «pi» : 3 .14 } #Создаем словарь, с числовыми и целочисленным индексами
>>> mydict[«pi» ] = 3 .15 #Изменяем элемент словаря под индексом «pi».
>>> mytuple = (1 , 2 , 3 ) #Задаем кортеж
>>> myfunction = len #Python позволяет таким образом объявлять синонимы функции
>>> print myfunction(list )
3

Вы можете использовать часть массива, задавая первый и последний индекс через двоеточие «:». В таком случае вы получите часть массива, от первого индекса до второго не включительно. Если не указан первый элемент, то отсчет начинается с начала массива, а если не указан последний - то масив считывается до последнего элемента. Отрицательные значения определяют положение элемента с конца. Например:


>>> mylist = [«List item 1» , 2 , 3 .14 ]
>>> print mylist[:] #Считываются все элементы массива
["List item 1" , 2 , 3 .1400000000000001 ]
>>> print mylist #Считываются нулевой и первый элемент массива.
["List item 1" , 2 ]
>>> print mylist[-3 :-1 ] #Считываются элементы от нулевого (-3) до второго (-1) (не включительно)
["List item 1" , 2 ]
>>> print mylist #Считываются элементы от первого, до последнего

Строки

Строки в Python обособляются кавычками двойными «"» или одинарными «"» . Внутри двойных ковычек могут присутствовать одинарные или наоборот. К примеру строка «Он сказал "привет"!» будет выведена на экран как «Он сказал "привет"!». Если нужно использовать строку из несколько строчек, то эту строку надо начинать и заканчивать тремя двойными кавычками «"""». Вы можете подставить в шаблон строки элементы из кортежа или словаря. Знак процента «%» между строкой и кортежем, заменяет в строке символы «%s» на элемент кортежа. Словари позволяют вставлять в строку элемент под заданным индексом. Для этого надо использовать в строке конструкцию «%(индекс)s». В этом случае вместо «%(индекс)s» будет подставлено значение словаря под заданным индексом.


>>>print «Name: %s\nNumber: %s\nString: %s» % (myclass .name, 3 , 3 * "-" )
Name: Poromenos
Number: 3
String: -
strString = ""«Этот текст расположен
на нескольких строках»""

>>> print «This %(verb)s a %(noun)s.» % {«noun» : «test» , «verb» : «is» }
This is a test.

Операторы

Операторы while, if , for составляют операторы перемещения. Здесь нет аналога оператора select, так что придется обходиться if . В операторе for происходит сравнение переменной и списка . Чтобы получить список цифр до числа - используйте функцию range(). Вот пример использования операторов


rangelist = range (10 ) #Получаем список из десяти цифр (от 0 до 9)
>>> print rangelist
for number in rangelist: #Пока переменная number (которая каждый раз увеличивается на единицу) входит в список…
# Проверяем входит ли переменная
# numbers в кортеж чисел (3 , 4 , 7 , 9 )
if number in (3 , 4 , 7 , 9 ): #Если переменная number входит в кортеж (3, 4, 7, 9)...
# Операция «break » обеспечивает
# выход из цикла в любой момент
break
else :
# «continue » осуществляет «прокрутку»
# цикла. Здесь это не требуется, так как после этой операции
# в любом случае программа переходит опять к обработке цикла
continue
else :
# «else » указывать необязательно. Условие выполняется
# если цикл не был прерван при помощи «break ».
pass # Ничего не делать

if rangelist == 2 :
print «The second item (lists are 0-based) is 2»
elif rangelist == 3 :
print «The second item (lists are 0-based) is 3»
else :
print «Dunno»

while rangelist == 1 :
pass

Функции

Для объявления функции служит ключевое слово «def » . Аргументы функции задаются в скобках после названия функции. Можно задавать необязательные аргументы, присваивая им значение по умолчанию. Функции могут возвращать кортежи, в таком случае надо писать возвращаемые значения через запятую. Ключевое слово «lambda » служит для объявления элементарных функций.


# arg2 и arg3 - необязательые аргументы, принимают значение объявленное по умолчни,
# если не задать им другое значение при вызове функци.
def myfunction(arg1, arg2 = 100 , arg3 = «test» ):
return arg3, arg2, arg1
#Функция вызывается со значением первого аргумента - "Argument 1", второго - по умолчанию, и третьего - "Named argument" .
>>>ret1, ret2, ret3 = myfunction(«Argument 1» , arg3 = «Named argument» )
# ret1, ret2 и ret3 принимают значения "Named argument", 100, "Argument 1" соответственно
>>> print ret1, ret2, ret3
Named argument 100 Argument 1

# Следующая запись эквивалентна def f(x): return x + 1
functionvar = lambda x: x + 1
>>> print functionvar(1 )
2

Классы

Язык Python ограничен в множественном наследовании в классах. Внутренние переменные и внутренние методы классов начинаются с двух знаков нижнего подчеркивания «__» (например «__myprivatevar»). Мы можем также присвоить значение переменной класса извне. Пример:


class Myclass :
common = 10
def __init__(self ):
self .myvariable = 3
def myfunction(self , arg1, arg2):
return self .myvariable

# Здесь мы объявили класс Myclass . Функция __init__ вызывается автоматически при инициализации классов.
>>> classinstance = Myclass () # Мы инициализировали класс и переменная myvariable приобрела значение 3 как заявлено в методе инициализации
>>> #Метод myfunction класса Myclass возвращает значение переменной myvariable
3
# Переменная common объявлена во всех классах
>>> classinstance2 = Myclass ()
>>> classinstance.common
10
>>> classinstance2.common
10
# Поэтому, если мы изменим ее значение в классе Myclass изменятся
# и ее значения в объектах, инициализированных классом Myclass
>>> Myclass.common = 30
>>> classinstance.common
30
>>> classinstance2.common
30
# А здесь мы не изменяем переменную класса. Вместо этого
# мы объявляем оную в объекте и присваиваем ей новое значение
>>> classinstance.common = 10
>>> classinstance.common
10
>>> classinstance2.common
30
>>> Myclass.common = 50
# Теперь изменение переменной класса не коснется
# переменных объектов этого класса
>>> classinstance.common
10
>>> classinstance2.common
50

# Следующий класс является наследником класса Myclass
# наследуя его свойства и методы, ктому же класс может
# наследоваться из нескольких классов, в этом случае запись
# такая: class Otherclass(Myclass1, Myclass2, MyclassN)
class Otherclass(Myclass):
def __init__(self , arg1):
self .myvariable = 3
print arg1

>>> classinstance = Otherclass(«hello» )
hello
>>> classinstance.myfunction(1 , 2 )
3
# Этот класс не имеет совйтсва test, но мы можем
# объявить такую переменную для объекта. Причем
# tэта переменная будет членом только class instance.
>>> classinstance.test = 10
>>> classinstance.test
10

Исключения

Исключения в Python имеют структуру try -except [except ionname]:


def somefunction():
try :
# Деление на ноль вызывает ошибку
10 / 0
except ZeroDivisionError :
# Но программа не "Выполняет недопустимую операцию"
# А обрабатывает блок исключения соответствующий ошибке «ZeroDivisionError»
print «Oops, invalid.»

>>> fnexcept ()
Oops, invalid.

Импорт

Внешние библиотеки можно подключить процедурой «import », где - название подключаемой библиотеки. Вы так же можете использовать команду «from import », чтобы вы могли использовать функцию из библиотеки


import random #Импортируем библиотеку «random»
from time import clock #И заодно функцию «clock» из библиотеки «time»

Randomint = random .randint(1 , 100 )
>>> print randomint
64

Работа с файловой системой

Python имеет много встроенных библиотек. В этом примере мы попробуем сохранить в бинарном файле структуру списка, прочитать ее и сохраним строку в текстовом файле. Для преобразования структуры данных мы будем использовать стандартную библиотеку «pickle»


import pickle
mylist = [«This» , «is» , 4 , 13327 ]
# Откроем файл C:\binary.dat для записи. Символ «r»
# предотвращает замену специальных сиволов (таких как \n, \t, \b и др.).
myfile = file (r«C:\binary.dat» , «w» )
pickle .dump(mylist, myfile)
myfile.close()

Myfile = file (r«C:\text.txt» , «w» )
myfile.write(«This is a sample string» )
myfile.close()

Myfile = file (r«C:\text.txt» )
>>> print myfile.read()
"This is a sample string"
myfile.close()

# Открываем файл для чтения
myfile = file (r«C:\binary.dat» )
loadedlist = pickle .load(myfile)
myfile.close()
>>> print loadedlist
["This" , "is" , 4 , 13327 ]

Особенности

  • Условия могут комбинироваться. 1 < a < 3 выполняется тогда, когда а больше 1, но меньше 3.
  • Используйте операцию «del » чтобы очищать переменные или элементы массива .
  • Python предлагает большие возможности для работы со списками . Вы можете использовать операторы объявлении структуры списка. Оператор for позволяет задавать элементы списка в определенной последовательности, а if - позволяет выбирать элементы по условию.
>>> lst1 =
>>> lst2 =
>>> print
>>> print
# Оператор «any» возвращает true, если хотя
# бы одно из условий, входящих в него, выполняется.
>>> any(i % 3 for i in )
True
# Следующая процедура подсчитывает количество
# подходящих элементов в списке
>>> sum (1 for i in if i == 3 )
3
>>> del lst1
>>> print lst1
>>> del lst1
  • Глобальные переменные объявляются вне функций и могут быть прочитанны без каких либо объявлений. Но если вам необходимо изменить значение глобальной переменной из функции, то вам необходимо объявить ее в начале функции ключевым словом «global », если вы этого не сделаете, то Python объявит переменную, доступную только для этой функции.
number = 5

def myfunc():
# Выводит 5
print number

def anotherfunc():
# Это вызывает исключение, поскольку глобальная апеременная
# не была вызванна из функции. Python в этом случае создает
# одноименную переменную внутри этой функции и доступную
# только для операторов этой функции.
print number
number = 3

def yetanotherfunc():
global number
# И только из этой функции значение переменной изменяется.
number = 3

Эпилог

Разумеется в этой статье не описываются все возможности Python. Я надеюсь что эта статья поможет вам, если вы захотите и в дальнейшем изучать этот язык программирования.

Преимущества Python

  • Скорость выполнения программ написанных на Python очень высока. Это связанно с тем, что основные библиотеки Python
    написаны на C++ и выполнение задач занимает меньше времени, чем на других языках высокого уровня.
  • В связи с этим вы можете писать свои собственные модули для Python на C или C++
  • В стандартныx библиотеках Python вы можете найти средства для работы с электронной почтой, протоколами
    Интернета, FTP, HTTP, базами данных, и пр.
  • Скрипты, написанные при помощи Python выполняются на большинстве современных ОС. Такая переносимость обеспечивает Python применение в самых различных областях.
  • Python подходит для любых решений в области программирования, будь то офисные программы, вэб-приложения, GUI-приложения и т.д.
  • Над разработкой Python трудились тысячи энтузиастов со всего мира. Поддержкой современных технологий в стандартных библиотеках мы можем быть обязаны именно тому, что Python был открыт для всех желающих.

Теги:

  • Python
  • программирование
  • урок
Добавить метки