• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Статья Учим 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-х значным числом. Используя макематические операции выведете каждую цифру с этого числа. (Для умных: найдите сумму этих цифр)

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

Less_Gear

One Level
10.06.2017
4
1
BIT
0
Как по мне - то литературы по питону от основ до самых глубин ООП просто тьма... А вот в что то в жанре питон для хакера --- есть , но маловато.
Хотелось бы видеть направление статей в этом духе...
Касательно изучению питон - могу посоветовать хороший халявный интерактивный рускоязычный курс от степика , не сочтите за рекламу - просто реально полезный для изучения ЯП ресурс
***Скрытый текст***
Там годнота в том что тебе разжевуют материал в видеолекциях , затем идут сразу же домашние задание, по окончанию курса тебе еще и сертификат дают
Violent python cookbook книга на английском но очень хорошая
 
A

Anatoly228

Используя макематические операции выведете каждую цифру с этого числа. (Для умных: найдите сумму этих цифр)
Интересненько, а как вывести каждую цифру и сложить? Какой оператор для этого есть??? Я таки понимаю что нужно дать 3-х значное значение переменной и вывести все эти три числа по отдельности и сложить это все. Но как???
[doublepost=1512902050,1512900782][/doublepost]
И так же еще вчера прикладывал скрин Вложения:https://codeby.net/attachments/python-png.13049/
Что за среда разработки???
 

Citizen0

Green Team
07.02.2017
203
228
BIT
0
Интересненько, а как вывести каждую цифру и сложить? Какой оператор для этого есть??? Я таки понимаю что нужно дать 3-х значное значение переменной и вывести все эти три числа по отдельности и сложить это все. Но как???
Какой оператор? Какие описаны в теме. Можно, конечно, и иначе решить задачу.
Например,
Код:
number = 148
sum = 0

for i in str(number):
    n = int(i)
    print(n)
    sum += n

print(sum)

Но в условии сказано, что нужно использовать математические операции.
Допустим число равно 148
У нас есть сотни, десятки и единицы
Чтобы найти первую цифру (кол-во сотен), нужно воспользоваться операцией // (целочисленное деление)
Код:
148 // 100
Чтобы найти вторую цифру (кол-во десятков), нужно из данного числа вычесть кол-во сотен и воспользоваться операцией // (целочисленное деление)
Код:
(148 - (148 // 100 * 100)) // 10
Чтобы найти третью цифру (кол-во единиц), нужно из данного числа вычесть кол-во сотен и кол-во десятков

Чтобы не запутаться во всех этих цифрах введите 3 переменные. Для сотен, для десятков, для единиц.
 
  • Нравится
Реакции: vag4b0nd
A

Anatoly228

Чтобы не запутаться во всех этих цифрах введите 3 переменные. Для сотен, для десятков, для единиц.

А как сделать без создания 3-х переменных? Я думал что есть какой-то отдельный оператор который выполняет сложение всех чиел из одной переменной
 

Citizen0

Green Team
07.02.2017
203
228
BIT
0
Я думал что есть какой-то отдельный оператор который выполняет сложение всех чиел из одной переменной
Может где-то и есть (если нет, создайте :)), но в теме рассматриваются математические операции и задание дано по ним.
А как сделать без создания 3-х переменных?
Код:
number = 148

# Выводим первую цифру (количество сотен) переменной number
print(number // 100)

# Выводим вторую цифру (количество десятков) переменной number
print(number % 100 // 10)

# Выводим третью цифру (количество единиц) переменной number
print(number % 100 % 10)

# Выводим сумму
print((number // 100) + (number % 100 // 10) + (number % 100 % 10))
 
A

Anatoly228

(если нет, создайте :)),
На начальном этапе только:)
[doublepost=1512987066,1512986901][/doublepost]
Код:
number = 148
sum = 0

for i in str(number):
n = int(i)
print(n)
sum += n

print(sum)

Да я все, вспомнил про то что хотел. Вы выложили этот код. Я думал: А какже вытащить по отдельности числа и сложить их, а оказывается вон как. Спасибо))
 
U

UndefinedUser

Cпасибо за статью, очень хорошо и понятно написано.
 
M

MrNixon

Доброго времени суток. Я только пробую освоиться и писал все по примеру(Совсем зеленый). Но меня поджидала такая вот штука:
>>> print(u"И я сказал - /"Я люблю Codeby/".")
SyntaxError: invalid syntax
Подчеркивает букву "Я"
 

moeimya

Green Team
02.04.2017
36
7
BIT
0
Доброго времени суток. Я только пробую освоиться и писал все по примеру(Совсем зеленый). Но меня поджидала такая вот штука:
>>> print(u"И я сказал - /"Я люблю Codeby/".")
SyntaxError: invalid syntax
Подчеркивает букву "Я"

Слеш в другую сторону делай=) не / а \
 

Iskus

Green Team
13.11.2017
287
468
BIT
0
Что ха холивар, создаешь массив из этих чисел и выводишь сумму элементов массива, такая есть встроенная функция, в PHP во всяком случае
 

fuzscore

Grey Team
21.09.2016
77
181
BIT
0
Что ха холивар, создаешь массив из этих чисел и выводишь сумму элементов массива, такая есть встроенная функция, в PHP во всяком случае
Да так возможно сделать , но минус в том что инт объект не итерируемый, а создать массив допустим mass = numpy.array([1, 4, 8]) в ручную не интересно,
приходится возиться с изменением типа данных с целого числа на строку или же использовать метод нахождения @Citizen0
Python:
num = 148
str_list = list(str(num))
int_list = []
for elem in str_list:
    int_list.append(int(elem))
print(int_list)
print(sum(int_list))


@Citizen0 не называйте переменные ключевыми словами, в вашем случае sum
 

fuzscore

Grey Team
21.09.2016
77
181
BIT
0
sum не входит в список ключевых слов.
Да , подзабыл я немного , sum это встроенная функция
я вот к чему вел , если вдруг по велению левой пятки нам понадобится функция sum , питон тыкнет нам ошибкой ведь она назначена переменной
ScreenShot_20180509114136.png
 
Последнее редактирование:

batu5ai

Grey Team
31.01.2018
103
110
BIT
22
На ютубе есть видео - "Алгоритмы на python3, лекция№1. лектор: Хирьянов Тимофей Фёдорович." для тех, кому операции "%" и "//" взорвали мозг.

С 44ой минуты подробно объясняют как работать с данными операциями и чего от них ожидать. Если с положительным числом все очевидно(как и в статье), то с отрицательным чуть менее очевидно - почему, например, -11//10=-2 и -11%10 =9.
 
  • Нравится
Реакции: Vertigo
E

Ezone

питон в термуксе, поделитесь опытом любым, просто по питонычу больше инфы..
 
Мы в соцсетях:

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