Skip to content

shox-py/topic_1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

1. Начало работы

img.svg

Добро пожаловать в первую тему по изучению Python! Здесь мы начнем наше увлекательное путешествие в мир программирования с самого начала - с основ языка!

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

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



Комментарии

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

Хороший комментарий должен быть написан на языке программирования, а не на естественном языке.

Что это значит? Когда вы пишете комментарий на языке программирования, используете термины и синтаксис, привычные для программистов. Это значит, что другие программисты смогут легче понимать, что вы пытаетесь сделать.

К примеру, вот код на языке Python, который делает простое арифметическое действие:

a = 2
b = 3
c = a + b

Теперь вот тот же код, но с комментариями на языке программирования:

# Создаем переменную 'a' и присваиваем ей значение 2
a = 2

# Создаем переменную 'b' и присваиваем ей значение 3
b = 3

# Создаем переменную 'c' и присваиваем ей сумму значений переменных 'a' и 'b'
c = a + b

а вот плохой комментарий, написанный на естественном языке:

# Создаем первую переменную
a = 2

# Создаем вторую переменную
b = 3

# Создаем третью переменную и присваиваем ей сумму первых двух переменных
c = a + b

Рассмотрим следующий пример, который использует понятие списка list:

numbers = [1, 2, 3]

print(numbers[0])

Комментарий на языке программирования, который объясняет этот код, выглядеть так:

# Создаем список из трех чисел
numbers = [1, 2, 3]

# Выводим на экран первый элемент списка
# Индексация в Python начинается с 0, поэтому numbers[0] - это первый элемент списка
print(numbers[0])

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

Вот пример комментарий на естественном языке, который объясняет тот же код:

# Создаем список
numbers = [1, 2, 3]

# Выводим на экран первый элемент списка
print(numbers[0])  

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

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


Литералы

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

Примеры литералов в Python:

  • целые числа: 42 или -903;
  • числа с плавающей точкой: 3.14, 9.25E-3 или 1E8;
  • строки: "Hello, world!" или 'Это строка';
  • логические значения: True или False,

а также некоторые другие типы данных.

# Литерал целого числа
int_literal = 42

# Литерал числа с плавающей точкой
float_literal = 3.14159

# Логический литерал True
bool_literal = True

# Логический литерал False
another_bool_literal = False

# Литерал NoneType
none_literal = None

Строки

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

Литеральные строки в Python обычно заключаются в кавычки (одинарные '' или двойные ""). Например:

# Строковый литерал с использованием двойных кавычек
string_literal = "Hello, world!"

# Строковый литерал с использованием одинарных кавычек
another_string = 'Python is awesome'

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

# Строковый литерал, содержащий символ двойной кавычки, экранированный обратным слешем
string_literal = "She said: \"Hello!\""

# Строковый литерал, содержащий символ одинарной кавычки, экранированный обратным слешем
another_string = 'It\'s raining outside!'

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

Пример использования тройных кавычек для создания многострочного строкового литерала:

long_string = """Это многострочная строка.
Она состоит из нескольких строк,
которые разделены переносами строк.
Также в этой строке можно использовать одинарные и двойные кавычки без экранирования."""

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

В этой строке есть несколько строк, разделенных символами переноса строки \n. Важно отметить, что при использовании тройных кавычек символы переноса строки также включаются в создаваемую строку.

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

quote = """Это строка содержит кавычки "внутри" неё."""

Числа

Целые числа:

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

Целые числа могут быть отрицательными или положительными, но не могут содержать десятичную точку или запятую. Например, 2, 42, -99 являются целыми числами.

Числа с плавающей точкой:

Числа с плавающей точкой в Python, представляют собой числа с десятичной точкой.

Они могут быть положительными или отрицательными, а также использовать экспоненциальное представление (1.0 * 10 4 -> 1E4).

Например, 3.14, 2.0, -0.5 и 1e-3 являются числами с плавающей точкой.

