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

В отличие от других руководств по Python, это краткое руководство по программированию на Python 3 для людей, которые думают, что читать скучно. Я стараюсь все показать на простых примерах кода; нет длинных и сложных объяснений причудливыми словами.

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

Установка Python
Начало работы с Python
Переменные, логические значения и None
Встроенная функция «print»
If, else и elif
Игра со строками < br /> Списки и кортежи
Циклы
Словари
Определение функций
Файлы
Модули
Классы

Примечание. В этом посте мы будем использовать Windows в качестве операционной системы для выполнения команд через терминал.

Установка Python

Неважно, какую операционную систему вы используете, потому что Python отлично работает в Windows, Mac OSX, Linux и многих других операционных системах. Однако установка и запуск Python в разных операционных системах выполняются по-разному, поэтому просто следуйте инструкциям своей операционной системы.

Окна

Установка Python в Windows очень похожа на установку любой другой программы.

  1. Посетите официальный сайт Python.
  2. Наведите указатель мыши на меню загрузки, но не нажимайте на него. Затем нажмите кнопку, которая загружает последнюю версию Python.
  3. Запустите установщик.
  4. Убедитесь, что программа запуска установлена, и нажмите «Установить сейчас».

Вот видео, демонстрирующее весь процесс:

Mac OS X

Установка Python поверх Mac OSX будет похожа на установку любой другой программы, вы можете скачать версию с их официального сайта и следовать этому видеоуроку.

Запуск Python

Далее мы научимся запускать Python в PowerShell или терминале. Есть несколько других способов запустить Python, но пока мы будем придерживаться базового.

Окна

  1. Откройте PowerShell из начального меню или начального экрана.
  2. Введите py и нажмите Enter. Вы должны увидеть что-то вроде этого:

Теперь вы можете ввести exit() и нажать Enter, чтобы выйти из Python. Или вы можете просто закрыть окно PowerShell или терминала.

Другой вариант использования Python

Вы можете использовать такой веб-сайт, как repl.it для запуска программ на Python. repl.it - это простой, но мощный онлайн-компилятор, IDE, интерпретатор и интерактивная среда для таких языков программирования, как python. Но я настоятельно рекомендую установить Python. Таким образом, вам не нужно открывать веб-браузер только для того, чтобы писать код, и вы можете работать без подключения к Интернету.

Начало работы с Python

Сначала запустите свой терминал Python, как описано в приведенной выше части.

>>> означает, что Python готов и мы можем ввести команду. Основная идея действительно проста: мы вводим команду, нажимаем Enter, вводим другую команду, нажимаем Enter и продолжаем.

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

>>> hello

Ой! Это не сработало. Но мы получаем сообщение об ошибке, в котором говорится, что не так.

Пойдем дальше.

Может, нажать Enter, ничего не набирая?

>>>
>>>

Это сработало. А как насчет чисел?

>>> 123
123
>>> -123
-123
>>> 3.14
3.14
>>> -12.3
-12.3
>>>

Как мы видим, эхо возвращается. Значит, это сработало!

Комментарии

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

>>> 1 + 2     # comment here
3

Python действительно не имеет синтаксиса для многострочных комментариев. Чтобы добавить многострочный комментарий, вы можете вставить # для каждой строки:

>>> # comment 1st Line
>>> # comment 2nd Line
>>> 1 + 2
3

Струны

Строки - это небольшие фрагменты текста, которые мы можем использовать в наших программах. Мы можем создавать строки, просто записывая текст в кавычках.

>>> 'hello world'
'hello world'

Строки также можно записывать в «двойные кавычки» вместо «одинарных кавычек». Это полезно, когда нам нужно поместить кавычки внутри строки.

Строки можно легко соединить с помощью + или повторить с помощью *:

>>> "hello" + "world"
'helloworld'
>>> "hello" * 3
'hellohellohello'

Использование Python в качестве калькулятора

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

>>> 17 + 3
20
>>> 17 - 3
14
>>> 17 * 3
51
>>> 17 / 3
5.666666666666667

Python действительно следует «правилу Бодмаса». Начиная с * круглых скобок * экспонент * умножения * деления * сложения * вычитания.

Переменные, логические значения и нет

Переменные

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

Переменная создается в тот момент, когда вы впервые присваиваете ей значение.

