Первые шаги с Python

Первые шаги с Python

Добро пожаловать! This tutorial details how to get started with Python. Он написан, отредактирован и обновлен Дерриком Кирни (канадец, мастер Python, гурман) и Майклом Херманом (из команды Real Python, конечно).

Я (Деррик) помогаю администрировать несколько групп Python, где я каждый день задаю бесчисленные вопросы. В этом посте я отвечу на вопрос, который слышу чаще всего,“How do I get started with Python?”

(1) Что такое Python?

The Python Logo. The Python logo is a trademark of the Python Software Foundation.

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

  • Разработка настольных графических приложений, в том числе игр;

  • Математический и научный анализ данных; и,

  • Веб и интернет разработка.

Присутствие Python в мире компьютерного программирования можно найти повсюду. Например, Python используется на некоторых из крупнейших интернет-сайтов в мире - например,Reddit, Dropbox, and Youtube, чтобы назвать несколько. Популярный веб-фреймворк Python Django поддерживает как Instagram, так и Pinterest. Отмеченная наградами компания LucasFilms по производству визуальных эффектов Industrial Light & Magic использует Python, чтобы помочь воплотить их магию в жизнь.

Легко забыть, насколько мощен Python, потому что его так легко выучить.

Python Properties

Питон это ...

  1. Strongly набрано. Он применяет типы данных, так что вы не можете, например, объединить строку и целое число.

  2. Dynamically,implicitly набрано. Таким образом, вам не нужно явно объявлять переменные типы данных. Типы данных применяются во время выполнения.

  3. Case sensitive. Например,token иTOKEN - две разные переменные.

  4. Object-oriented. Everything is an object.

(2) Получение Python - предварительный

Python - это бесплатное программное обеспечениеopen-source, которое работает на Linux, Mac, Windows и других различных платформах (всего 21). Он предустановлен на Mac и большинстве дистрибутивов Linux; однако вам может потребоваться загрузить последнюю версию (see below).

Чтобы проверить свою версию, откройте терминал и выполните следующую команду:

python -V

Выбор версии Python

Это может смутить как начинающих, так и опытных программистов при выборе между Python 2 или 3. К счастью, между ними мало синтаксических различий, и вы можете запустить обе версии на своем компьютере.

В настоящее время существует две основные версии Python - 2.x и 3.x.

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

Which version is right for you? Что ж, решать вам. Честно говоря, между этими двумя аспектами мало что повлияет на вас на ранней стадии, так что любого из вариантов будет достаточно. Кроме того, как только вы выучили одно, не так уж сложно выучить другое.

В общем, если вы только начинаете изучать Python, перейдите на 3.4.x, поскольку это лучшая версия, так как в ней есть дополнительные функции, а также множество исправлений и уточнений. Однако в 2.7x гораздо больше поддержки от сторонних библиотек. Если вы знаете, что вам нужно использовать библиотеку, которая не была портирована на версию 3.4.x, то лучше начать с 2.7x.

Примеры из этой серии будут показаны в версии3.4.2, которая является текущей версией на момент написания. Тем не менее, большинство примеров будет хорошо работать с любой версией, поскольку многие функции и обновления, добавленные в 3.4.x, также были добавлены в 2.7.x. Мы обсудим любые различия, о которых вам следует знать по мере их возникновения.

(3) Как мне получить Python?

Независимо от вашей операционной системы, вы можете загрузить Python изPython Software Foundation (PSF). Получите версию, специфичную для вашей ОС и процессора (32- или 64-разрядную).

OS-specific instructions:

  • Mac: я настоятельно рекомендую использоватьHomebrew для установки и управления другой версией Python. Посмотрите направленияhere. Вы также можете загрузить Python изPSF.

  • Linux: И снова Python включен в различные версии Linux. При необходимости обязательно обновитесь до последней версии с помощью менеджера пакетов.

  • Windows: Загрузите Python прямо сPSF.

Пользователи Windows: Убедитесь, что вы выбрали опцию добавления Python в системный путь во время процесса установки:

Adding python.exe to the system path

(В раскрывающемся списке выберите параметр «Будет установлен на локальный жесткий диск».)

(4) Подтверждение установки Python

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

Python Shell

