Skip to content

Commit 33df351

Browse files
committed
Добавила статью-введение
1 parent 55d9d16 commit 33df351

1 file changed

Lines changed: 94 additions & 0 deletions

File tree

1_python_basics/1_intro.md

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
### Языки программирования
2+
3+
Есть анлийский язык. На нём общаются люди. А ещё – на немецком, филиппинском, испанском, греческом и прорве других.
4+
5+
А есть Питон (голос зануды про правильное название). Это язык, на котором человек общается с компьютером.
6+
С компьютером можно общаться на куче языков:
7+
Си, Паскаль, Хаскель, Го, Свифт, Руби, ПХП, Бейсик, Эрланг, Эр и много других.
8+
9+
10+
### Особенности Питона
11+
12+
Мы тут будем учить именно Питон. Начнём с короткого обзора того, чем он отличается от остальных языков.
13+
Делать ничего не надо: прочитал, запомнил пару пунктов и всё, можно хвастаться всем, что ты в теме (не надо так).
14+
15+
16+
### Лаконичность
17+
18+
У Питона такое сообщество, что оно не приветствует разброда в использовании языка. Стандарт написания кода – это часть
19+
языка. Философия написания кода – тоже часть языка. Поэтому два хороших программиста напишут очень похожий код:
20+
не надо тратить время на "блин, а что он тут имел в виду?...".
21+
22+
У Питона такой синтаксис, что он помогает писать код очень коротко.
23+
Нет лишних скобок, длинных ключевых слов, сложных трюков и всякого такого.
24+
Описать логику, перевести на английский, разбавить отступами и синтаксисом – всё, программа готова.
25+
26+
У Питона такая стандартная библиотека, что она помогает выполнять кучу рутинных операций.
27+
Она поможет отправить емейл, закодировать строку, поднять веб-сервер, узнать время, удалить файл, посчитать дисперсию,
28+
заархивировать файл, вытащить данные из базы данных и ещё прорву всего всего парой строк.
29+
30+
У Питона такое количество сторонних модулей, что можно сэкономить тысячи человеко-часов работы. Нужно написать сайт?
31+
Научить нейронную сеть разгадывать капчу? Скачать аудио из "Вконтакте"? Узнавать людей на фотографиях?
32+
Смоделировать полёт ракеты? Написать бота? Для всего этого есть готовые модули, их надо только установить и воспользоваться.
33+
34+
Всё это делает процесс написания кода очень быстрым.
35+
36+
37+
### Крутая документация
38+
39+
Попробуйте загуглить [python function], [python parse json] или, например [python create process].
40+
В первых результатах будет ссылка на https://docs.python.org – сайт официальной документации.
41+
42+
Это потому что документация очень подробная: в ней есть материалы для новичков, доки к каждому модулю, рекомендации
43+
по использованию, подводные камни и дальнейшее чтение. И это всё – для каждой версии языка.
44+
Такой удобной и подробной документации нет ни у кого.
45+
46+
А ещё есть http://stackoverflow.com/ – сайт, на котором одни программисты отвечают
47+
другим программистам на вопросы о программировании. За время его существования там были заданы все возможные вопросы.
48+
Серьёзно: любой вопрос в духе "как это сделать на Питоне" или "почему этот код не работает"
49+
уже был задан, просмотрен и отвечен.
50+
51+
Всё это делает процесс изучения и написания кода быстрым: вся нужная информация находится на расстоянии одного
52+
удачного поискового запроса.
53+
54+
[q Какого из этих вопросов нет в официальных FAQ официальной документации?]
55+
56+
*o Why am I getting strange results with simple arithmetic operations?
57+
*o Why is Python installed on my machine?
58+
*o [ok] How can I implement base abstract factory class in Python?
59+
*o Writing C is hard; are there any alternatives?
60+
61+
62+
### Строгая динамическая типизация
63+
64+
_Динамическая типизация_ – значит, в одной и той же переменной в разное время могут храниться значения
65+
разных типов. Сейчас – число, потом – строка, и всё – в одной переменной.
66+
67+
Во многих языках так нельзя: создал, мол, целочисленную переменную, вот и храни в ней целые числа.
68+
Это удобно для компьютера, но не всегда удобно для программиста.
69+
70+
_Строгая типизация_ – значит, нельзя просто так производить действия с объектами разных типов. Например, строку с
71+
числом сложить не получится: сначала надо превратить строку в число, а только потом – сложить. Сам Питон
72+
такое преобразование делать не будет.
73+
74+
Может показаться, что это неудобно, но на самом деле это защищает от прорвы ошибок. Чтобы понять о чём
75+
речь, достаточно посмотреть на Яваскрипт, язык со слабой типизацией:
76+
77+
![](/assets/images/1_1__js_typing.png)
78+
79+
80+
### Автоматическое управление памятью
81+
82+
Управление памятью – это когда для каждой кучки данных в программе нужно руками выделить место в оперативной памяти.
83+
Следить, чтобы данные не вышли за пределы этого места. Не забыть освободить это место после того, как данные не нужны.
84+
В общем, адский геморрой.
85+
86+
В Питоне об этом думать не надо: язык программирования всё сделает за программиста. Правда, сделает неидеально:
87+
о том, как Питон работает с памятью, надо знать.
88+
89+
90+
### И ещё много всякого
91+
92+
Помимо перечисленного, Питон знаменит много чем ещё: отступами, интроспекцией,
93+
дзеном, портируемостью, GIL-ом, названием.
94+

0 commit comments

Comments
 (0)