Комплексные числа:

Комплексные числа в Python представляются в виде (реальная часть + мнимая часть * j), где j - мнимая единица.

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

Например, (2+3j) и (0.5-2.1j) являются комплексными числами.

# Целые числа
a = 10
b = -5
c = a + b  # 5

# Числа с плавающей точкой
x = 3.14
y = 2.0
z = x * y  # 6.28

# Комплексные числа
m = 2 + 3j
n = 1.5 - 2j
p = m * n  # (3-2.5j)

Логические и физические строки

Физическая строка - это последовательность символов между двумя символами новой строки (\n), а логическая строка - это то, что Python интерпретирует как единое выражение.

Обычно логическая строка идентична физической строке, но иногда одна логическая строка может занимать несколько физических строк.

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

long_string = "Это длинная строка, которая может занимать \
несколько физических строк. Мы используем знак обратного \
слеша, чтобы Python понимал, что это одна логическая строка."

А что если вы хотите записать несколько логических строк в одной физической строке. Для этого можете использовать точку с запятой ; для разделения выражений.

Например:

x = 1; y = 2; z = x + y

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

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

Например:

if (x > 0 and
        y < 10 and
        z == 5):
    print("Условие выполнено!")

# или так
if x > 0 and \
        y < 10 and \
        z == 5:
    print("Условие выполнено!")

Отступы

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

Отступы нужны для того, чтобы Python понимал, какие команды(строки кода) относятся к одному блоку.

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

a = 10
b = 5

if a > b:
    print("a больше, чем b")
else:
    print("b больше, чем a")

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

  a = 10
b = 5

if a > b:
    print("a больше, чем b")
else:
    print("b больше, чем a")

Ошибка IndentationError unexpected indent будет возникать из-за того, что первая строка имеет больше отступов, чем вторая строка, что не соответствует правилам Python.

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

a = 10
b = 5

if a > b:
print("a больше, чем b")  # Ошибка из-за отсутствия отступа
else:
    print("b больше, чем a")

Встроенные функции Python: преобразование типов данных часть 1

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

Встроенные функции float(), int(), str() и complex(), могут принимать один или несколько аргументов, возвращать соответствующие значения, выполнять преобразования типов данных, математические операции и т.д.

  • float() - используется для преобразования значения в число с плавающей точкой;
  • int() - используется для преобразования значения в целое число;
  • str() - используется для преобразования значения в строку;
  • complex() - используется для создания комплексного числа.

Примеры:

a = 5
b = 2

# float() - преобразует значение в десятичную дробь
c = float(a) / b
print(c)  # выведет 2.5

# int() - преобразует значение в целое число
d = int(c)
print(d)  # выведет 2

# str() - преобразует значение в строку
e = str(d) + " is the result"
print(e)  # выведет "2 is the result"

# complex() - создает комплексное число
f = complex(a, b)
print(f)  # выведет (5+2j)

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

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

Преобразование типов данных – это процесс изменения типа значения переменной из одного типа в другой.

  • float()
  • int()
  • str()
  • complex()
a = 5.7
b = int(a)  # b будет равно 5, дробная часть отбрасывается
c = str(b)  # c будет равно "5"

d = "3.14"
e = float(d)  # e будет равно 3.14

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

int("3.14")  # ValueError: invalid literal for int() with base 10: '3.14'

# правильно так
int(float("3.14"))  # 3

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

int('abc')  # ValueError: invalid literal for int() with base 10: 'abc'

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

float('abc')  # ValueError: could not convert string to float: 'abc'

Функция str() может использоваться для преобразования любого объекта Python в строку.

a = 5
b = str(a)  # b будет равно "5"
c = str(3.14)  # c будет равно "3.14"
d = str(True)  # d будет равно "True"
e = str(None)  # e будет равно "None"

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

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

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

До встречи на следующей теме, где мы погрузимся в консольные операции и начнем создавать наши первые программы!