Архив метки: Python

Обновление до Python 3.12 на вашем Raspberry Pi

Послушайте, если вы разработчик на Python, который стремится к домашней автоматизации, энергетическим решениям и устойчивому развитию климата, — тогда вы знаете, что Python 3.12 абсолютно изменяющий правила игры. Особенность Raspberry Pi в том, что это не просто крошечный компьютер; это песочница для вашего воображения! А при использовании Python 3.12? О боже, тебя ждет приключение.

 

Мы довольно долго с нетерпением ждали Python 3.12, почему? — улучшенный синтаксический анализ f-строк, улучшенные сообщения об ошибках, поддержка изолированных субинтерпретаторов (только представьте возможности параллельной обработки для домашней автоматизации), и список можно продолжать!

Итак, мы приступим к его установке?

 

Во-первых, убедитесь, что ваша операционная система Raspberry Pi обновлена:

sudo apt update && sudo apt upgrade -y


 

Перейдите на официальный веб-сайт Python и возьмите исходный код Python 3.12.

wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz


 

tar -xf Python-3.12.0.tgz

cd Python-3.12.0


 

Выполните следующие команды для настройки и компиляции Python 3.12.

./configure --enable-optimizations

make -j 4

sudo make altinstall


 

И вуаля! Теперь Python 3.12 должен быть установлен.

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

Все равно хотите попробовать?

wget -qO - https://raw.githubusercontent.com/tvdsluijs/sh-python-installer/main/python.sh | sudo bash -s 3.12

 

  1. Более гибкий синтаксический анализ f-строк (PEP 701)

    Представьте, как легко создавать строки в сложном формате. Это идеально подходит для регистрации данных датчиков в моих задачах домашней автоматизации.
  2. Поддержка протокола Buffer в коде Python (PEP 688)

    Я был в восторге от этого. Теперь манипулировать двоичными данными проще простого.
  3. Новый API отладки/профилирования (PEP 669)

    Отладка стала намного проще. Как тренер по гибкой разработке и владелец продукта, упрощенная отладка означает более быстрые циклы развертывания.
  4. Изолированные субинтерпретаторы с отдельными GILS (PEP 684)

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

    Для тех, кто ежедневно программирует на Python, расширенные сообщения об ошибках значительно экономят время.
  6. Поддержка Linux perf Profiler

    Теперь вы можете видеть имена функций Python непосредственно в трассировках производительности Linux.
  7. Повышение производительности

    При предполагаемом повышении общей производительности на 5% мой Raspberry Pi работает быстрее.
  8. Новый синтаксис аннотаций типов для универсальных классов (PEP 695)

    Это упрощает способ определения универсальных классов, делая ваш код более читабельным.
  9. Переопределить декоратор для методов (PEP 698)

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

 

  • Устаревшие методы в unittest модуле и старые модули, такие как smtpd и distutils, были удалены.
  • Теперь SyntaxWarnings предупреждает о недопустимых escape-последовательностях обратной косой черты в строках.
  • Кроме того, была удалена куча других устаревших и неработающих функций.

 

Итак, почему мы поспешили установить Python 3.12 на свой Raspberry Pi? Функции идеально соответствуют профессиональным занятиям и интересам любителей. Как разработчику на Python, вы должны всегда искать способы оптимизировать потребление энергии, оптимизировать код и внедрять инновации в области устойчивого развития. Python 3.12 с его функциями, такими как изолированные субинтерпретаторы, новый API отладки и многое другое, делает это путешествие захватывающим и результативным.

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



2023-12-01T07:56:44
Python

В чем разница между append и extend в Python?

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

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

 

Что такое функция append в python?

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

В чем разница между append и extend в Python?

 

Синтаксис функции append() довольно прост:

list_name.append(повторяемый)

 

Здесь list_name — это имя списка, в который вы хотите добавить элемент.

Давайте посмотрим пример того, как использовать функцию append():

 

Инициализация пустого списка

fruits = []

 

Добавление элементов в список с помощью append()

fruits.append(‘яблоко’)

