XML в Python
Стандартна бібліотека Python надає мінімальний, але корисний набір інтерфейсів
для роботи з XML.
Два основних та широко використовуванні API-інтерфейси в XML - це SAX та DOM. ...
/usr/bin/python
import xml.sax
class MovieHandler( xml.sax.ContentHandler ):
def __init__(self):
self.CurrentData = ""
self.type = ""
self.format = ...
/usr/bin/python
from xml.dom.minidom import parse
import xml.dom.minidom
# Open XML document using minidom parser
DOMTree = xml.dom.minidom.parse("movies.xml")
collection
Логування в Python
Він використовується багатьма сторонніми бібліотеками Python, тому ви можете інтегрувати їхні логи для однорідності. ...
У Python система логування є частиною стандартної бібліотеки, тому ви без труднощів можете використовувати її у застосунку. ...
Ви можете використовувати будь-який стиль форматування, але Python 3.6 запропонував чудовий спосіб для рядків — f-string.
Ітератори в Python
Коли ітератор отримано, Python викликає функцію next, яка в свою чергу викликає метод __next__ у ітератора. ...
В Python майже все є ітераторами і розуміння їх роботи допоможе вам писати кращий код. Якщо ви використовували цикл for, ви вже працювали з ними.
Як вони працюють? ...
Коли ми використовуємо цикл for, як Python розуміє що потрібно взяти?
В цьому йому допомагають дві функції: iter та next. Функція iter отримує ітератор з об'єкту.
Багатопотоковість в Python
/usr/bin/python
import threading
import time
class myThread (threading.Thread):
def __init__(self, threadID, name, counter):
threading.Thread. ...
Потоковий модуль
Більш новий потоковий модуль включений до складу Python 2.4 і він надає набагато потужнішу підтримку потоків високого рівня, ніж той модуль, який ми розглядали у попередньому розділі. ...
/usr/bin/python
import thread
import time
# Визначити функцію для потоку
def print_time( threadName, delay):
count = 0
while count < 5:
time.sleep(delay
Метакласи в Python
Класи як об'єкти
Як ви знаєте, в Python все є об'єктами: виявляється, це справедливо і для класів. ...
Цей переклад - продовження циклу про внутрішнє влаштування деяких фіч в Python. Сьогодні ми поговоримо про метакласи. ...
Так чи інакше, метакласи стоять за всім, що ви робите в Python, але середньому програмісту рідко доводиться стикатися з ними.
Python vs C. Порівняння ctypes і Python/C API
Реалізація на Python
Синтаксис Python робить перше знайомство з реалізацією алгоритму надзвичайно приємним. ...
Зупинимось на останньому пункті та розглянемо бібліотеку ctypes і python/c API, які дають можливість запускати код на С в інтерпретаторі Python. ...
) можливістю розширювати Python-код модулями на С.
Портування Scala у Python
Пари ключ-значення в словниках Python і картах Scala мають різний порядок
Python не зберігає порядок, у якому елементи додаються в словник. ...
І це загальне правило, а не лише у випадку "Scala-to-Python". ...
Це, насправді, дуже велика проблема, так як в Python більше не має підтримки декількох конструкторів.
Патерн «Замісник» у Python
У Python, як і в будь-якій мові програмування, є патерни та антипатерни проєктування. ...
Динамічна сутність Python, а також функції першого класу роблять більшість патернів класичних ООП-мов надлишковими. ...
Примітки
Усі приклади коду в матеріалі написані й тестовані мовою Python 3.8 та запущені на Ubuntu 18.04.
Роль підкреслення в Python
Підкреслення (_) — це не простий символ в Python. В той час, як в більшості мов воно використовується лише для назви функцій та змінних в snake-case, в Python воно має значно ширше застосування. ...
Відділення цифр в числах
Ця фіча досить нова, її додали лише в Python 3.6. ...
Але Python не може забезпечити справжньої приватності, тому отримати доступ до таких змінних чи функцій дуже легко.
Що таке *args та **kwargs в Python
gt;>> def foo(a, b, c): print (a,b,c) >>> abc = [1,2,3] >>> foo(*abc) 1 2 3 >>> Ще одну цікаву можливість використання * синтаксису було додано в третю версію Python
31 березня 2021 · 0 · 73 · CodeguidaЧи ви впевнені, що знаєте Python?
В Python це можна реалізувати кількома способами. ...
Більшість прикладів взято з сайту love-python, а також звідси.
Якщо знаєте цікаві штучки в Python - напишіть, будь ласка, в коментарях. ...
В статті зібрані деякі найменш знані штучки і плюшки Python, які на перший погляд, здаються нереальними.
Як добре очистити список?
Вийшов Python 3.5
Нещодавно відбувся реліз Python 3.5. Основними змінами були: Новий оператор множення матриць: a @ b. Інфо Співпрограми з async/await синтаксисом. Інфо Новий модуль: zipapp.
12 червня 2021 · 0 · 1 · CodeguidaПишемо DSL на Python
Ми збираємось написати просту DSL на Python, яка використовує інші вихідні файли Python для виконання якоїсь певної роботи. Це просто. ...
Для Windows це має працювати зі встановленим за замовчуванням Python. Якщо робота програми видає помилки, перегляньте, будь ласка, Python FAQ. ...
Імпорт Python модуля під час роботи програми
Тепер перед нами постає новий виклик. Як нам імпортувати Python модуль, якщо ми не знаємо його назву?
GraphQL в світі Python. Що і як
І тут в гру вступає Python
Інтеграція Python та Graphql проводиться завдяки трьом інструментам. Graphene, graphene-плагін для вашої ORM, та graphene-плагін для вашого веб-фреймворку. ...
Початок роботи
В світі Python всю Graphql-магію виконує одна маленька бібліотека — graphene. Але перш ніж ми з нею познайомимось, розберемося з основами Graphql. ...
Досліджуємо Graphene
Встановлюється Graphene як і більшість бібліотек, через pip та підтримує Python як третьої, так і другої версії.
pip install graphene
Після встановлення імпортуйте її, напишіть просту
Python 101: Рекурсія
Ліміт рекурсії в Python
На початку цієї статті я згадував, що можна створити нескінченний рекурсивний цикл. Це можливо в деяких мовах програмування, але в Python є ліміт рекурсії. ...
Python запобігає створенню функції, яка вилиється у нескінченний рекурсивний цикл.
Синтез голосу в Python
Ми додали команду для автоматичного відтворення mp3:
os.system("mpg321 out.mp3 -quiet")
Запустіть:
python gtts.py -s 'Python programming example'
Голос дуже природній. ...
Як ми можемо використовувати синтез мови в Python?
Pyttsx
Pyttsx є кроссплатформенна (Mac OSX, Windows і Linux) бібліотека. ...
Інсталювання:
sudo pip install pyttsx
Створимо програму speech1.py:
import pyttsx
engine = pyttsx.init()
engine.say('The quick brown fox jumped over the lazy dog.')
engine.runAndWait()
І виконайте її з Python
Інфографіка: Java vs Python
Java vs Python. Яка мова краща? {full-post-img}
17 квітня 2020 · 0 · 7 · CodeguidaДивні "фішки" Python, які можуть вас здивувати
Python, як і будь-яка інша мова, має свої дивацтва, що викликають здивування, тож ось список дивних "фішок" Python, які можуть заскочити вас зненацька. ...
Тут ми додали список до самого себе, і Python навіть має гарний спосіб його представлення за допомогою [...]. ...
Насправді це досить поширена проблема, про яку є стаття у FAQ по дизайну Python, а також повідомлення про помилку у баг-трекері.
Деякі заплутані фрагменти Python, які можуть вас вкусити!
]
"Python"
>>> some_dict[5]
"Python"
«Python» знищив «JavaScript»? ...
")
Вивід (Python 2.x):
Caught! ...
Щоб досягти фактичного розпаралелювання в Python, можливо, вам знадобиться використовувати модуль мультипроцесора Python.
Python: поверхневі та глибокі копії
У Python існує два способи створення копій:
поверхневе копіювання;
глибоке (повне) копіювання.
Для роботи з ними використовується модуль copy. ...
Копії у Python
Можливо, ви вже знайомі з оператором присвоєння =: у багатьох мовах програмування ми використовуємо його для створення копії об'єкта того ж типу даних. ...
Так само ви можете створювати копії у Python, використовуючи =. Проте цей оператор робить не копію об'єкта, а лише нову змінну із посиланням на один і той же об'єкт.
Ітерація в Python: детальний огляд
В циклі for на Python це все зроблено за нас.
Тож реалізація циклу for в Python відрізняється від традиційного стилю C. ...
Цикл for в Python
В Python немає традиційного циклу for. Для прикладу з'ясуємо, як працює for в інших мовах програмування. ...
Цикли for в Python не використовують індекси
Ви могли б подумати, що під капотом цикл for в Python використовує індекси.
Як мати справу з виключеннями в Python
На щастя, Python дозволяє легко отримати доступ до трасування. ...
Перехоплення конкретних винятків
Правильний спосіб обробки винятків у Python — вказати, який виняток ми очікуємо. ...
Чудовим ресурсом, як і завжди, є документація Python по винятках.
Але це ще не все. Ще є багато речей, які можна зробити за допомогою винятків.
Як правильно організувати Python-проект
А ось так може виглядати Python-пакунок. ...
Використовують її ось так:
virtualenv --python=python3 -q .venv
. .venv/bin/activate
pip install -r requirements.txt
Також Python та pip можна викликати прямо з директорії:
virtualenv --python=python3 ...
В цьому пості я покажу як правильно організувати новий Python-проект. Звісно, це не єдиний шлях, я просто розкажу про найважливіші аспекти.
Python часто помилково вважають лише мовою сценаріїв.
Python: поради, рекомендації, ідіоми
А в коментарях напишіть, які цікаві функції/класи в Python ви використовуєте. ...
Писати код на Python легше і швидше ніж на інших мовах – це одна з його основних переваг. Багато хороших трюків та ідіом дозволяють писати кращий, читабельніший код. ...
Звісно, ми могли б використовувати додаткову змінну для реалізації лічильника, але Python дає нам зручний інструмент – функція enumerate().
students = ('James', 'Andrew', 'Mark')
for i, student in enumerate