>>> a = 1   # create a variable called a that points to 1
>>> b = 2   # create another variable

Чтобы получить значение переменной, просто используйте имя переменной и нажмите Enter.

>>> a       # get the value that the variable points to
1
>>> b
2

Переменная может иметь короткое имя (например, x и y) или более информативное имя (возраст, carname, total_volume). Правила для переменных Python:

  • Имя переменной должно начинаться с буквы или символа подчеркивания.
  • Имя переменной не может начинаться с цифры
  • Имя переменной может содержать только буквенно-цифровые символы и символы подчеркивания (A – z, 0–9 и _).
  • Имена переменных чувствительны к регистру (возраст, возраст и ВОЗРАСТ - три разные переменные)
>>> #Legal variable names:
>>> myvar = "John"
>>> my_var = "John"
>>> _my_var = "John"
>>> myVar = "John"
>>> MYVAR = "John"
>>> myvar2 = "John"
>>> #Illegal variable names:
>>> 2myvar = "John"
>>> my-var = "John"
>>> my var = "John"

Примечание. Помните, что имена переменных чувствительны к регистру.

При присвоении чего-либо переменной с использованием = правая часть = всегда выполняется перед левой стороной. Это означает, что мы можем что-то сделать с переменной справа, а затем присвоить результат той же переменной слева.

>>> a = 1
>>> a = a + 1
>>> a
2

Чтобы что-то сделать с переменной (например, чтобы что-то добавить к ней) мы также можем использовать +=, -=, *= и /= вместо +, -, * и /. «Продвинутые» %=, //= и **= также работают.

>>> a += 2          # a = a + 2
>>> a -= 2          # a = a - 2
>>> a *= 2          # a = a * 2
>>> a /= 2          # a = a / 2

Это не ограничивается целыми числами.

>>> a = 'hello'
>>> a *= 3
>>> a += 'world'
>>> a
'hellohellohelloworld'

Булевы

Есть два логических значения: True и False. В Python и во многих других языках программирования = назначает, а == сравнивает. a = 1 устанавливает значение 1, а a == 1 проверяет, равно ли 1.

>>> a = 1
>>> a == 1
True
>>> a = 2
>>> a == 1
False

Никто

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

>>> not_val = None
>>> not_val
>>>

Другие операторы сравнения

До сих пор мы использовали ==, но есть и другие операторы. Этот список, вероятно, выглядит ужасно длинным, но на самом деле его довольно легко выучить.

Python делит операторы на следующие группы:

Арифметические операторы Python

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

>>> x = 1
>>> y = 2
>>> x + y # Addition
3
>>> x - y # Subtraction
-1
>>> x * y # Multiplication
2
>>> x / y # Division
0.5
>>> x % y # Modulus
1
>>> x ** y # Exponentiation
1
>>> x // y # Floor division
0

Операторы присваивания Python

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

>>> x = 5
>>> x += 3
>>> x
8
>>> x -= 3
>>> x
5
>>> x *= 3
>>> x
15
>>> x /= 3
>>> x
5.0
>>> x %= 3
>>> x
2.0
>>> x = 5
>>> x //= 3
>>> x
1
>>> x **= 3
>>> x
1
>>> x = 5
>>> x &= 3
>>> x
1
>>>
>>> x |= 3
>>> x
3
>>> x ^= 3
>>> x
0
>>> x >>= 3
>>> x
0
>>> x <<= 3
>>> x
0

Операторы сравнения Python

Операторы сравнения используются для сравнения двух значений.

>>> x = 2
>>> y = 3
>>> x == y # Equal
False
>>> x != y # Not equal
True
>>> x > y # Greater than
False
>>> x < y # Less than
True
>>> x >= y # Greater than or equal to 
False
>>> x <= y # Less than or equal to
True

Логические операторы Python

Логические операторы (и / или / нет) используются для объединения условных операторов.

>>> x = 9
>>>
>>> # and - Returns True if both statements are true
... x < 5 and  x < 10
False
>>>
>>> # or - Returns True if one of the statements is true
... x < 5 or x < 4
False
>>>
>>> # not - Reverse the result, returns False if the result is true
... not(x < 5 and x < 10)
True

Операторы идентификации Python

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