Откройте интерактивную оболочку Python:

  • Mac: откройте свой терминал и запустите:python илиpython3, в зависимости от вашей установки.

  • Linux: откройте свой терминал и запустите:python

  • Windows: Если у вас установлена ​​только одна версия Python, просто запуститеpython. Если у вас установлены Python 2.7 и Python 3, запуститеpython для Python 2.7 и / илиpy -3 для Python 3.

Пользователи Windows: убедитесь, что ваша учетная запись имеет права администратора. Запустите командную строку на повышенном уровне, щелкнув правой кнопкой мыши значок командной строки и выбрав «Запуск от имени администратора».

Должна открыться интерактивная оболочка Python, и ваша командная строка или окно терминала должно выглядеть примерно так:

>>>

Python 3.4.1 (v3.4.1:c0e311e010fc, May 18 2014, 00:54:21)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>

Пока вы здесь, вы можете запустить свою первую строку кода ...

Python 2:

>>>

>>> print "Python is fun!"

Python 3:

>>>

>>> print("Python is fun!")

Если вы используете Python 2.x, командаprint является инструкцией, а не функцией в Python 3.x.

Тебе следует увидеть:

>>>

Python is fun!

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

После этого вы можете использоватьexit(), чтобы покинуть оболочку Python. Or:

  • Mac and Linux users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

  • Windows users:Ctrl+[.kbd .key-d]#D and then press [.keys] [.kbd .key-enter] #Enter

Держите свой терминал или командную строку открытыми. У нас еще есть чем заняться! Давайте продолжим использовать Shell, пока будем работать с примитивами Python.

(5) Языковые Примитивы

В этом разделе мы рассмотрим примитивы кодирования Python - переменные, встроенные типы данных, комментарии, синтаксис и семантику.

переменные

Variables are containers для данных. Синтаксис для их объявления:variable_name = variable_value. Хотя вы можете называть переменные как угодно (кроме несколькихreserved keywords), выshould используете схему именования, которая имеет интуитивный смысл. Имя переменнойshould дает некоторое представление о присвоенных ему значениях.

Например, многие начинающие программисты используют простые имена переменных, такие какx иy. Делать (ошибаться, пытаться) не делать этого. Вместо этого, если у вас есть два числа - скажем,1 и52 - используйте имена переменныхnum1 иnum2 вместоx иy. Таким образом, когда другие читают вашу программу, они могут сделать обоснованное предположение, чтоnum1 иnum2, вероятно, являются какими-то числами. При написании своих программ думайте о других, а также о своем будущем. Ваше будущее я будет вам благодарен.

Встроенные типы данных

В Python естьa number of built-in data types, такие как числа (целые числа, числа с плавающей запятой, комплексные числа), строки, списки, кортежи и словари.

Каждый из них может управляться с помощью:

  1. операторы

  2. функции

  3. Методы типа данных

Обязательно напечатайте каждый пример вместе со мной.

чисел

Числа могут быть целыми числами, числами с плавающей запятой, логическими или комплексными числами. Первые три являются наиболее важными:

  • Целые числа - это целые числа -1,2,22,476,-99999

  • Поплавки имеют десятичные точки -1.0,2.22,22.098,476.1,-99999.9

  • Логические значения представляют либоTrue, либоFalse (или1, или0). Они представляют данные, которые могут быть только одно или другое.

Манипулирование числами

операторы

Вы видели операторов раньше. Это такие вещи, как сложение (или конкатенация) и вычитание, как вы учили в начальной школе.

>>>

>>> 2 + 3   # Addition
5
>>> num1 = 10
>>> num2 = 9.99
>>> num3 = num1 + num2
>>> num3
19.990000000000002
>>> 8 - 5   # Subtraction
3
>>> 2 * 6   # Multiplication
12
>>> 12 / 3  # Division
4.0
>>> 7 % 3   # Modulus (returns the remainder from division)
1
>>> 3 ** 2  # Raise to the power
9

Проверяя ваши навыки предалгебры, давайте посмотрим на сравнения, которые оцениваются в логические значения - например,True илиFalse (или1 или0).

>>>

>>> 2 < 5
True
>>> 4 > 10
False
>>> 3 >= 3
True
>>>
>>> 5 == 6
False
>>> 6 != 9
True

