• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья Учим Python. Часть 1

Всем привет друзья!
Я решил начать цикл статей по изучению Python для всех желающих. Не будем терять времени и приступим.

О Python.
Python - язык программирования высокого уровня. Широко используем в web разработке. На данный момент он является очень популярным. Сложно поверить, но NASA, ЦРУ, Google и Яндекс используют его.
Python разделен на версии(1.*, 2.*, 3.*) а они в свою очередь состоят из подверсий. Сейчас версию 1.* мало кто используют, мы же обратим свой взор на 3.*
Теперь немного терминалогии для тех кто ни разу не связывал свою жизнь с программированием(надеюсь таковых нет).
Интерпретатор - программа выполняющая код написанный на каком-либо языке программирования, в нашем случае Python.

Компилятор - программа которая приводит сценарий в исполняемый файл(например в windows это *.exe)

Устанавливаем рабочее окружение.

Сейчас займемся установкой интерпретатора python.

Установка под Windows.
Под Windows мы будем использовать -
IDLE Python. Это интерактивная среда разработки.

1. Переходим на -
2. Во вкладке Downloads выберем версию Python.
SSddw234.png

3. Устанавливаем запустив скачанный установщик
Dfre345.png

4. У вас после установки будет консолька с Python. В нее вы можете вводить различные команды по "одиночке". А также есть целая среда - IDLE Python. Там вы можете создавать свои проекты и также как в консольной версии выполнять различные построчные команды.
FrT23.png

Пример выполнения команд:

  1. Консоль
    console23.png
  2. IDLE Python
idle228.png

Установка под Linux.

С линуксом для меня например все намного проще. Просто проделываем следующее

1. Заходим в центр установки.
2. В окне поиска пишем - Python и выбираем нужный пакет.
Python11.png

3. После установки запускаем и наслаждаемся результатом. Также вы можете запускать его в терминале прописав
Код:
# python

Первая программа.

Как и все начинающие пругруммисты мы напишем программу которая выведет на экран сообщение "Hello, world!". В Python для вывода информации на экран используют оператор print()
Для вывода информации текст пишут в скобках))
Строковый тип в python пишется в кавычках. Давайте же писать.

Если вы в Windows то открывайте IDLE. У вас откроется окно по типу консольного ввода.
idle228.png


Еслы вы на
Linux то просто пишем
Код:
# python

Наша первая "программа" выглядит следующим образом
Код:
>>> ptint("Hello, World!")
myfgj.png

А что бы написать текст на русском добавим перед кавычками - u
Код:
>>> print(u"Текст на русском")
myfgj.png


Математические операции.
Главная особенность в Python, на мой взгляд, это простота выполнения математических операций.
Давайте изучим операторы для выполнения математических вычислений.
+ - сложение
- - вычитание
/ - деление
* - умножение
** - возведение в степень
% - остаток при делении
// - целочисленное деление
Давайте пропишем простой пример
Код:
>>> 333 + 333
666
Как видим, мы смогли ввести пример без оператора print() и получили результат. Мы можем брать примеры и посложнее)))
Код:
>>> ((2**3)-(3*8))*2
-32
x**y - равносильно тому что "x в степени y"
Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 7 а остаток при этом 2. Так как 4 нацело не делится на 30. При этом 30-(4*7)=2
Код:
>>> 100 % 2
0
>>> 10 % 3
1
// - Возвращает только целую часть при делении. В нашем случае при делении 30 на 4 целое число это 28.
Код:
>>> 20 // 3
6
>>> 4 // 2
2

Строки.
Теперь уделим немного времени строковому типу. Как я говорил ранее "их нужно указывать строго в кавычках". Строки как и числа можно складывать.
Код:
>>> "Hello " + "codeby!"
'Hello codeby!'
Но не пытайтесь сложить строки с числами! Это приведет к ошибке.

myfgj.png

Если вы хотите добавить кавычку в свой текст то просто перед не поставьте бэкслэш - \.
Код:
>>> "И я сказал - \"Я люблю Codeby\"."
'И я сказал - "Я люблю Codeby".'
Если мы выведем текст при помощи print() то он будет без одинарных кавычек.
Код:
>>> print(u"И я сказал - \"Я люблю Codeby\".")
И я сказал - "Я люблю Codeby".
Как видим, код стал намного интересней выглядеть, а вывод без одинарных кавычек.