>>> x = 9
>>> y = 9
>>>
>>> # is - Returns True if both variables are the same object 
... x is y
False
>>>
>>> # is not  - Returns True if both variables are not the same object
... x is not y
False

Встроенная функция «печать»

Теперь мы знаем, как заставить Python отображать текст.

>>> 'Hello!'
'Hello!'

Но это включает кавычки''. Один из способов показать текст пользователю без кавычек'' - использовать функцию печати. В Python печать не имеет ничего общего с физическими принтерами, она просто означает отображение текста на экране.

>>> print('Hello!')
Hello!
>>> print("Hello World!")
Hello World!

Посмотрим, что произойдет, если мы введем print без части ('Hello').

Как видим, print - это функция. Функции что-то делают, когда их вызывают путем ввода их имени и скобок. Внутри круглых скобок мы также можем передать некоторые аргументы. В print("hello") функция print, и мы даем ей один аргумент, равный "hello".

Функции просты для понимания, они просто что-то делают при вызове. Функции запускаются немедленно, когда мы их вызываем, поэтому текст появляется на экране сразу же, когда мы запускаем print(something).

То, что вы могли сделать неправильно: иногда люди думают, что выполнение thingy = print('hello') означает, что Python будет печатать приветствие каждый раз, когда мы набираем thingy. Но это не так! print('hello') сразу запускает печать, и если мы наберем thingy позже, print('hello') больше не запустится.

Полезные сведения о печати

Мы также можем напечатать пустую строку, вызвав print без аргументов.

>>> print()
>>>

В Python \n - это символ новой строки. При печати строки, содержащей символ новой строки, также печатается новая строка:

>>> print('hello\nworld')
hello
world
>>>

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

>>> print('hello\\nworld')
hello\nworld
>>>

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

>>> print("Hello", "World!")
Hello World!
>>>

В отличие от +, аргументы не обязательно должны быть строками.

>>> print(42, "is an integer, and the value of pi is", 3.14)
42 is an integer, and the value of pi is 3.14
>>>

Если, еще и Элиф

Использование операторов if

«Оператор if» записывается с использованием ключевого слова if.

>>> a = 33
>>> b = 200
>>> if b > a:
...     print("b is greater than a") #indented line
...
b is greater than a
>>>

В этом примере мы используем две переменные, a и b, которые используются как часть оператора if для проверки того, больше ли b, чем a. Поскольку a равно 33, а b равно 200, мы знаем, что 200 больше 33, и поэтому мы выводим на экран, что «b больше, чем a».

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

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

Также примечание: подсказка изменилась с >>> на .... Это означало, что Python ожидал, что я продолжу печатать. Когда я закончил, я просто дважды нажал Enter. Мой код был выполнен, и подсказка вернулась к >>>.

Использование операторов elif

Ключевое слово elif - это способ Python сказать «если предыдущие условия не были верными, попробуйте это условие».

>>> a = 33
>>> b = 200
>>> if b > a:
...     print("b is greater than a") #indented line
...
b is greater than a
>>>

В этом примере a равно b, поэтому первое условие неверно, но условие elif истинно, поэтому мы выводим на экран, что «a и b равны».

Использование операторов else

Ключевое слово else перехватывает все, что не отловлено предыдущими условиями.

>>> a = 200
>>> b = 33
>>> if b > a:
...     print("b is greater than a")
... elif a == b:
...     print("a and b are equal")
... else:
...     print("a is greater than b")
...
a is greater than b
>>>

В этом примере a больше, чем b, поэтому первое условие не истинно, также условие elif не истинно, поэтому мы переходим к условию else и выводим на экран, что «a больше, чем b».

У вас также может быть else без elif:

>>> a = 200
>>> b = 33
>>> if b > a:
...     print("b is greater than a")
... else:
...     print("a is greater than b")
...
a is greater than b
>>>

Игра со струнами

Объединить

>>> "I said: " + our_string
'I said: Hello World!'
>>>

Множитель для строки

>>> our_string = "Hello World!"
>>> our_string * 3
'Hello World!Hello World!Hello World!'
>>>

То, что вам следует знать:

Строки Python неизменяемы. Это просто причудливый способ сказать, что их нельзя изменить на месте, и нам нужно создать новую строку, чтобы изменить их. Даже some_string += another_string создает новую строку. Python будет рассматривать это как some_string = some_string + another_string, поэтому он создает новую строку, но возвращает ее в ту же переменную.