функции

Python предоставляет вам ряд встроенныхfunctions для управления целыми числами. Вам доступныalways. Обратите внимание: эти функции могут использоваться с типом данныхany. В стандартной библиотеке Python также есть ряд модулей, таких какmath. Чтобы использовать функции, связанные с этими модулями, сначала необходимо импортировать модуль. Подробнее об этом позже. А пока давайте рассмотрим несколько примеров встроенных функций.

float() - данная функция возвращает целое число с плавающей точкой.

>>>

>>> float(9)
9.0
>>> float(-99999)
-99999.0

int() - данная функция возвращает целое число. Эта функция НЕ округляет ввод (потолок) до ближайшего целого числа - она ​​просто выбрасывает что-либо после десятичной точки (пол) и возвращает число. Таким образом, ввод 10,6 возвращает 10, а не 11. Точно так же 3.25 возвращает 3.

>>>

>>> int(10.6)
10
>>> int(3.25)
3

Методы типа данных

Помимо функций, с каждым типом числа связано несколькоdata-type methods.

float.is_integer() - проверяет, является ли число с плавающей запятой конечным.

>>>

>>> (10.0).is_integer()
True
>>> (10.1).is_integer()
False

Струны

Строки - это строки текста, которые объявляются одинарными или двойными кавычками:

>>>

>>> simple_string = "hey!"
>>> simple_string
'hey!'
>>> "hello world!"
'hello world!'
>>> escaped = 'can\'t'
>>> escaped
"can't"
>>> not_escaped = "can't"
>>> not_escaped
"can't"

Управление строками

операторы

Как и числа, вы можетеconcatenate strings (конкатенация строк):

>>>

>>> "happy" + " " + "birthday"
'happy birthday'
>>> "my name is " + "john"
'my name is john'

функции

Давайте посмотрим на несколькоfunctions, которые можно использовать для манипуляций со строками:

len() - данная функция возвращает длину строки.

>>>

>>> len(name_string)
15

slice() - при наличии начального и конечного значения вы можете получить доступ к набору или одному символу (-ам).

>>>

>>> print("Hello"[2])
l
>>> print("Hello"[3])
l
>>> print("Hello"[0])
H
>>> print("Hello"[0:2])
He

Методы типа данных

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

string.capitalize() - возвращает строку с заглавной первой буквой.

>>>

>>> lower_case_string = "michael"
>>> lower_case_string.capitalize()
'Michael'
>>> ("empire").capitalize()
'Empire'

string.format() - вы можете легко форматировать значения в строки.

>>>

>>> name = "John Doe"
>>> greeting = "My name is {}".format(name)
>>> greeting
'My name is John Doe'
>>>

string.strip() - возвращает строку с удаленными ведущими и конечными пробелами.

>>>

>>> are_you_happy = "     Yes      "
>>> are_you_happy.strip()
'Yes'

Списки

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

  1. create_a_list = []

  2. numbers_list = [1, 2, 3]

  3. strings_list = ["spam", "eggs", "cheese"]

  4. mixed_list = ["Hello", [1, 2, 3], False]

Как вы можете видеть выше, списки могут содержать любой тип данных (вы также можете смешивать и сопоставлять), включая другие списки или вообще ничего. Вы можете получить доступ к частям списков, как строки с индексами. Синтаксис тот же:

>>>

>>> create_a_list = []
>>> create_a_list
[]
>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list
[1, 2, 3, 200]
>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list
['batman', 'superman', 'iron man']
>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list
['Hello World', [4, 5, 6], False]

Вы можете получить доступ к элементам из списка в начале или конце списка:

>>>

>>> numbers_list[0]
1
>>> numbers_list[0:1]
[1]
>>> numbers_list[0:2]
[1, 2]

Посмотрите, как вы можете создать новый список, просто перейдя к элементам:

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> new_list = numbers_list[0:3]
>>> new_list
[1, 2, 3]

Отрицательные индексы отсчитываются от последнего элемента в обратном направлении:

>>>

>>> strings_list = ["batman", "superman", "iron man"]
>>> strings_list[-1]
'iron man'

Если вы вложите список в другой список, вы можете получить доступ к внутреннему списку, используя несколько индексов:

>>>