Часто бывают ситуации когда приходится перенести текст на другую строку. Или же отступить от краев. Сегодня рассмотрим только их.
\n - переводит текст на другую строку.
\t - отступает от края(табуляция)
Давайте посмотрим на примере. \n пишут перед текстом который хотят перенести на новую строку.
Код:
>>> print("C\no\nd\ne\nb\ny")
C
o
d
e
b
y

Код:
>>> print("\t\tTitle\nMy programm")
        Title
My programm
Мы можем и не мучать себя этим а сделать вот что
Код:
>>> """
        Этот текст отобразятся табуляцией
Этот на новой строке
И этот тоже)
"""

' \t\tЭтот текст отобразатся табуляцией
\nЭтот на новой строке
\nИ этот тоже)'
Все отобразится красиво если мы напишем это используя print().

Python11.png


Переменные.

Переменные очень интересная и самая нужная вещь в программировании.
Если вы только в начале своего пути, то не поймете значения переменных в программировании. Постараюсь вам объяснить:
Переменные - это ячейка памяти в вычислительной системе.
Всем знакома переменная
x из школы. Наверняка вам припоминаются задания по типу "подставьте значения в 2x + y и получите ответ". Так вот x, y это переменные которым мы можем задать различные значения и получить соответственно разные ответы. Давайте поговорим про значение переменных и прочие правила.

1. Названия переменных в
Python не должны начинаться с цифры, с прочих символов (по типу *^/&?). Пример хорошего названия переменной:
2. Как вы заметили, если в переменно 2 или более слов, то они разделены нижним подчеркиванием или же первая буква последующего слова в верхнем регистре.
3. Создание не длинных переменных является хорошим тоном.
4. Для присваивания переменной значения используют оператор "=".
Давайте присвоим переменной значение и выведем его на экран.
Код:
>>> x = 444
>>> print(x)
Python11.png


Начнем сказ о значениях которые принимают переменные.

Все наверняка еще с уроков информатики знают типы данных. Сегодня мы рассмотрим:
  • Целые числа
  • Строки
  • Числа с плавающей точкой(дроби)
Продолжение в следующей части)

Я решил что буду давать вам своеобразные "домашнее задание", так как на практике запоминается намного лучше. Свои решения опубликовывайте в комментарии.
* - задания повышенной сложности(в этой части одно)

Задание 1.
Выполните в консоли python 3 примера приведенные ниже
  1. 23**2 - (1/2)
  2. (1000 % 3) // 1
  3. ((36 - 23)/(2**3))*(1/2)
Задание 2.
Создайте 3 переменные. При условии, что первая переменная должна состоять из 1-ого символа, вторая из одного слова, третья из 2-х слов. Задайте этим переменным любые числовые значения и выведите их.
Задание 3.*
Создайте переменную с 3-х значным числом. Используя макематические операции выведете каждую цифру с этого числа. (Для умных: найдите сумму этих цифр)

Всем пока!
 
Последнее редактирование:
I

IioS

Поддерживаю предедущего оратора, и добавлю от себя. То что ты решил написать ветку обучения круто. А если ты не остановишься только на начальном уровне Python'a, а еще и напишешь ветку для "про" цены тебе не будет! :)
P.S. >> Побольше Д\З для аудитории.
 

vag4b0nd

Green Team
24.05.2017
303
1 472
BIT
27
Поддерживаю предедущего оратора, и добавлю от себя. То что ты решил написать ветку обучения круто. А если ты не остановишься только на начальном уровне Python'a, а еще и напишешь ветку для "про" цены тебе не будет! :)
P.S. >> Побольше Д\З для аудитории.
Я как раз таки думал о плавном переходе из легкого в "про". Если время позволит то начну. Побольше Д\З, конечно)))
 

Xulinam

Grey Team
02.03.2017
1 015
240
BIT
43
неплохая статья)) спс большое)) но вот заданий мало___))) можно и побольше))) продолжай ждем с нетерпением)))
 

sosiskapi

Green Team
28.12.2016
57
22
BIT
0
Мега круто, спосибо тебе. Тронуло за мозг и дело с места, я наконец то запрограммировал.
 
Y

Ye_kflyj_z_Bdfy

Оч классное введение, продолжай делать такие статьи, но задания под звездочкой сложнее ставь, а то эти больно легкие
 

Less_Gear

One Level
10.06.2017
4
1
BIT
0
Отличная идея только не бросай на пол пути) мой совет показывай не только синтаксис языка но и само программирование. Обьяснять как оно работает и почему именно так)
 
  • Нравится