Нарезка

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

>>> our_string = "Hello World!"
>>> our_string[2:5]
'llo'
>>>

Итак, синтаксис похож на some_string[start:end].

Но что произойдет, если мы разрежем с отрицательными значениями?

>>> our_string = "Hello World!"
>>> our_string[-5:-2]
'orl'
>>>

Если мы не укажем начало, оно по умолчанию равно 0, а если мы не укажем конец, по умолчанию используется длина строки. Например, мы можем получить все, кроме первого или последнего символа, вот так:

>>> our_string = "Hello World!"
>>> our_string[1:] 
'ello World!'
>>> our_string[:-1] 
'Hello World'
>>>

Индексирование

Строки индексации также начинаются с нуля. Первый символ - our_string[0], второй символ - our_string[1] и так далее.

>>> our_string = "Hello World!"
>>> our_string[0]
'H'
>>> our_string[1]
'e'
>>> our_string[2]
'l'
>>> our_string[3]
'l'
>>> our_string[4]
'o'
>>>

Строковые методы

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

Вот пример некоторых из наиболее часто используемых строковых методов:

Метод upper() возвращает строку в верхнем регистре:

>>> our_string = "Hello World!"
>>> our_string.upper()
'HELLO WORLD!'

Метод lower() возвращает строку в нижнем регистре:

>>> our_string = "Hello World!"
>>> our_string.lower()
'hello world!'

Метод startswith() возвращает True, если строка начинается с указанного значения, в противном случае - False.

>>> our_string = "Hello World!"
>>> our_string.startswith('Hello')
True

Метод endswith() возвращает True, если строка заканчивается указанным значением, в противном случае - False.

>>> our_string = "Hello World!"
>>> our_string.endswith('World!')
True
>>> our_string.endswith('world!')  # Python is case-sensitive
False

Метод replace() заменяет указанную фразу другой указанной фразой.

>>> our_string = "Hello World!"
>>> our_string.replace('World', 'there')
'Hello there!'

Метод lstrip() удаляет все начальные символы (по умолчанию удаляемый начальный символ является пробелом)

>>> our_string = "Hello World!"
>>> '  hello 123  '.lstrip()    # left strip
'hello 123  '

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

>>> our_string = "Hello World!"
>>> '  hello 123  '.rstrip()    # right strip
'  hello 123'

Метод strip() удаляет все пробелы в начале или в конце:

>>> our_string = "Hello World!"
>>> '  hello 123  '.strip()     # strip from both sides
'hello 123'

Метод count() возвращает количество раз, когда указанное значение появляется в строке.

>>> our_string = "Hello World!"
>>> our_string.count('o')   # it contains two o's
2

Метод index() находит первое вхождение указанного значения.

>>> our_string = "Hello World!"
>>> our_string.index('o')   # the first o is our_string[4]
4

Метод rindex() находит последнее вхождение указанного значения.

>>> our_string = "Hello World!"
>>> our_string.rindex('o')  # the last o is our_string[7]
7

Метод join() берет все элементы итерации и объединяет их в одну строку.

>>> '-'.join(['hello', 'world', 'test'])
'hello-world-test'

Метод split() разбивает строку на подстроки, если находит экземпляры разделителя.

>>> 'hello-world-test'.split('-')
['hello', 'world', 'test']

Форматирование строк

Метод format() форматирует указанные значения и вставляет их в заполнитель строки.

Заполнитель определяется с помощью фигурных скобок: {}. Дополнительные сведения о заполнителях см. В разделе «Заполнители» ниже.

Метод format() возвращает отформатированную строку.

>>> txt1 = "My name is {fname}, I'am {age}".format(fname = "John", age = 36)
>>> txt1
"My name is John, I'am 36"

Другой пример:

>>> txt2 = "My name is {0}".format("John")
>>> txt2
'My name is John'

Списки и кортежи

Иногда мы можем сделать что-то подобное.

name1 = 'john'
name2 = 'doe'
name3 = 'amin'
name4 = 'mark'
name5 = 'spark'

Этот код работает нормально, но есть проблема. Проверка имени является повторяющейся, а добавление нового имени требует добавления еще большего количества повторений. Вот где в игру вступает СПИСОК.