>>> mixed_list = ["Hello World", [4, 5, 6], False]
>>> mixed_list[1][2]
6

Управление списками

операторы

Списки могут быть объединены:

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> veggies = ["corn", "kale", "mushrooms"]
>>> grocery_list = fruits + veggies
>>> grocery_list
['apples', 'grapes', 'oranges', 'corn', 'kale', 'mushrooms']

функции

В общем, вы можете рассматривать списки как строки - только каждый элемент данных является элементом. Что это означает на практике? Ну, те же функции, которые вы используете для строк, могут быть использованы для списков.

len() - для списка эта функция возвращает его длину.

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> len(numbers_list)
4

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

>>>

>>> hello = ["H", "e", "l", "l", "o"]
>>> hello[2]
'l'
>>> hello[3]
'l'
>>> hello[0]
'H'
>>> hello[0:2]
['H', 'e']

Методы типа данных

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

list.append() - используется для добавления элемента в конец списка

>>>

>>> fruits = ["apples", "grapes", "oranges"]
>>> fruits.append("blueberries")
>>> fruits
['apples', 'grapes', 'oranges', 'blueberries']

list.sort() - отсортировать этот список

>>>

>>> fruits.sort()
>>> fruits
['apples', 'blueberries', 'grapes', 'oranges']

list.pop() - при заданном значении индекса удалить элемент из списка

>>>

>>> numbers_list = [1, 2, 3, 200]
>>> numbers_list.pop(2)
3
>>> numbers_list
[1, 2, 200]

Кортеж

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

>>>

my_tuple = ("Michael", "Herman", 31, "Software Developer")

Как и список, вы также можете использовать индексы для доступа к различным элементам:

>>>

>>> my_tuple = ("Michael", "Herman", 31, "Software Developer")
>>> my_tuple[1]
'Herman'

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

Манипулирующие кортежи

операторы

Да, вы можете добавить два кортежа:

>>>

>>> first_tuple = (1, 2)
>>> second_tuple = (3, 4)
>>> third_tuple = first_tuple + second_tuple
>>> third_tuple
(1, 2, 3, 4)

функции

list() - используется для преобразования кортежа в список

>>>

>>> first_tuple = (1, 2)
>>> list(first_tuple)
[1, 2]

Как насчет преобразования списка в кортеж? Есть ли функция для этого? Куда бы вы пошли, чтобы узнать?

Методы типа данных

Поскольку кортежи неизменяемы, многие изlist methodsне работают с кортежами.

>>>

>>> first_tuple = (1, 2)
>>> first_tuple.append(3)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'append'
>>> first_tuple.pop(1)
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'pop'
>>> first_tuple.sort()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'sort'
>>> first_tuple.reverse()
Traceback (most recent call last):
  File "", line 1, in 
AttributeError: 'tuple' object has no attribute 'reverse'

Словари

Словари - это тип ассоциативного массива (объекта), реализованный с использованием хеш-таблиц, содержащих пары ключ / значение. Они неупорядочены.

my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}

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

>>>

>>> my_dict = {"Key 1": "Value 1", "name": "michael herman", "pi": 3.14}
>>> my_dict["name"]
'michael herman'
>>> my_dict["Key 1"]
'Value 1'

Работа со словарями

Изучите это самостоятельно, используя Pythondocumentation. Нужна помощь? Комментарий ниже.

Кстати о комментариях ...

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

# This a comment on it's own line
# You create them with the hash symbol
var = "Hello"  # They can also be on the same line as code

Нужна помощь?

Как хороший друг, Python всегда доступен, если вы застряли. Возможно, вы хотите узнать, как работает конкретный объект, просто откройте оболочку Python и затем вызовитеhelp(), чтобы получить справку, илиdir(), чтобы узнать, какие методы доступны для этого конкретного объекта.

(6) Кодирование в Python

Существует три основных подхода к кодированию в Python. Мы уже использовали один из них - интерактивную оболочку Python.

Раковина (редукс)

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

Например, давайте посмотрим на простое выражение. Откройте оболочку и запустите:

>>>

>>> 24 + 10
34

Оболочка Python просто вычислила24 + 10, сложив два числа, и выдала сумму34.

Попробуйте еще один:

>>>

>>> import this

