Введение

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

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

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

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

Примеры кода

Печать на консоль:

print("Hello, World!")

Этот код напечатает строку «Hello, World!» к консоли. Функция print() используется для вывода текста на консоль.

Переменные:

x = 5
y = 10
z = x + y
print(z)

Этот код создает три переменные: x, y и z. x присваивается значение 5, y присваивается значение 10, а z присваивается значение x + y, равное 15. Последняя строка кода выводит на консоль значение z, равное 15.

Циклы

for i in range(5):
    print(i)

Этот код выведет на консоль числа от 0 до 4. Цикл for используется для повторения блока кода определенное количество раз. В этом случае цикл выполнится 5 раз, а переменная i примет значения 0, 1, 2, 3 и 4.

Условные операторы:

x = 5
if x > 0:
    print("x is positive")
else:
    print("x is not positive")

Этот код выведет на консоль «x положительный». Оператор if используется для проверки условия, и код внутри блока if будет выполняться, если условие истинно. Блок else является необязательным и будет выполняться, если условие равно False. В данном случае условие равно x > 0, что равно True, поэтому выполняется код внутри блока if.

Функции:

def greet(name):
  print("Hello, " + name + "!")

greet("Alice")
greet("Bob")

В этом коде определена функция, называемая приветствие(), которая принимает единственный аргумент, имя. Функция выведет приветствие на консоль. Последние две строки кода вызывают функцию приветствия() с аргументами «Алиса» и «Боб», которая напечатает приветствие «Привет, Алиса!» и «Привет, Боб!» к консоли.

Массивы:

names = ["Alice", "Bob", "Charlie"]
for name in names:
    print(name)

Этот код создает массив с именами, содержащий три элемента: «Алиса», «Боб» и «Чарли». Цикл for будет перебирать каждый элемент в массиве имен и выводить его на консоль.

Объектно-ориентированное программирование:

class Dog:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def bark(self):
    print("Woof!")

dog1 = Dog("Fido", 3)
dog2 = Dog("Buddy", 5)

print(dog1.name)
print(dog2.age)

dog1.bark()
dog2.bark()

Этот код определяет класс Dog с методом **init**, который вызывается при создании нового объекта Dog. Метод **init** принимает два аргумента, имя и возраст, и присваивает их атрибутам имени и возраста объекта. Класс Dog также имеет метод bark(), который печатает «Гав!» к консоли. Последние строки кода создают два объекта Dog и вызывают их методы bark().

Импорт модулей:

import math

x = math.pi
print(x)

Этот код импортирует математический модуль и присваивает значение pi переменной x. Затем функция print() используется для вывода значения x на консоль. Модуль math содержит ряд математических функций и констант, таких как pi, sin() и cos().

Чтение и запись файлов:

# Open a file for writing
f = open("test.txt", "w")

# Write to the file
f.write("Hello, World!")

# Close the file
f.close()

# Open the file for reading
f = open("test.txt", "r")

# Read the contents of the file
contents = f.read()

# Print the contents
print(contents)

# Close the file
f.close()

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

Исключения:

try:
  x = 5 / 0
except ZeroDivisionError:
  print("Division by zero!")

Этот код пытается разделить 5 на 0, что приведет к возникновению исключения ZeroDivisionError. Блок exclude используется для обработки исключения и выводит сообщение об ошибке на консоль.

Словари:

# Create a dictionary
person = {
  "name": "John Smith",
  "age": 30,
  "city": "New York"
}

# Access an element of the dictionary
print(person["name"])

# Modify an element of the dictionary
person["age"] = 35

# Add a new element to the dictionary
person["country"] = "USA"

# Delete an element from the dictionary
del person["city"]

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

Списки:

# Create a list
numbers = [1, 2, 3, 4, 5]

# Access an element of the list
print(numbers[0])

# Modify an element of the list
numbers[0] = 10

# Add a new element to the list
numbers.append(6)

# Delete an element from the list
del numbers[4]

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

Кортежи:

# Create a tuple
point = (1, 2)

# Access an element of the tuple
print(point[0])

# Tuples are immutable, so you cannot modify or add elements

# Unpack a tuple
x, y = point
print(x)
print(y)

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

Наборы:

# Create a set
s = set([1, 2, 3, 4, 5])

# Add an element to the set
s.add(6)

# Remove an element from the set
s.remove(5)

# Check if an element is in the set
if 3 in s:
  print("3 is in the set")

# Find the intersection of two sets
s2 = set([4, 5, 6, 7, 8])
s3 = s.intersection(s2)
print(s3)

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

Строки:

# Create a string
s = "Hello, World!"

# Get the length of a string
n = len(s)

# Access an element of the string
c = s[0]

# Modify an element of the string (strings are immutable, so this will create a new string)
s2 = s[:5] + "world" + s[11:]

# Find the index of a substring
i = s.find("World")

# Split a string into a list of substrings
l = s.split(",")

Этот код демонстрирует, как создать строку, получить ее длину, получить доступ к ее элементам, изменить ее (путем создания новой строки), найти индекс подстроки и разбить ее на список подстрок. Строка — это последовательность символов.

Классы и наследование:

class Pet:
  def __init__(self, name, age):
    self.name = name
    self.age = age

  def speak(self):
    print("I don't know what to say")

class Cat(Pet):
  def speak(self):
    print("Meow")

class Dog(Pet):
  def speak(self):
    print("Woof")

pets = [Cat("Fluffy", 3), Dog("Buddy", 5)]
for pet in pets:
  pet.speak()

Этот код определяет базовый класс Pet с методом __init__ и методом speak(). Затем он определяет два подкласса, Cat и Dog, которые наследуются от класса Pet. Класс Cat переопределяет метод speak(), а класс Dog сохраняет исходный метод speak(). Код создает список объектов Cat и Dog и вызывает их методы speak().