Списки

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

По определению список - это упорядоченная и изменяемая коллекция. В Python списки заключаются в квадратные скобки.

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']

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

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names[1]  
'doe'

Отрицательная индексация означает начало с конца, -1 относится к последнему элементу, -2 относится ко второму последнему элементу и т. д.

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names[-1]  
'spark'

Вы можете указать диапазон индексов, указав, где начать и где закончить диапазон.

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names[1:3]  
['doe', 'amin']

Примечание. Поиск начнется с индекса 1 (включен) и закончится с индексом 3 (не включен), поэтому вы видите doe, amin, а не mark.

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

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names[1] = "smith"
>>> names
['john', 'smith', 'amin', 'mark', 'spark']

Чтобы определить, сколько элементов в списке, используйте функцию len():

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> len(names)
5

Чтобы добавить элемент в конец списка, используйте метод append ():

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names.append('medium')

Чтобы добавить элемент по указанному индексу, используйте метод insert ():

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names.insert(1,'medium')

Чтобы добавить элемент по указанному индексу, используйте метод insert ():

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names.insert(1,'medium')

Метод remove() удаляет указанный элемент:

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names.remove('doe')

Ключевое слово del удаляет указанный индекс:

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> del names[0] #remove john
>>> names 
['doe', 'amin', 'mark', 'spark']

Ключевое слово del также может полностью удалить список:

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> del names

Метод clear() очищает список:

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> names.clear()

Копирование списка: вы не можете скопировать список, просто набрав list2 = list1, потому что: list2 будет только ссылкой на list1, а изменения, внесенные в list1, также будут автоматически внесены в list2. Вы можете сделать копию списка с помощью метода copy():

>>> names = ['john', 'doe', 'amin', 'mark', 'spark']
>>> newnamelist = names.copy()
>>> newnamelist
['john', 'doe', 'amin', 'mark', 'spark']

Присоединиться к двум спискам: Хотя есть несколько способов

>>> list1 = ["a", "b" , "c"]
>>> list2 = [1, 2, 3]
>>> list3 = list1 + list2
>>> list3
['a', 'b', 'c', 1, 2, 3]

** Мы оставляем здесь одну вещь: Цикл по списку. Мы рассмотрим это при изучении циклов.

Кортежи

Кортежи во многом похожи на списки, но они неизменяемы, поэтому их нельзя изменить на месте. Мы создаем их как списки, но с () вместо [].

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

>>> numbers = (1, 2, 3)
>>> numbers
(1, 2, 3)

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

>>> numbers = (1, 2, 3)
>>> numbers[1]
2

Отрицательная индексация означает начало с конца, -1 относится к последнему элементу, -2 относится ко второму последнему элементу и т. д.

>>> numbers = (1, 2, 3)
>>> numbers[-1]
3

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

>>> thistuple = ("apple", "banana", "cherry", "orange", "kiwi", "melon", "mango")
>>> print(thistuple[2:5])
('cherry', 'orange', 'kiwi')

Примечание. Поиск начнется с индекса 2 (включен) и закончится с индексом 5 (не включен). Также помните, что первый элемент имеет индекс 0.

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

>>> x = ("apple", "banana", "cherry")
>>> y = list(x)
>>> y[1] = "kiwi"
>>> x = tuple(y)
>>> print(x)
('apple', 'kiwi', 'cherry')

Длина кортежа. Чтобы определить, сколько элементов в кортеже, используйте метод len ():

>>> x = ("apple", "banana", "cherry")
>>> print(len(x))
3

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

>>> thistuple = ("apple", "banana", "cherry")
>>> del thistuple

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

>>> tuple1 = ("a", "b" , "c")
>>> tuple2 = (1, 2, 3)
>>> tuple3 = tuple1 + tuple2
print(tuple3)

** Здесь мы оставляем одну вещь: Цикл через кортеж. Мы рассмотрим это при изучении циклов.

Петли

В программировании цикл означает повторение чего-либо несколько раз. Есть разные виды петель:

1. Циклы пока что-то повторяют, пока выполняется условие.
2. Циклы For повторяют что-то для каждого элемента чего-либо.

Цикл while

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

Программа печатает i, если i меньше 6:

>>> i = 1
>>> while i < 6:
>>>  print(i)
>>>  i += 1