Потратьте минуту, чтобы прочитать вывод. Это некоторые концепцииimportant в Python, которые помогут вам написать код Pythonidiomatic.

Закройте интерактивную оболочку Python. После закрытия наш код исчез. Другими словами, код, введенный в оболочку Python, не является постоянным и не может быть использован повторно. Как программисты, нам нужен код, который мы можем использовать повторно, чтобы сохранить драгоценные нажатия клавиш. К сожалению, Python Shell не работает в этом отношении.

IDLE

Python поставляется с программой с именем IDLE (названной в честь Эрика Idle Монти Пайтона). IDLE является интерактивным и может использоваться точно так же, как оболочка Python. Его также можно использовать для повторного использования кода, поскольку мы можем создавать код Pythonand save. Тем не менее, IDLE по-прежнему не так мощен, как последний метод, поэтому мы пока пропустим его.

Если вы заинтересованы в использовании IDLE, ознакомьтесь с отличным руководствомOne Day of IDLE Toying.

Редактор кода

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

Why? Когда вы изучаете что-то новое, вы хотите снять как можно больше уровней сложности. Упростите вещи. Добавляя сложную среду IDE, которую вы должны будете изучить, как работать, вы просто добавляете все больше и больше слоев, делая задачу - изучение Python - еще более сложной.

(7) Выбор редактора кодирования

Программа Python в своей базовой форме - это просто строки текста (кода), сохраненные в файле с расширением.py. Код Python может быть написан на чем-то базовом, например, в «Блокноте», но нет никаких причин подвергать себя таким испытаниям, поскольку есть гораздо лучшие варианты. По своей сути редактор кода должен предоставлять ряд функций, которые помогают программисту создавать программы (в нашем случае скрипты и модули Python). В большинстве случаев редакторы кода позволяют пользователю настраивать саму программу в соответствии с вашими потребностями и стилем.

Что вы должны искать в редакторе кода?

  • Простота использования

  • Подсветка синтаксиса

  • Авто-отступы

  • Виды с вкладками

  • Нумерация строк

  • Возможность настроить внешний вид редактора

  • Наличие дополнений

Взгляните на следующий пример:

The Good Bad and Ugly

Таким образом, код не только легче читается в редакторе (Sublime Text) вверху (из-за выделения синтаксиса и нумерации строк), но и выявляет три простые ошибки, одна из которых является препятствием для показа . (Можете ли вы выяснить, какой из них?) Между тем, редактор (Блокнот) внизу не отображает ошибки и плохо смотрится, так как он черный и какое-то время.

Какой редактор я должен использовать?

Один из самых популярных редакторов кода -Sublime Text 3 (показан выше). Он мощный, кроссплатформенный и бесплатный, чтобы попробовать.

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

Если вы хотите что-то попроще, посмотритеgedit, который также является кроссплатформенным. Notepad++ - тоже отличный редактор, но только для Windows. Оба этих редактора бесплатны, и хотя ни один из них не обладает мощью Sublime Text, они все же полезны.

Третий вариант -Vim, он бесплатный и доступен для Mac, Linux и Windows. У Vim крутая кривая обучения, но у него лояльная база пользователей. Vim Distribution Стива Франсиа - лучшая программная установка для Vim, которую я когда-либо видел.

Я лично предпочитаюSublime Text 3. Прочтите сообщение в блогеSetting Up Sublime Text 3 for Full Stack Python Development, чтобы узнать, как настроить его специально для написания кода Python.

Помните: естьmany different options, когда дело касается редакторов кода, как бесплатных, так и коммерческих. Сделайте свое исследование, и не бойтесь экспериментировать! Просто помните: редактор должен помогать вам придерживаться стандартов, практики и идиом программирования Python ...

(8) Python идиомы = счастливое кодирование

PEP 8 – Style Guide for Python Code - это руководство по стилю программирования кода Python. Изучите это.