Реакции: vag4b0nd
K

Kazmitch

Python.png
Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30.
>>> 2 % 100
0
>>> 3 % 10
1

// - Возвращает только целую часть при делении. В нашем случае при делении 30 на 4 целое число это 27.
Ничего не понял. Что тут происходит?
 

vag4b0nd

Green Team
24.05.2017
303
1 472
BIT
27
link removed link removed
Ничего не понял. Что тут происходит?
Приношу извенения. Поменяй местами
Код:
>>> 100 % 2
0
>>> 10 % 3
1
[doublepost=1511047672,1511047574][/doublepost]
Посмотреть вложение 13047
Ничего не понял. Что тут происходит?
Именно зачем операторы нужны непонятно? Или из логику?
 
K

Kazmitch

Приношу извенения. Поменяй местами
Код:
>>> 100 % 2
0
>>> 10 % 3
1
А "Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30."
??
 

vag4b0nd

Green Team
24.05.2017
303
1 472
BIT
27
А "Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30."
??
Не много не понятно чего именно вы хотите. Перейдем в лс)
 

moeimya

Green Team
02.04.2017
36
7
BIT
0
На самом деле очень много сайтов где описывается именно то что написал автор(даже видео есть где показывают основные принципы работы питона). Было бы не плохо если для обучения питоном на этом сайте ты писал о ПАРСИНГЕ сайтов на питоне с пояснениями, вот тогда тема была бы полезнее в тысячу раз!:)
[doublepost=1511049321,1511048929][/doublepost]
А "Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30."
??
в первом случае покажет деление без остатка, во втором случае будет деление, но покажет только остаток. 100% 2 = 0(целое число 50), 10 % 3 = 1( целое число 9)-это остаток, но мы должны знать что 10 - 1 = 9 и вот 9 делится на 3 без остатка
 
Последнее редактирование:
  • Нравится
Реакции: Artur s и id2746

Citizen0

Green Team
07.02.2017
203
228
BIT
0
  • Нравится
Реакции: Artur s и vag4b0nd

vag4b0nd

Green Team
24.05.2017
303
1 472
BIT
27
Как так?
30/4=7 и в остатке 2.

То же самое.
)))
Ну хоть кто-то наконец заметил и понял.
[doublepost=1511077832,1511076290][/doublepost]
А "Наверное у вас возникают вопросы на счет двух последних операторов(%, //)
% - остаток при делении числа. Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30."
??
Вобщем про - %
Это математический остаток при делении. Ты наверняка не помнишь математику 2-ого класса. Деление столбиком))
Обьясню так:
1. Дан пример 100 % 20
Ты должен понимать что это деление, но при делении остается только остаток. Он и выводится оператором - %

2. Разделим 100 на 20 и получим 5. А как найти остаток?
А он находится просто. Ты умнажаешь 5 на 20 и из 100 вычитаешь полученое число. И это будет 0
Тогда мы понимаем какой будет ответ при вводе такого примера
Код:
>>> 100 % 20
0
3. А что если дан пример типа 45 % 4 ?
Тут все просто. Берем число при умножение 4 на которое получается число близкое к 45-и.
Тогда я беру 11. Умножу его на 4 и получу 44. Оно очень близко к 45. Поэтому 11 - это целая часть. Ищем остаток. Из 45-и вычтем полученое 44 и остаток = 1
Код:
>>> 45 % 4
1
[doublepost=1511077927][/doublepost]
)))
Ну хоть кто-то наконец заметил и понял.
[doublepost=1511077832,1511076290][/doublepost]
Вобщем про - %
Это математический остаток при делении. Ты наверняка не помнишь математику 2-ого класса. Деление столбиком))
Обьясню так:
1. Дан пример 100 % 20
Ты должен понимать что это деление, но при делении остается только остаток. Он и выводится оператором - %

2. Разделим 100 на 20 и получим 5. А как найти остаток?
А он находится просто. Ты умнажаешь 5 на 20 и из 100 вычитаешь полученое число. И это будет 0
Тогда мы понимаем какой будет ответ при вводе такого примера
Код:
>>> 100 % 20
0
3. А что если дан пример типа 45 % 4 ?
Тут все просто. Берем число при умножение 4 на которое получается число близкое к 45-и.
Тогда я беру 11. Умножу его на 4 и получу 44. Оно очень близко к 45. Поэтому 11 - это целая часть. Ищем остаток. Из 45-и вычтем полученое 44 и остаток = 1
Код:
>>> 45 % 4
1
Теперь про - //