Примечание: не забудьте увеличить i, иначе цикл будет продолжаться бесконечно.

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

Заявление о перерыве

С помощью оператора break мы можем остановить цикл, даже если условие while истинно:

Выйдите из цикла, когда мне будет 3:

>>> i = 1
>>> while i < 6:
>>>  print(i)
>>>  if i == 3:
>>>    break
>>>  i += 1

Заявление continue

С помощью оператора continue мы можем остановить текущую итерацию и продолжить следующую:

Если i равно 3, перейдите к следующей итерации:

>>> i = 1
>>> while i < 6:
>>>  print(i)
>>>  if i == 3:
>>>    continue
>>>  i += 1

Цикл For

Цикл for используется для перебора последовательности (то есть списка, кортежа, словаря, набора или строки). Давайте рассмотрим пример, чтобы понять, как работает цикл while.

Распечатайте каждый фрукт в списке фруктов: (*** Здесь мы используем СПИСОК)

>>> fruits = ["apple", "banana", "cherry"]
>>> for x in fruits:
>>>   print(x)
apple
banana
cherry

Примечание. Не забывайте об отступе в операторе print (x).

Заявление о перерыве

С помощью оператора break мы можем остановить цикл до того, как он пройдёт через все элементы:

>>> fruits = ["apple", "banana", "cherry"]
>>> for x in fruits:
>>>  print(x)
>>>  if x == "banana":
>>>    break

Заявление continue

С помощью оператора continue мы можем остановить текущую итерацию цикла и продолжить следующую:

>>> fruits = ["apple", "banana", "cherry"]
>>> for x in fruits:
>>>   if x == "banana":
>>>     continue
>>>   print(x)

Вложенные циклы

Вложенный цикл - это цикл внутри цикла. «Внутренний цикл» будет выполняться один раз для каждой итерации «внешнего цикла»:

>>> adj = ["red", "big", "tasty"]
>>> fruits = ["apple", "banana", "cherry"]
>>> for x in adj:
>>>   for y in fruits:
>>>     print(x, y)

Цикл по списку

Вы можете перемещаться по элементам списка, используя цикл for:

>>> thislist = ["apple", "banana", "cherry"]
>>> for x in thislist:
>>>   print(x)

Цикл по кортежу

Вы можете перебирать элементы кортежа, используя цикл for.

>>> thistuple = ("apple", "banana", "cherry")
>>> for x in thistuple:
>>>    print(x)

Словари

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

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> print(thisdict)
{'year': 1964, 'brand': 'Ford', 'model': 'Mustang'}

Доступ к элементам

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

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> x = thisdict["model"]
>>> print(x)
'Mustang'

Менять значения

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

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> thisdict["year"] = 2020

Цикл по словарю

Вы можете прокручивать словарь, используя цикл for.

>>> #Print all key names in the dictionary, one by one:
>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> for x in thisdict:
  print(x)
>>> #Print all values in the dictionary, one by one:
>>> for x in thisdict:
  print(thisdict[x])

Длина словаря

Чтобы определить, сколько элементов (пар ключ-значение) имеет словарь, используйте функцию len().

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> print(len(thisdict))

Добавление предметов

Добавление элемента в словарь выполняется с помощью нового ключа индекса и присвоения ему значения:

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> thisdict["color"] = "red"
>>> print(thisdict)

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

Есть несколько способов удалить элементы из словаря:

Метод pop() удаляет элемент с указанным именем ключа:

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> thisdict.pop("model")
>>> print(thisdict)

Метод popitem() удаляет последний вставленный элемент (в версиях до 3.7 вместо этого удаляется случайный элемент):

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> thisdict.popitem()
>>> print(thisdict)

Ключевое слово del удаляет элемент с указанным именем ключа:

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> del thisdict["model"]
>>> print(thisdict)

Пустой словарь

Метод clear() очищает словарь:

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> thisdict.clear()
>>> print(thisdict)

Копировать словарь

Вы не можете скопировать словарь, просто набрав dict2 = dict1, потому что: dict2 будет только ссылкой на dict1, а изменения, внесенные в dict1, будут автоматически внесены и в dict2.

Вы можете сделать копию словаря методом copy():

>>> thisdict = {
  "brand": "Ford",
  "model": "Mustang",
  "year": 1964
}
>>> mydict = thisdict.copy()
>>> print(mydict)