Одна идиома, которая сбивает с толку многих новых разработчиков Python - это отступы. Python использует отступ (4 пробела) для логической организации кода в разделы, называемые [блоки кода] (http://en.wikipedia.org/wiki/Block_(programming). Блок кода начинается с отступа и заканчивается отступом (undendent?). Неправильный отступ приведет к возникновению ошибки в Python, препятствующей выполнению вашего кода. И это именно то, где правильно настроенный редактор кода окупается, так как он поймает ошибки отступов и выделит их для вас. Вы должны также использовать пробелы вместо табуляции при отступе. Большинство редакторов позволяют вам преобразовывать вкладки в пробелы, так что когда вы вкладываете, он фактически применяет 4 пробела.

Давайте вернемся к ошибкам на изображении выше ...

  1. Строка 2 - нет места вокруг оператора<. Как объяснено вPEP8, Python ожидает пробелов вокруг операторов. Это не критическая ошибка, но проблема, так как ваш код должен быть чистым и читаемым.

  2. Строка 4 - Здесь есть две ошибки, включая пробку показа. Как указано выше, Python использует отступ для определения блоков кода. count = count + 1 является частью блока кода, который начинается со строки 2, поэтому он должен иметь отступ в 4 пробела, чтобы Python мог включить его в блок кода.

(9) Подсчет до 10

Готовы погрузиться в базовый пример ?!

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

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

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

Давайте составим план (псевдокод!)

Let’s make a plan

Мне нравится, чтобы все было организовано на моем компьютере, поэтому сначала создайте папку, поместите ее в папку «документы» или что-то подобное. Я создал папку под названиемpython_code. Обучение программированию - это дело рук, поэтому откройте редактор кода и введите следующий код. Do not copy and paste no matter how tempting it is. Doing so will hinder learning.

Python 2.7:

# Python 2.7

count = 1
# Code block 1
while count < 11:
    print count
    count = count + 1
# Code block 2
if count == 11:
    print 'Counting complete.'

Python 3:

# Python 3

count = 1
# Code block 1
while count < 11:
    print(count)
    count = count + 1
# Code block 2
if count == 11:
    print('Counting complete.')

Обратите внимание, что в первой строке каждого примера есть# (символ решетки), за которым следует пробел, а затем пояснение. Это встроенный комментарий. Такие комментарии имеют ряд целей, но по большей части они используются либо для объяснения кода, либо для подведения итогов конкретного подхода, использованного разработчиком. Имеют ли смысл комментарии в приведенных выше примерах? Если нет, измените их.

Наконец, как вы вскоре выясните, Python игнорирует комментарии при выполнении кода.

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

  1. В выраженииcount = 1= присваивает значение 1 переменной с именемcount.

  2. В условномif count == 11:== сравнивает значениеcount с11, возвращая логическое значениеTrue илиFalse. Можете ли вы сказать, что вычисляет оператор в приведенном выше примере после каждой итерации?


Сохраните файл какcount_to_ten.py в созданной вами папке и выйдите из редактора. Откройте терминал или командную строку и перейдите в созданную папку.

Теперь запустите код:python count_ten.py

Возможно, вам придется заменитьpython наpython3 илиpy -3, в зависимости от ваших настроек. См.Step 4 для получения дополнительной информации.

И вывод должен выглядеть примерно так:

Count to ten

Congrats! Вы только что написали свою первую программу.

(10) Ошибки и исключения

Ошибки - это то, что раздражает и расстраивает программистов на любом уровне опыта.

В Python есть два типа ошибок кода,syntax errors and exceptions.

Синтаксические ошибки

Мы уже видели эту ошибку - неправильный отступ. Синтаксические ошибки помешают выполнению программы. В этом примере в инструкцииif отсутствует двоеточие для завершения инструкции. Как видите, Python очень полезен, чтобы указать на ошибку:

>>>

>>> if x < 9
   File "", line 1
     if x < 9
             ^
SyntaxError: invalid syntax

Исключения

Ошибки исключения возникают во время выполнения программы. Python имеет несколько встроенныхexceptions. Например:

>>>

>>> 12/0
Traceback (most recent call last):
  File "", line 1, in 
ZeroDivisionError: integer division or modulo by zero

Семантические ошибки

Семантические ошибки - это ошибки, возникающие в результате одной или нескольких проблем в логике.

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

(11) Мощность Python - Пакеты / Модули

Одна из замечательных особенностей Python - это множество доступных модулей, как встроенных в ядро ​​Python, так иthird party packages/libraries, используемых для расширения языка. Эти модули могут быть очень полезны. Некоторые из наиболее используемых встроенных модулей Python включают в себя:

  • math: математические функции из стандартной библиотеки C (вы уже видели эту)

  • random: генератор псевдослучайных чисел

  • datetime: используется для управления датой и временем

  • re: для работы с регулярными выражениями

Например, здесь мыimport math, чтобы использоватьpi,sqrt (квадратный корень) иpow (возведение в степень):

Pi

Warning: не называйте файлы Python так же, как модуль, напримерmath.py илиrandom.py. Это приведет к конфликтам, что приведет к неожиданному поведению в вашем коде. Поэтому, если вы используете математический модуль, не называйте свой файлmath.py. Есть смысл?

Pip

Лучший способ управлять сторонними пакетами / модулями Python - использоватьpip. Новые программисты часто сталкиваются с трудностями, когда следуют некоторому примеру кода, и при попытке запустить код видят следующую ошибку:ImportError: No module named MODULE_XXXX.

Эти модули необходимо установить вручную с помощью Pip. В Python 3 включен pip, называемыйpip3. Если вы использовали Homebrew для установки Python, также включен pip. Начиная с Python 2.7.9, pip также включен. Если вы используете версию Python до 2.7.9, следуйте этим инструкциям для установки pip:

  1. Загрузитеget-pip.py, убедитесь, что файл был сохранен с расширением.py.

  2. Перейдите к местоположению загруженного файла в терминале или командной строке.

  3. Выполнить:python get-pip.py

  4. Прочтитеofficial pip documentation для получения дополнительной информации.

(12) Следующие шаги

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

Моей первой остановкой был один из самых популярных бесплатных вариантов,Learn Python the Hard Way. Учебное пособие Зед Шоу изложено в прогрессивном и логичном формате упражнений. Я нашел это очень полезным для изучения синтаксиса, но мне нужно было больше.

Один из лучших способов научиться программировать - это создать подход, основанный на проекте. Вот так я и наткнулся на Real Python. Есть триReal Python, которые стоят скромной платы и часто обновляются (обычно раз в два месяца), чтобы идти в ногу с изменениями (бесплатно).

Еще одно место, которое действительно мне помогло, - это курс Массачусетского технологического института,Introduction to Computer Science and Programming, который охватывает различные концепции информатики наряду с Python. Курс можно найти в двух местах.

  1. Некоммерческая онлайн-инициатива Гарварда и Массачусетского технологического института (Edx.org) предлагает курс, состоящий из двух частей. Они сложные и обеспечивают отличный подход к решению проблем. Обе части оцениваются.

  2. Другой путь - от открытых курсов MIT,Introduction to Computer Science and Programming MIT 6.00x. Курс не оценен, но в нем есть очень активное онлайн-сообщество, которое весьма полезно.

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

Еще один источник бесплатных учебных материалов исходит от PSF:

Прежде всего, важно, чтобы вы не упали в поиске «лучшей» книги или поиска видео и не заблудились. Проводить некоторые исследования. Поспрашивать. Но выберите что-нибудь иstick with it! Откройте редактор кода и начните писать код! Возьмите на себя обязательство завершить это.

Бесплатная загрузка PDF: Шпаргалка по Python 3

(13) езда на велосипеде

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

Проверьте также эти ресурсы:

  1. Официальные документы Python -Python 2.7 илиPython 3

  2. ВTutorials Point есть несколько очень простых и понятных примеров, когда мне нужно быстрое обновление.

  3. Веб-сайтJeff Knupp’s (автор серии руководств и книг Idiomatic Python)

  4. Real Python Tutorials section посвящен более конкретным и продвинутым темам, таким как веб-фреймворки Python, Django и Flask.

  5. Python Course Бернд Кляйн содержит превосходное покрытие Python; его обсуждение сложных тем действительно полезно.

  6. Stack Overflow, Вопросы и ответы по программированию, дает отличные объяснения тем Python. КакPython can slice a string - отличный пример.

Если вы застряли на проблеме, попробуйте следующие простые предложения:

  1. Хватит кодировать!

  2. Достаньте лист бумаги и наметьте, как решить проблему, используя простые слова (псевдокод); при необходимости используйте блок-схему. Обратитесь кexample above.

  3. В какой-то момент вы познакомитесь сexception handling Python - блокомtry/except. Не используйтеtry, пока ваш код не заработает. try может подавлять важные сообщения об ошибках, которые помогают выявлять проблемы в коде.

  4. Если вы не получаете ожидаемый результат - то есть, возможно, Python отображает слово вместо числа (неправильный тип данных) - добавьте оператор печати сразу после назначения переменной, а затем прямо перед ожидаемым выводом. Это эффективное, быстрое и грязное решение проблем.

  5. Если вы все еще в тупике, отличный инструмент -Python Visualizer. Этот инструмент позволяет вам «шагать» по своему коду во время его выполнения. В Python Visualizer есть примеры, которые помогут вам в случае необходимости.

  6. Последнее замечание - и это очень важно - то, что расстроенный мозг не поможет. Когда вы начинаете раздражаться, потому что что-то не работает, сделайте перерыв, очистите свой мозг. Пробежаться. Сделай что-нибудь еще. Вы будете удивлены, насколько эффективно это может быть. Часто вы возвращаетесь с ясными глазами и видите простую опечатку, ключевое слово с ошибкой и т. Д.

(14) Простой совет для новых Python-кодеров

Я говорю это самым приятным образом -no one is going to spoon feed you. Кодеры ожидают, что другие кодеры - да, даже новички - попытаются решить проблему самостоятельно. Однако в какой-то момент нам всем нужно руководство.

После того, как вы попробовали и действительно ударились о стену, обратитесь за помощью, прежде чем разбить клавиатуру или другой неодушевленный предмет (ы). Есть несколько мест, где можно получить помощь -code forums, группы Facebook,IRC channel #python и многие другие. Потратьте минуту, чтобы прочитать все правила или рекомендации для любой из групп, которые вы используете. Сделайте так, чтобы другие могли легко помочь вам, объяснив проблему и то, что вы пробовали. Если есть ошибка, включите эту информацию также.

Веселого программирования!

(15) Проверьте свои знания

  1. Что это означает, что Python является сильным, динамически типизированным языком?

  2. Как вы получаете доступ к Python Shell?

  3. Как вы объявляете переменную?

  4. В чем разница между именем переменной и значением переменной?

  5. Каковы встроенные типы данных Python?

  6. В чем разница между целым числом и числом с плавающей запятой?

  7. Каковы булевы значения?

  8. Что делает оператор%?

  9. В чем разница между списком и кортежем?

  10. Что такое словарь?

  11. Почему вы должны использовать комментарии в своем коде?

  12. Протестируйте функциюhelp(). Что ты изучал?

  13. Передайтеfloat функцииdir(). Что ты изучал?

  14. Один примитив, который мы не рассмотрели, -None. Что это представляет?

  15. Вы можете проверить тип данных переменной или значения с помощью функцииtype(). Проверьте это с использованием различных типов данных и переменных. Что ты изучал?

Откройте текстовый редактор и создайте новый файл с именемexercise.py. Скопируйте и вставьте следующий код в файл:

##########################################################################
## Modify the variables so that all of the statements evaluate to True. ##
##########################################################################

var1 =
var6 =
var2 =
var3 =
var4 =
var5 =

############################################
## Don't edit anything below this comment ##
############################################

# integers
print(type(var1) is int)
print(type(var6) is float)
print(var1 < 35)
print(var1 <= var6)

# strings
print(type(var2) is str)
print(var2[5] == 'n' and var2[0] == "p")

# lists
print(type(var3) is list)
print(len(var3) == 5)

# tuples
print(type(var4) is tuple)
print(var4[2] == "Hello, Python!")

# dictionaries
print(type(var5) is dict)
print("happy" in var5)
print(7 in var5.values())
print(var5.get("egg") == "salad")
print(len(var5) == 3)
var5["tuna"] = "fish"
print(len(var5) == 3)

Следуя инструкциям, обновите код. Когда закончите, запустите код со своего терминала для тестирования с помощью командыpython exercise.py. Удачи!

Теперь, когда вы знакомы с основами программирования на Python, обязательно ознакомьтесь с широким спектром учебных пособий по Python здесь, на Real Python, чтобы продолжить совершенствовать свои навыки. Вы можете найти все наши руководстваby clicking here.