Программирование Python по моим конспектам Лекция 3

Пост можно топить, минусить и всячески убивать, ибо в горячем он нахер не нужен, а вот подписчикам пригодится.



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

Учитывая отсутствия вопросов, у меня возникает три мысли..либо я накаркал о том, что мои уроки заставляют выйти в окно, либо всем просто похер на мою писанину (что меня устроило бы в большей степени), либо вам все понятно (во что я не верю, ибо мне самому мои мемуары не понятны)

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

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


Сегодня, мой дорогой друг, или маловероятная подруга, мы поговорим о таком диве дивном как Имена.

Рассмотрим такой случай

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Видим мы тут обьект со значением "1"+ обьект со значением "3". А следующая строчка- это сумма. А сейчас залезем в .опу без мыла. Ну вот вроде все супер. Все работает. Однако. Есть один нюанс. Эти оба объекта имеют свой тип, свой id, но имя у них нет (совсем как у меня на работе..если не считать "эй ты").  А в следующем примере мы уже даем имя нашим подопытным объектам.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Тут мы уже начинаем чувствовать себя кулхацкерами. Ибо на экране появляются первые непонятки, хотя, все очень просто.  В самом деле, мы просто присвоили нашим объектам со значениями 1 и 3 имена. object1 и object2 соответственно. Еще в  некоторых селениях  называют эти имена Переменными.

Как вы ведите из третьей строки- с переменными можно творить то же самое, что и с объектами без имени.

Ну и как всегда в таких случаях, вселенная диктует свои правила. А именно- нельзя просто так взять и назвать обьект так как мы того хотим. Другими словами, для названия переменной  есть свои правила. Они очень просты-

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

Другими словами, если ты назовешь переменную как то так "2peremennaja", то я тебя вычислю по айпи, приду к  тебе домой и сломаю тебе руку, чтобы ты такую гадость больше не делал. Нижайшие прошу простить за грубость.


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

А теперь смотрим как это работает. Вот есть у нас завод. Но что ему нужно, чтобы работать? Ну кроме работников и надсмотрщика с плетью.

Заводу нужен материал. Пусть это будут у нас доски. Так вот. Получаем такую картинку.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

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

Это функции type и id. В прошлой лекции, скорее всего было не понятно как это работает, но сейчас мы немного приблизимся к разгадке. Возьмем к примеру функцию type. Мы хотели узнать какой тип данных будет у числа 123. Для этого мы брали нашу функцию type, открывали скобочки после нее, выходило так type(), а внутри скобочек уже и писали наши аргументы (дрова для завода). Выходило так type(123). Другими словами, заводу с именем type, мы отправили материал в виде числа 123, и мы знаем что в ответ завод дает нам название типа данных. Либо это будет цело число,  либо строка, либо число с запятой и тд.

Нам не интересно, что происходит внутри функции. Нам в данном случае интересен результат.

А теперь обобщаем это все для наглядности.

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Напоминает наш завод? То то же.

А сейчас, ну чтоб ваще понятно стало. Мы еще на одну функцию посмотрим. Называется она min()

В функцию мы передаем любое количество чисел через запятую, и функция, основываясь на свой внутренний алгоритм выдает нам минимальное число.

К примеру min(10,5,3,6,9)

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост
Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

Очень скоро у нас  будет тема, посвященная функциям, и мы будем учиться делать свои функции. Наша задача на сегодня была понять что это такое.


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

Все дело в том, мой друг, и маловероятная подруга, что в самом питоне уже встроены тонны стандартных функций. Та же функция min() к примеру. И вот сидели как то бородатые дядьки в узких штанах и думали..вот у нас уже десятки тысяч функций..можно и запутаться в них. А давайте мы все функции сгруппируем. Например математические функции будут находится в группе math, а функции работы со временем пусть будут в группе time. И решили эти бородатые дядьки, чокаясь стаканами со смузи, назвать эти группы модулями. И для того чтобы воспользоваться какой либо функций из модулей, решили сначала этот модуль импортировать (иначе  сказать, "дорогой интерпретатор, в данной программе, я бы хотел использовать функции из модуля "time", к примеру).

Выглядит это так

import modulname или так from modulname import*

или если нам конкретная функция нужна

from modulename import functionsname.


вот пример вам. Из модуля math, мы импортируем все функции, но используем только лишь функцию получения факториала. Для тех, кто не знает что такое факториал-

вот пример получения факториала из 6 (!- это знак факториала)

6!=1*2*3*4*5*6=720


В примере я попробую получить факториал из 10

Программирование Python по моим конспектам Лекция 3 Питон, Программирование, Лекция, Длиннопост

А теперь немного подробнее. Я подключил модуль math в первой строке. Во второй строке я в модуле math получаю доступ к находящейся в ней функции factorial c  помощью точки. Пока этого достаточно. Ведь это только вступление. Мы еще будем о этом говорить.


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

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

1
Автор поста оценил этот комментарий

Спасибо за урок! :D

Есть вопросы:

1. Будет ли верным присвоить переменной имя, например: a1=3 или a_1=3? Или я буду найден по айпи? :)

2. Вот замутим мы новую функцию, которая чёнить делает. Можно ли её потом вызвать в нужном месте? Чтобы заново одни и те же руны не высекать. Ну, типа, эдакий переносной завод, который один на всё Поволжье.

З.Ы. Как будет выглядеть наш хелоуворд? Блоками, или высокоуровневая челобитная? =))

раскрыть ветку
1
Автор поста оценил этот комментарий

В самом начале на картинке 1+3, а ты пишешь, что это 1 и 2. Исправь

(с уважением, от маловероятной подруги)

раскрыть ветку
1
Автор поста оценил этот комментарий

Все пока понятно. Думаю вопросы появятся после хэлловорлда))) Так-что не отчаивайся и пиши еще))

Автор поста оценил этот комментарий

Очень качественная писанина , пока все очень понятно и очень усвояемо , благодарочка...

раскрыть ветку
Автор поста оценил этот комментарий

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

раскрыть ветку