Модули:

# math.py

def add(x, y):
  return x + y

def subtract(x, y):
  return x - y

# main.py

import math

result = math.add(5, 3)
print(result)

result = math.subtract(5, 3)
print(result)

Этот код демонстрирует, как создать модуль и импортировать его в другой скрипт. Файл math.py определяет две функции, add() и subtract(), которые выполняют основные арифметические действия. Файл main.py импортирует математический модуль и вызывает функции add() и subtract().

Понятия списка:

numbers = [1, 2, 3, 4, 5]
squares = [x**2 for x in numbers]
print(squares)

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

Генераторы:

def count_up_to(max):
  count = 1
  while count <= max:
    yield count
    count += 1

for number in count_up_to(5):
  print(number)

Этот код определяет функцию-генератор с именем count_up_to(), которая считает от 1 до заданного максимума. Ключевое слово yield используется для возврата значения из генератора и приостановки его выполнения. Генератор может быть возобновлен позже для получения следующего значения. В этом примере генератор используется в цикле for для вывода на консоль чисел от 1 до 5.

Лямбда-функции:

add = lambda x, y: x + y
result = add(5, 3)
print(result)

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

Сопоставление и фильтрация:

numbers = [1, 2, 3, 4, 5]

# Use map to apply a function to each element
squares = list(map(lambda x: x**2, numbers))
print(squares)

# Use filter to select elements that meet a condition
evens = list(filter(lambda x: x % 2 == 0, numbers))
print(evens)

Этот код демонстрирует, как использовать функции map() и filter() для применения функции к каждому элементу списка и выбора элементов, соответствующих условию, соответственно. Функция map() применяет лямбда-функцию к каждому элементу списка чисел и возвращает объект карты, который преобразуется в список с помощью функции list(). Функция filter() выбирает четные элементы списка чисел и возвращает объект фильтра, который также преобразуется в список.

Декораторы:

def my_decorator(func):
  def wrapper():
    print("Something is happening before the function is called.")
    func()
    print("Something is happening after the function is called.")
  return wrapper

@my_decorator
def say_hi():
  print("Hi!")

say_hi()

Этот код определяет функцию-декоратор с именем my_decorator(), которая принимает функцию в качестве аргумента и возвращает функцию-оболочку, которая печатает некоторый текст до и после вызова исходной функции. Синтаксис @my_decorator используется для применения декоратора к функции say_hi(). Когда вызывается функция say_hi(), выполняется функция-оболочка, которая печатает некоторый текст, а затем вызывает функцию say_hi().

Перечислить:

colors = ["red", "green", "blue"]

for i, color in enumerate(colors):
  print(f"{i}: {color}")

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

Сортировка

numbers = [3, 1, 4, 2, 5]

# Sort the list in ascending order
numbers.sort()
print(numbers)

# Sort the list in descending order
numbers.sort(reverse=True)
print(numbers)

# Use the sorted function to return a new sorted list
numbers = [3, 1, 4, 2, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)

Этот код демонстрирует, как сортировать список в порядке возрастания и убывания, используя метод sort() и функцию sorted(). Метод sort() изменяет исходный список, а метод sorted

Менеджеры контекста:

with open("test.txt", "w") as f:
  f.write("Hello, World!")

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

Регулярные выражения:

import re

# Find all the occurrences of a pattern
pattern = r"\d+"
string = "There are 3 dogs and 4 cats."
matches = re.findall(pattern, string)
print(matches)

# Find the first occurrence of a pattern
pattern = r"\d+"
string = "There are 3 dogs and 4 cats."
match = re.search(pattern, string)
print(match.group())

# Replace all the occurrences of a pattern
pattern = r"\d+"
replacement = "NUMBER"
string = "There are 3 dogs and 4 cats."
new_string = re.sub(pattern, replacement, string)
print(new_string)

Этот код демонстрирует, как использовать модуль re для поиска всех вхождений шаблона в строке, поиска первого вхождения шаблона и замены всех вхождений шаблона. Функция findall() возвращает список всех совпадений, функция search() возвращает первое совпадение, а функция sub() возвращает новую строку с заменами.

Чтение и запись файлов CSV:

import csv

# Write to a CSV file
with open("test.csv", "w", newline="") as f:
  writer = csv.writer(f)
  writer.writerow(["Name", "Age"])
  writer.writerow(["Alice", 25])
  writer.writerow(["Bob", 30])

# Read from a CSV file
with open("test.csv", "r", newline="") as f:
  reader = csv.reader(f)
  for row in reader:
    print(row)

Этот код демонстрирует, как использовать модуль csv для записи и чтения из CSV-файла. Функция csv.writer() используется для создания объекта записи, который можно использовать для записи строк в файл CSV, а функция csv.reader() используется для создания объекта чтения, который можно использовать для чтения строк из файла CSV. CSV-файл.

Запись и чтение в файл JSON:

Письмо

import json

# Data to be written to a JSON file
data = {
  "name": "Alice",
  "age": 25,
  "city": "New York"
}

# Open the file for writing
with open("test.json", "w") as f:
  # Write the data to the file
  json.dump(data, f)

Чтение

import json

# Open the file for reading
with open("test.json", "r") as f:
  # Load the data from the file
  data = json.load(f)

# Print the data
print(data)

Функция json.dump() используется для записи данных в файл, а функция json.load() используется для чтения данных из файла. Функция dump() принимает два аргумента: данные для записи и файловый объект, в который будут записаны данные. Функция load() принимает единственный аргумент: файловый объект, из которого будут считываться данные.

Следите, делитесь и подписывайтесь, чтобы получать больше интерактивного контента 😄