fruits.append(‘банан’)

fruits.append(‘апельсин’)

print(fruits) # Вывод: [‘яблоко’, ‘банан’, ‘апельсин’]

 

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

 

Что такое функция extend в Python?

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

 

Синтаксис функции extend() следующий:

list_name.extend(повторяемый)

 

Здесь list_name — это имя списка, в который вы хотите добавить элементы, а iterable — это последовательность элементов, которые вы хотите добавить в список.

Давайте посмотрим пример того, как использовать функцию extend():

 

Инициализация пустого списка

fruits = [‘яблоко’, ‘банан’]

 

Добавление элементов из другого списка с помощью extend()

additional_fruits = [‘апельсин’, ‘виноград’, ‘манго’]

fruits.extend(additional_fruits)

print(fruits) # Вывод: [‘яблоко’, ‘банан’, ‘апельсин’, ‘виноград’, ‘манго’]

 

В приведенном выше примере функция extend() используется для добавления элементов из списка additional_fruits в список fruits. В результате список fruits теперь содержит все элементы из обоих списков.

 

Разница между append и extend в Python

Вот ключевые моменты, которые являются основным различием между append и extend в python







ДобавитьРасширить
Элемент argument, указанный в качестве входных данных, добавляется в конец списка.Каждый повторяющийся элемент, предоставляемый в качестве параметра, добавляется в конец исходного списка.
Длина списка увеличивается на единицу.Длина списка увеличивается пропорционально количеству элементов в iterable.
Метод Append() имеет постоянную временную сложность O(1) Метод append() имеет постоянную временную сложность, это связано с тем, что доступ к спискам осуществляется спонтанно, самый последний элемент может быть достигнут за O (1) время, вот почему добавление любого нового элемента в конец списка занимает O (1) времени.Метод Extend() в Python показывает временную сложность, равную O(n), где переменная n демонстрирует размер итерируемого объекта, поскольку функция должна выполнять итерации по длине списка.

Сравнение Extend и Append в одной программе

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

Реализация кода

 

# Давайте напишем программу на Python, чтобы понять

# разница между двумя обсуждаемыми методами

# первым шагом будет назначение двух списков



list_one = [2, 3, 4]

list_two = [2, 3, 4]

x = [5, 6]



# используйте два разных метода



list_one.append(x)

list_two.extend(x)



# отображение списков с помощью инструкции print.



print(list_one)



#печать второго списка



print(list_two)

 

Вывод

[2, 3, 4, [5, 6]]

[2, 3, 4, 5, 6]

 

Заключение

В заключение, понимание разницы между append() и extend() имеет решающее значение для эффективного управления списками в Python. Оба метода используются для добавления элементов в список, но они служат разным целям и имеют разные последствия для структуры и содержимого списка.

Функция append() используется для добавления отдельного элемента в конец списка. Она проста и эффективна для добавления отдельных элементов.

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

 

Часто задаваемые вопросы о разнице между append и extend в Python:

Вот несколько часто задаваемых вопросов о разнице между append и extend в Python.

1. Могут ли append() и extend() использоваться взаимозаменяемо?

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

2. Может ли функция extend() добавлять элементы из разных типов данных?

Да, extend() может добавлять элементы из любого iterable, включая списки, кортежи, строки и другие последовательности. Пока iterable совместим со списком, его можно использовать с extend().

3. Какой метод более эффективен, append() или extend()?

Эффективность append() и extend() зависит от конкретного варианта использования. Если вам нужно добавить отдельные элементы, append() более эффективен, поскольку включает в себя одну операцию. Для добавления нескольких элементов из iterable функция extend() обычно более эффективна, чем использование цикла для добавления элементов один за другим.

4. Можно ли использовать append() и extend() в других структурах данных в Python?

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

5. Можно ли использовать append() и extend() в пустом списке?

Да, и append(), и extend() можно использовать в пустом списке. Если вы используете append() в пустом списке, он добавит указанный элемент в качестве первого элемента списка. Если вы используете extend() для пустого списка, он добавит все элементы из iterable, делая список идентичным iterable .