Вложенные словари

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

>>> myfamily = {
  "child1" : {
    "name" : "Emil",
    "year" : 2004
  },
  "child2" : {
    "name" : "Tobias",
    "year" : 2007
  },
  "child3" : {
    "name" : "Linus",
    "year" : 2011
  }
}

Определение функций

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

Создание функции

В Python функция определяется с помощью ключевого слова def:

>>> def my_function():
     print("Hello from a function")

Вызов функции

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

>>> def my_function():
...     print("Hello from a function")
...
>>> my_function()
Hello from a function

Аргументы

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

В следующем примере есть функция с одним аргументом (fname). Когда функция вызывается, мы передаем имя, которое используется внутри функции для печати полного имени:

>>> def my_function(fname):
...     print(fname + " Refsnes")
...
>>> my_function("Emil")
Emil Refsnes
>>>

Передача списка в качестве аргумента

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

>>> def my_function(food):
...   for x in food:
...     print(x)
...
>>> fruits = ["apple", "banana", "cherry"]
>>> my_function(fruits)
apple
banana
cherry

Возвращаемые значения

Чтобы позволить функции возвращать значение, используйте оператор return:

>>> def my_function(x):
...   return 5 * x
...
>>> print(my_function(3))
15

Файлы

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

Обработка файлов

Ключевой функцией для работы с файлами в Python является функция open(). Функция open() принимает два параметра; filename и mode. Эта функция возвращает файловый объект, также называемый дескриптором, поскольку он используется для чтения или изменения файла соответственно.

>>> f = open("test.txt")    # open file in current directory
>>> f = open("C:/Python38/README.txt")  # specifying full path

Мы можем указать режим при открытии файла. В режиме мы указываем, хотим ли мы читать r, записывать w или добавлять a в файл. Мы также можем указать, хотим ли мы открыть файл в текстовом или двоичном режиме.

По умолчанию чтение в текстовом режиме. В этом режиме мы получаем строки при чтении из файла.

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

f = open("test.txt")      # equivalent to 'r' or 'rt' - t: text mode
f = open("test.txt",'w')  # write in text mode
f = open("img.bmp",'r+b') # read and write in binary mode

При работе с файлами в текстовом режиме настоятельно рекомендуется указать здесь тип кодировки, то есть utf-8. По умолчанию в Windows это cp1252, а в Linux utf-8.

>>> f = open("test.txt", mode='r', encoding='utf-8')

Закрытие файла

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

Закрытие файла освободит ресурсы, которые были связаны с файлом. Это делается с помощью метода close(), доступного в Python.

>>> f = open("test.txt", encoding = 'utf-8')
>>> # perform file operations
>>> f.close()

Этот способ не совсем безопасен. Если при выполнении какой-либо операции с файлом возникает исключение, код завершается без закрытия файла.

Более безопасный способ - использовать блок try… finally (обработка исключений).

>>> try:
>>>    f = open("test.txt", encoding = 'utf-8')
>>> # perform file operations
>>> finally:
>>>    f.close()

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

Создать новый файл

Чтобы выполнить запись в файл на Python, нам нужно открыть его в режиме записи w, добавления a или монопольного создания x.

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

Запись строки или последовательности байтов (для двоичных файлов) выполняется с помощью метода write(). Этот метод возвращает количество символов, записанных в файл.

>>> f = open("test.txt", "a")
>>> f.write("my first file\n")
>>> f.write("This file\n\n")
>>> f.write("contains three lines\n")
>>> f.close()

В приведенном выше примере открывается файл «test.txt» и добавляется содержимое в файл.

Только для чтения частей файла

Чтобы прочитать файл в Python, мы должны открыть файл в режиме чтения r.

Мы можем прочитать text.txt файл, который мы написали в предыдущем разделе, следующим образом:

>>> f = open("test.txt",'r',encoding = 'utf-8')
>>> f.read(4) # read the first 4 data
'This'
>>> f.read(4) # read the next 4 data
' is '
>>> f.read() # read in the rest till end of file
'my first file\nThis file\ncontains three lines\n'
>>> f.read()  # further reading returns empty sting
''

Удалить файл

Чтобы удалить файл, вы должны импортировать модуль ОС и запустить его os.remove() функцию:

