Python. Основы

Тема в разделе "Софт и инструменты", создана пользователем Hermanicus, 12 апр 2017.

  1. "Краткость - сестра таланта" - писал еще в 19 веке А.П.Чехов. Программы, написанные на python'e отличаются большей краткостью от аналогичных программ, написанных на других языках (Java, C/C++, Pascal), что обуславливается несколькими факторами, о которых вы узнаете из этой статьи.

    Логотип до 2005 года

    Немного о нем.

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

    Он сочетает в себе изящный синтаксис и динамическую типизацию. Этот язык отлично послужит для написания различного рода сценариев.

    Python был разработан всеми известным голландским программистом Гвидо ван Россумом в 1990 году. Такой язык был просто ему необходим для работы с ОС Amoeba.

    Название сего творения Гвидо взял не по виду животного, как можно подумать на первый взгляд, а по названию британского комедийного скетч-сериала "Monty Python's Flying Circus".

    Однако сейчас Пайтон (именно так правильно звучит на русском, а не "питон") чаще ассоциируют со змеей, видимо, забывая историю.

    Как в нем работать.

    Для начала нам потребуется интерпретатор.

    - Windows

    Скачать интерпретатор можно с официального сайта . Затем последует несложный процесс установки и, в итоге, Пайтон будет установлен на ваш компьютер.

    Для работы с языком python можно использовать поставляемую в комплекте IDLE (Кстати, эта аббревиатура пошла все из того же сериала). Соответственно там происходит как написание кода, так и его компиляция и запуск.

    - Linux

    Для установки под Линуксом есть несколько путей, каждый может выбрать наиболее себе подходящий.

    1. Скачать интерпретатор с официального сайта и проделать ровно то же самое, что и в Windows.

    2. Установить необходимые пакеты через Synaptic Package Manager

    3. Черезтерминал, командой sudo apt-get install python3.

    В чем писать код - дело каждого. Кому-то больше подходит писать код в IDLE, упомянутой выше, кто-то устанавливает и настраивает другую IDE. Лично я, работая в системе Ubuntu, использую связку Kate (текстовый редактор) + terminal.

    Соответственно в Kate происходит набор всего кода, в терминале его интерпретация, запуск.

    Сохранение кода производится как обычный файл, расширения .py, .pyw, .pyc, .pyo, .pyd.

    Основы python

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

    Уроки будут состоять из изучения с синтаксиса, ввода/вывода, типов данных, ветвлений, циклов и различных "вкусностей".

    В первом уроке рассмотрим численные ввод/вывод, типы данных, а также работу с ветвлениями. Остальное будем рассматривать в следующих выпусках.

    - Совсем немного о синтаксисе

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

    if (a % 7 == 6): a = b print (a)
    Нажмите, чтобы раскрыть...​
    В этом примере операции a = b и print (a) будут выполняться в том случае, если выполнится условие.

    Из этого же примера видно, что в пайтоне нет огрничителей конца строк, как, например, в Pascal'е.

    С остальными особенностями мы разберемся по мере их поступления.

    - Ввод/вывод

    Считывание производится с помощью функции input(). Эта функция возвращает в качестве результата строку.

    a = input() b = input()
    Нажмите, чтобы раскрыть...​
    Такой код считает две введенные строки.

    Если мы точно знаем, что в качестве вводимых данных будут использованы числа, то, можно воспользоваться функцией приведения int()

    a = int (input())
    Нажмите, чтобы раскрыть...​
    В переменную a будет записано число, если оно находится одно на строке. (если чисел в строке, считанной input() несколько, то строка не сможет быть переведена в число).

    Для вывода значений используется функция print (). Ее функционал ясен интуитивно, ничего сложного нет.

    print (a, '+', b, '=', ans) print ('YES')
    Нажмите, чтобы раскрыть...​
    У функции print () есть два довольно интересных параметра sep и end.

    Сначала рассмотрим параметр sep. Как не сложно догадаться, sep - сокращение от англ. separator - разделитель. Он нужен для того, чтобы разделять выводимые значения различными символами.

    По умолчанию параметр sep = ' ' (пробелу). То есть, код вида print (a, b, c) выведет на экран значения переменных через пробел.

    Этот параметр можно изменить следующим образом:

    print (a, b, c, sep = '#') print (x, y, z, sep = '/n')
    Нажмите, чтобы раскрыть...​
    Второй параметр - end. Он определяет символ, идущий последним в строке. По умолчанию он равен /n, т.е. перевод строки.

    Изменять его можно также, как и sep.

    print(a, b, c, sep = '', end = '')
    Нажмите, чтобы раскрыть...​
    - Числа

    Здесь ничего принципиального нового, отличающегося от других языков программирования, нет. Основные операции "+", "-", "*", "/". Операция взятия остатка - "%" (работает также и для вещественных чисел).

    Это простейшие операции, их работу, думаю, объяснять не надо. Также есть операция деления целых чисел, которая отсекает дробную часть.

    Код:
    print (17 // 4)
    Нажмите, чтобы раскрыть...​
    Результат:
    4

    Код:
    print (17 // -4)
    Нажмите, чтобы раскрыть...​
    Результат:
    -5

    Далее следует рассмотреть операции присваивания. Рассмотрим их как раз на примере чисел, с другими типами данных эта операция будет такая же. Здесь и будут первые обещанные "вкусности".

    Самая простая операция присваивания "=" (равно).

    x = 4
    Нажмите, чтобы раскрыть...​
    Поддерживаются операции присваивания нескольких переменных. Это вкусность №1.

    a = b = 4.6
    Нажмите, чтобы раскрыть...​
    Пайтон умеет работать с комплексными числами. Задать комплексное число можно несколькими способами.

    Способ первый - записать число в виде (<вещественная часть> + <мнимая часть>j), где j или J будет обозначать, что это мнимая часть.

    Способ второй - воспользоваться функцией complex (<вещественная часть>, <мнимая часть>)

    Код: z = 4 + 6j # Равносильно z = 4 + 6J z1 = complex (1,2) ans = z * z1 print (ans)
    Нажмите, чтобы раскрыть...​
    Результат:
    (-8+14j)

    * Здесь был использован знак #, который является объявлением комментария. Так же в качестве комментария можно использовать три подряд идущие кавычки ''' или """.

    Если у нас есть комплексное число, то можно получить его вещественную и мнимую часть с помощью z.real и z.imag :

    Цитата:

    Код:
    z = 4.6 + 8.23j print (z.real) print (z.imag)
    Нажмите, чтобы раскрыть...​
    Результат:
    4.6

    8.23

    Для приведения типов есть функции int (), float () (не работают с комплексными числами). Для получения модуля числа существует функция abs (x).

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

    a, b, c = x, y, z
    Нажмите, чтобы раскрыть...​
    В этом случае в переменную а будет записано значение переменной x, в b - y, а в c - z.

    Таким образом swap можно писать в одну строчку:

    a, b = b, a
    Нажмите, чтобы раскрыть...​
    Думаю, что стоит рассмотреть довольно интересную операцию - возведение в степень.

    Имеет вид <число> ** <степень>.

    Код:
    print (2 ** 100)
    Нажмите, чтобы раскрыть...​
    Результат:

    1267650600228229401496703205376

    Код:
    print (3 ** 3 ** 3)
    Нажмите, чтобы раскрыть...​
    Результат:

    7625597484987

    Код:
    print ((3 ** 3) ** 3)
    Нажмите, чтобы раскрыть...​
    Результат:

    19683

    - Условный оператор

    Условный оператор в python имеет следующий вид:

    if <условие>:

    <оператор(ы)> else:

    <оператор(ы)>
    Нажмите, чтобы раскрыть...​
    Вот такой синтаксис. В остальном эта конструкция ничем не отличается от аналогичный ей в других языках, поэтому останавливаться на знаках сравнения, логических операторах и т.п. не будем.

    Единственное, на чем хочу остановиться на каскадных конструкциях. Нередко в программах встречаются конструкции вида

    if <условие>:

    <оператор(ы)> else: if <условие>:

    <оператор(ы)> else:
    Нажмите, чтобы раскрыть...​
    ...

    В python эта конструкция может быть заменена на более короткую :

    if <условие>:

    <оператор(ы)> elif <условие>:

    <оператор(ы)> elif <условие>:

    <оператор(ы)>
    Нажмите, чтобы раскрыть...​
    Такая конструкция ускоряет и упрощает написание кода.

    Для закрепления рассмотрим код программы, которая определяет, является ли введенный год високосным или нет:

    a = int (input()) if not(a % 4) and (a % 100) or not(a % 400): print ('YES') else: print ('NO').
    Нажмите, чтобы раскрыть...​
    Предлагаю услуги по:
    1. Сделаю зеркало любого сайта в сети ТОR
    2. Блокировка ЛЮБОГО QIWI Номера (Быстро)


    [​IMG]
    Мануалы и софт выложены в ознакомительных целях вся ответственность за использования ложится на вас.
    Софт советую использовать на виртуалке.
     

Поделиться этой страницей