2023-11-30T16:21:02
Python

Web-программирование на Python. Учебное пособие для СПО

Web-программирование на Python. Учебное пособие для СПО

В книге рассматривается web-программирование на «чистом» Python – то есть без применения популярных фреймворков.

Автор последовательно проведет вас по всем этапам данной темы. Прочитав эту книгу, вы сможете настроить на своем компьютере полноценную среду разработки, состоящую из интерпретатора Python, сервера Apache и текстового редактора Notepad++. Научитесь работать с переменными, операторами, числами, строками, регулярными выражениями, списками, кортежами, множествами, датой и временем.

Читать

Книга Семь языков за семь недель

Книга Семь языков за семь недель

Семь языков за семь недель. Практическое руководство по изучению языков программирования.

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

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

Выходит новая стабильная версия Python 3.12, и вот ее новые возможности.

Логотип Python

Python — это язык программирования высокого уровня.

После года разработки Анонсирован выход стабильной версии а также начало фазы альфа-тестирования языка программирования Python 3.12 и Python 3.13 (соответственно). Упоминается, что эта новая ветка Python 3.12 будет поддерживаться в течение полутора лет, после чего еще в течение трех с половиной лет будут генерироваться исправления для устранения уязвимостей.

Представленная новая версия Python 3.12 содержит улучшения в гибкость анализа f-строки. Теперь с этим улучшением многие ограничения можно оставить в стороне, поскольку, например, теперь вы можете содержать любое допустимое выражение в Python, включая многострочные выражения, комментарии, обратную косую черту и escape-последовательности Unicode. Кроме того, внутренние строки теперь позволяют повторно использовать одни и те же кавычки, т. е. теперь двойные кавычки можно повторно использовать внутри. без необходимости перехода на одинарные кавычки.



Читать

Топ 10 наиболее популярных функций в Python

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

 

1. print()

Эта функция, вероятно, одна из первых, с которой знакомятся новички в Python. print() позволяет выводить текст и переменные на экран. Пример:

print("Привет, мир!")

 

2. len()

Функция len() используется для подсчета элементов в структурах данных, таких как строки, списки, кортежи и др. Пример:

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

print(len(my_list)) # Выведет: 5

 

3. range()

range() генерирует последовательность чисел в указанном диапазоне. Она часто используется в циклах. Пример:

for i in range(5):

print(i) # Выведет числа от 0 до 4

 

4. input()

input() позволяет взаимодействовать с пользователем, запрашивая ввод с клавиатуры. Пример:

name = input("Как вас зовут? ")

print("Привет, " + name + "!")

 

5. str(), int(), float()

Эти функции позволяют преобразовывать значения в разные типы данных. Пример:

num_str = "42"

num_int = int(num_str)

print(num_int) # Выведет: 42

 

6. max(), min()

Функции max() и min() возвращают максимальный и минимальный элементы из коллекции соответственно. Пример:

numbers = [3, 7, 1, 9, 2]

print(max(numbers)) # Выведет: 9

 

7. sum()

sum() используется для суммирования элементов в коллекции. Пример:

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

print(sum(numbers)) # Выведет: 15

 

8. sorted()

sorted() сортирует элементы коллекции и возвращает новый список. Пример:

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

sorted_numbers = sorted(numbers)

print(sorted_numbers) # Выведет: [1, 1, 2, 3, 4, 5, 9]

 

9. def (определение функции)

С помощью def мы можем создавать свои собственные функции для организации кода. Пример:

def greet(name):

print("Привет, " + name + "!")

 

10. lambda (анонимные функции)

Лямбда-функции представляют собой короткие и анонимные функции, которые могут быть объявлены в одной строке. Пример:

multiply = lambda x, y: x * y

result = multiply(3, 4) # result = 12

 

Эти 10 функций представляют собой лишь малую часть мощных возможностей Python. Изучение их использования поможет вам писать более эффективный и читаемый код. Не забывайте экспериментировать и создавать свои собственные функции для решения уникальных задач!



2023-10-05T20:40:53
Python