>>> import os
>>> os.remove(“test.txt”)

Чтобы избежать появления ошибки, вы можете проверить, существует ли файл, прежде чем пытаться его удалить:

>>> import os
>>> if os.path.exists("demofile.txt"):
>>>  os.remove("demofile.txt")
>>> else:
>>>  print("The file does not exist")

Модули

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

Файл, содержащий код Python, например: example.py, называется модулем, и его имя модуля будет example.

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

Создать модуль

Создадим модуль. Введите следующее и сохраните как example.py.

>>> # Python Module example
>>>
>>> def add(a, b):
>>>   result = a + b
>>>   return result

Здесь мы определили функцию add() внутри модуля с именем example. Функция принимает два числа и возвращает их сумму.

Используйте модуль

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

>>> import example

Используя имя модуля, мы можем получить доступ к функции с помощью оператора точка .. Например:

>>> example.add(4,5.5)
9.5

Примечание. Вы можете назвать файл модуля как хотите, но он должен иметь расширение .py.

Переменные в модуле

Модуль может содержать уже описанные функции, а также переменные всех типов (массивы, словари, объекты и т. Д.):

Предположим, следующий код сохранен в sample.py

>>> person1 = {  "name": "John",
  "age": 36,
  "country": "Norway"
}

Импортируйте модуль с именем sample и получите доступ к словарю person1:

>>> import mymodule
>>> a = mymodule.person1["age"]
>>> print(a)

Переименование модуля

Мы можем импортировать модуль, переименовав его следующим образом (также может называться псевдонимом):

>>> # import module by renaming it
>>> import example as e
>>> print("Total:", e.add(4,5.5))

Встроенные модули

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

Импортируйте и используйте модуль platform:

>>> import platform
>>> x = platform.system()
>>> print(x)

Импортировать деталь из модуля

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

Модуль с именем mymodule имеет одну функцию и один словарь:

>>> def greeting(name):
>>>   print("Hello, " + name)
>>> 
>>> person1 = {"name":"John", "age": 36, "country":"Norway" }

Импортировать из модуля только словарь person1:

>>> from mymodule import person1
>>> print (person1["age"])

Классы / Объекты

Python - это язык программирования с несколькими парадигмами. Он поддерживает разные подходы к программированию. И один из популярных подходов к решению проблемы программирования - создание объектов. Это известно как объектно-ориентированное программирование (ООП).

У объекта есть две характеристики: атрибуты и поведение.

Возьмем пример:

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

Концепция ООП в Python направлена ​​на создание повторно используемого кода. Эта концепция также известна как СУХОЙ (не повторяйся).

Создать класс

Класс - это план объекта.

Чтобы создать класс, используйте ключевое слово class:

>>> class myClass
>>>  x = 5

Создать объект

Теперь мы можем использовать класс MyClass для создания объектов:

>>> myObj = MyClass()
>>> print(myObj.x)

Функция __init __ ()

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

Все классы имеют функцию __init __ (), которая всегда выполняется при инициации класса.

Используйте функцию __init __ () для присвоения значений свойствам объекта или других операций, которые необходимо выполнять при создании объекта:

>>> class Person:
>>>  def __init__(self, name, age):
>>>    self.name = name
>>>    self.age = age
>>>
>>> p1 = Person("John", 36)
>>>
>>> print(p1.name)
>>> print(p1.age)

Объектные методы

Объекты также могут содержать методы. Методы в объектах - это функции, принадлежащие объекту.

>>> class Person:
>>>  def __init__(self, name, age):
>>>    self.name = name
>>>    self.age = age
>>>  def myfunc(self)
>>>     print("Hello my name is " + self.name) 
>>>
>>> p1 = Person("John", 36)
>>>
>>> print(p1.name)
>>> print(p1.age)
>>> p1.myfunc()

Изменить свойства объекта

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

>>> p1.age = 40

Удалить свойства объекта

Вы можете удалять свойства объектов с помощью ключевого слова del:

>>> del p1.age

Удалить объекты

Вы можете удалять объекты с помощью ключевого слова del:

>>> del p1

Что еще

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







Если вам понравился этот пост ... для меня было бы много значить, если бы вы могли щелкнуть значок «хлопки» ... разрешено до 50 хлопков - Спасибо!