1. Оно находит нашу целую часть.
Вспомним наш пример 100 % 20.
Заместо % подставим // и получим наш пример(этого делать не надо, я для урока). Так вот, 100 // 20 - такая запись как бы говорит нам, "верни целую часть с деления". У нас целая часть - это то число которое мы берем для умножения на делитель (чтоб получить число =< делимому). В нашем примере берем число 5. При умножении его на 20 мы получаем 100. Значит целая часть 5.
Код:
>>> 100 // 20
5
 
K

Kazmitch

)))
Ну хоть кто-то наконец заметил и понял.
[doublepost=1511077832,1511076290][/doublepost]
Вобщем про - %
Это математический остаток при делении. Ты наверняка не помнишь математику 2-ого класса. Деление столбиком))
Обьясню так:
1. Дан пример 100 % 20
Ты должен понимать что это деление, но при делении остается только остаток. Он и выводится оператором - %

2. Разделим 100 на 20 и получим 5. А как найти остаток?
А он находится просто. Ты умнажаешь 5 на 20 и из 100 вычитаешь полученое число. И это будет 0
Тогда мы понимаем какой будет ответ при вводе такого примера
Код:
>>> 100 % 20
0
3. А что если дан пример типа 45 % 4 ?
Тут все просто. Берем число при умножение 4 на которое получается число близкое к 45-и.
Тогда я беру 11. Умножу его на 4 и получу 44. Оно очень близко к 45. Поэтому 11 - это целая часть. Ищем остаток. Из 45-и вычтем полученое 44 и остаток = 1
Код:
>>> 45 % 4
1
[doublepost=1511077927][/doublepost]
Теперь про - //

1. Оно находит нашу целую часть.
Вспомним наш пример 100 % 20.
Заместо % подставим // и получим наш пример(этого делать не надо, я для урока). Так вот, 100 // 20 - такая запись как бы говорит нам, "верни целую часть с деления". У нас целая часть - это то число которое мы берем для умножения на делитель (чтоб получить число =< делимому). В нашем примере берем число 5. При умножении его на 20 мы получаем 100. Значит целая часть 5.
Код:
>>> 100 // 20
5
Я все это прекрасно понимаю и знаю. Еще вчера 2 раза указал на ошибку во фразе
Т.е. если мы 30 поделим на 4 то целое число будет равно 9 а остаток при этом 3. Так как 4 нацело не делится на 30.
И так же еще вчера прикладывал скрин

И ток сегодня автор написал
Ну хоть кто-то наконец заметил и понял.
 

Вложения

  • Python.png
    Python.png
    2,6 КБ · Просмотры: 596

alexey webware

Green Team
24.01.2016
20
5
BIT
0
простите за офтоп, просто хочу высказаться, пришел на еще тогдашний webware(че с моим ником, вопросы к одмину, когда переносили сайт на codeby одмин такой префикс оставил, P.S. можешь не убирать) и хотел стать кул хацкером, но в итоге понял что это сложновато и просто начал учиться программировать. Под мой взор пал пайтон. спасибо что возраждаешь эту ветку форума.
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Как по мне - то литературы по питону от основ до самых глубин ООП просто тьма... А вот в что то в жанре питон для хакера --- есть , но маловато.
Хотелось бы видеть направление статей в этом духе...
Касательно изучению питон - могу посоветовать хороший халявный интерактивный рускоязычный курс от степика , не сочтите за рекламу - просто реально полезный для изучения ЯП ресурс

Там годнота в том что тебе разжевуют материал в видеолекциях , затем идут сразу же домашние задание, по окончанию курса тебе еще и сертификат дают
 
Последнее редактирование:

vag4b0nd

Green Team
24.05.2017
303
1 472
BIT
27
Как по мне - то литературы по питону от основ до самых глубин ООП просто тьма... А вот в что то в жанре питон для хакера --- есть , но маловато.
Хотелось бы видеть направление статей в этом духе...
Касательно изучению питон - могу посоветовать хороший халявный интерактивный рускоязычный курс от степика , не сочтите за рекламу - просто реально полезный для изучения ЯП ресурс
***Скрытый текст***
Там годнота в том что тебе разжевуют материал в видеолекциях , затем идут сразу же домашние задание, по окончанию курса тебе еще и сертификат дают
Плюсом, есть курсы и по аудиту безопасности))
Уже давно о степике знаю. Нужная вещь.
 
  • Нравится
Реакции: no_name
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!