Python 🇺🇦 @pythonuk Channel on Telegram

Python 🇺🇦

@pythonuk


▪️Вивчаємо Python разом.
▪️Високооплачувана професія
▪️Допомагаємо з пошуком роботи

@itchannelsbot - реклама

Python 🇺🇦 (Ukrainian)

Долучайся до нашого каналу "Python 🇺🇦" та вивчай програмування разом з нами! Ми надаємо можливість отримати високооплачувану професію, допомагаємо з пошуком роботи та ділимося корисними матеріалами щодо Python. Незалежно від того, чи ви новачок або вже досвідчений розробник, у нашому каналі ви знайдете корисну інформацію, яка допоможе вам розвиватися в цій галузі. Приєднуйтесь до нас прямо зараз, щоб стати частиною активної спільноти Python українською мовою! 🐍💻

Python 🇺🇦

15 Jan, 10:08


Через те, що дробові числа з плаваючою точкою зберігаються в двійковому вигляді, ми зазвичай працюємо з приблизними значеннями, як у першому варіанті в коді:

>>> format(0.1, '.17f')
'0.10000000000000001'

>>> from decimal import Decimal
>>> Decimal(1) / Decimal(3)
Decimal('0.3333333333333333333333333333')
>>> (Decimal(1) / Decimal(3)) * Decimal(3) == Decimal(1)
False

>>> from fractions import Fraction
>>> (Fraction(1) / Fraction(3)) * Fraction(3) == Fraction(1)
True


Для точніших результатів є клас Decimal, але і його іноді не вистачає. Тоді для ідеальних обчислень використовуємо клас Fraction, який працює з раціональними дробами.

#Decimal #Fraction // #practice // Python

Python 🇺🇦

14 Jan, 10:28


Порівняння двох таблиць

На 7-му уроці "2-го сезону" відео-курсу по вирішенню задач на Python автор вирішує задачу порівняння двох таблиць — підготовлює, обертає, обрізає таблиці та реалізує основну функцію.

Мова: 🇺🇦

Тривалість: 11 хв

#Python // #lessons // Архів книг

Python 🇺🇦

14 Jan, 08:10


Навчитися тренувати моделі штучного інтелекту можна й самостійно,
але ж з ментором – швидше, якісніше, актуальніше.

Вивчай машинне навчання на курсі ML Engineer для Python-розробників від CHI IT Academy!

Навчання триває 4 місяці й складається з 33 "живих" онлайн-занять щопонеділка та щочетверга у зручний час доби – ввечері. 12 лабораторних завдань з фідбеком від лектора та обов’язкова індивідуальна консультація.

Під керівництвом професора, доктора технічних наук та наукового консультанта ти навчишся:
▪️ Працювати з інструментами машинного навчання;
▪️ Готувати дані для аналізу та класифікувати їх;
▪️ Працювати з глибинними нейронними мережами;
▪️ Використовувати CNN для обробки зображень;
▪️ Використовувати асоціативні правила для аналізу даних;
▪️ Проводити навчання з підкріпленням та Q-навчання.
▪️ Впроваджувати агентний підхід до створення інтелектуальних систем і роботів.

🤝 Найсумлінніші студенти матимуть можливість підписати контракт з компанією після вдалого закінчення курсу.

❗️ Пройди тест та впевнись, чи володієш ти необхідними знаннями для курсу – https://forms.gle/HK3VMu2C5FKe4ZMm6

👉🏻 Ознайомся з деталями навчання та реєструйся – місць небагато 🙃

Почни рік з актуальних знань!

Python 🇺🇦

13 Jan, 16:05


Ist = ['p', 'y']
Ist.insert(-1, 'py')

print(lst)


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

13 Jan, 12:10


Топ-вакансії грудня — перші хороші новини для ІТ 2025 🔥

$8.8K AI Solutions Engineer, Poland

$8.0K Solutions Architect, Україна

$7.5K Senior Product Designer, Design Lead, Poland

Як вийти на новий рівень в ІТ та потрапити в "топ-найми" місяця?

Прийти та дізнатися всі тенденції на вебінарі від Neoversity «Як залишитися в IT» 15 січня о 19:00.

▪️Чесна аналітика про зарплати, ролі й технології 2025 року.
▪️Як залишатися затребуваним.
▪️Огляд перспектив у сфері розробки.
▪️Практичні кейси.

👉 Реєструйтеся зараз, щоб миттєво отримати корисний файл — гайд з підготовки до співбесіди за допомогою ChatGPT.

Python 🇺🇦

13 Jan, 10:08


Python використовує dict для зберігання атрибутів екземпляра об'єкта. Це корисно, коли у вас є довільна кількість атрибутів. У невеликих класах це вже проблема: dict витрачає багато оперативної пам'яті.

class Foo(object): __slots__ = ('foo',)
class Bar(object): pass

def get_set_delete(obj):
obj.foo = 'foo'
obj.foo
del obj.foo

def test_foo():
get_set_delete(Foo())

def test_bar():
get_set_delete(Bar())


Python не може просто так виділити статичний обсяг пам'яті для зберігання всіх атрибутів, тож треба використати slots: одразу вказуємо всі очікувані атрибути і знижуємо використання оперативки майже на 40-50%.

#slots #dict // #practice // Python

Python 🇺🇦

12 Jan, 18:16


Магічні методи dunder дозволяють визначити, як об'єкти цього класу будуть поводитися в різних контекстах, наприклад, при використанні операторів Python, таких як +, -, *, / тощо, при виклику функцій та методів, при серіалізації та в інших випадках.

class AddableDict(dict):

def __add__(self, other0bj):
self.update(other0bj)
return AddableDict(self)

dict1 = AddableDict({1 : "ABC"})
dict2 = AddableDict({2 : "EFG"})

print (dict1 + dict2)


#dunder // #theory // Python

Python 🇺🇦

12 Jan, 10:37


Нікого вже не здивувати такими вбудованими типами, як int, float та подібними. Але крім них в Python існує ще один цікавий тип, а саме complex.

У Python комплексні числа представлені x + iy. А точніше, замість літери i тут буква j, щоб уникнути плутанини, позаяк i часто зайнята під цикли.

complex(1, 3)
(1+3j)
complex(1, 3).real
1.0
complex(1, 3).imag
3.0
abs(complex(3, 4))
5.0
str(complex(1, 3))
'(1+3j)'
(3 + 2j) - (2 - 5j)
(1+7j)|


Python перетворює реальні числа x і y (int або float) на комплексні за допомогою функції complex(x,y). Хоча complex є вбудованим типом, для більш зручної роботи з комплексними операціями рекомендується імпортувати модуль cmath.

Комплексне число легко можна перетворити на рядок за допомогою функції str або порахувати його модуль за допомогою функції abs, а також для доступу до його реальної або уявної частин можна скористатися методами real і imag.

#complex // #practice // Python

Python 🇺🇦

11 Jan, 18:07


Hands-on Machine Learning with Python

Це вичерпний посібник для читачів із базовим і середнім рівнем знань про машинне та глибоке навчання. Він також служить довгостроковим довідником для практиків, які знайдуть у ньому рішення для поширених сценаріїв.

Книга представляє такі інструменти, як NumPy для чисельної обробки, Pandas для аналізу панелі даних, Matplotlib для візуалізації, Scikit-learn для машинного навчання та Pytorch для глибокого навчання за допомогою Python.

Рік: 2022

Мова: 🇬🇧

Автор: Ashwin Pajankar

#MachineLearning // #books // Python

Python 🇺🇦

11 Jan, 10:08


lst = [2, 2, 3, 3, 1]
list(set(lst))


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

11 Jan, 07:05


Вакансія: Python Developer

Компанія Nervous Group шукає на віддалену роботу розробника рівня Middle з досвідом на Python від 2-х років — для розробки і підтримки допоміжного ПЗ під ШІ та ботів для різних месенджерів.

📝 Відкрити анкету

#Python // #jobs // Архів книг

Python 🇺🇦

09 Jan, 19:54


Як таке 👇 можливо?

_MangledGlobal__mangled = "^_^"

class MangledGlobal:

def test(self):
return __mangled

assert MangledGlobal().test() == "^_^"


Python має функцію name mangling, яка змінює імена атрибутів класу або методів додаванням подвійного підкреслення __ на початку їх імен.

Це зроблено для того, щоб запобігти випадковому перейменуванню атрибутів у підкласах, які будуть успадковані суперкласом.

#Python // #practice // Вакансії IT

Python 🇺🇦

09 Jan, 10:07


Переклад чисел у слова

На 6-му уроці "2-го сезону" відео-курсу по вирішенню задач на Python автор вирішує задачу перекладу чисел у слова — реалізує головну функцію, готує до реалізації допоміжну, реалізує допоміжну і здійснює рефакторинг.

Мова: 🇺🇦

Тривалість: 13 хв

#Python // #lessons // Архів книг

Python 🇺🇦

08 Jan, 18:10


📱 Python став найпопулярнішим мовою на GitHub, обігнавши JavaScript і TypeScript

За 2024-й рік Python очолив рейтинги використання завдяки зростаючій популярності ШІ, аналізу даних і автоматизації.

JS і TS зберігають сильні позиції у веб-розробці, але Python випередив їх завдяки універсальності та простоті.

Прогнозується, що тенденція збережеться і в 2025 році, адже Python активно інтегрується в освіту і сферу досліджень.

#GitHub // #news // Python

Python 🇺🇦

07 Jan, 18:57


for (a, *b, c) in [(1, 2, 3), (4, 5, 6, 7)]:    
print(a, b, c)


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

07 Jan, 10:07


Геометрична задача і StackOverflow

На 5-му уроці "2-го сезону" відео-курсу по вирішенню задач на Python автор вирішує геометричну задачу за допомогою StackOverflow — будує основну логіку, розв'язує геометричні підзадачі, здійснює рефакторинг хелперів і основної функції.

Мова: 🇺🇦

Тривалість: 17 хв

#Python // #lessons // Архів книг

Python 🇺🇦

06 Jan, 18:08


Підхід SHAP

У цьому прикладі ми завантажуємо модель бостон і поділяємо її на тренувальні та тестові дані — і навчаємо модель градієнтного бустингу xgboost на тренувальних:

import shap
import xgboost
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split

# завантаження даних
X, y = load_boston(return_X_y=True)
X_ train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0)

# навчання моделі
model = xgboost.train({"learning_rate": 0.01}, xgboost.DMatrix(X_train, label=y_train), 100)

# створення об'єкта SHAP для інтерпретації моделі
explainer = shap.Explainer(model)
shap_values = explainer(X_test)

# виведення значень SHAP для першого об'єкта із тестових даних
shap_values[0].values


Після цього створюємо об'єкт Explainer з бібліотеки shap, який використовується для інтерпретації передбачень моделі.

Викликаємо метод __call__ у об'єкта explainer з тестовими даними як аргумент для отримання значень SHAP для цих даних.

#SHAP // #theory // Python

Python 🇺🇦

05 Jan, 10:08


Композиція — це відношення, при якому об'єкти одного класу пов'язані з об'єктами іншого. Такий спосіб організації взаємодії між класами називається асоціацією.

class Salary:
def __init__(self, pay):
self.pay = pay

def get_total(self):
return self.pay * 12

class Employee:
def __init__(self, pay, bonus):
self.salary = Salary(pay)
self.bonus = bonus

def get_salary(self):
return self.salary.get_total() + self.bonus

employee = Employee(5000, 10000)
employee.get_salary() # 70000


Зазвичай, у такому випадку об'єкт одного з класів (у прикладі вище це Salary) є полем іншого (Employee).

Асоційовані об'єкти часто циклічно посилаються один на одного, що ламає стандартний механізм збирання сміття.

В такому випадку необхідно використовувати слабкі посилання з модуля weakref.

#Python // #practice // Вакансії IT

Python 🇺🇦

04 Jan, 18:04


Найкращі книги по Python

Добірка наших останніх публікацій із найбільш вартісними посібниками по мові Python:

🔴Python for Data Science For Dummies (🇬🇧, 2024) — основи Python для роботи з аналізом даних.

🔴Python Playground (🇬🇧, 2024) — колекція творчих програмних проектів для Python.

🔴Learning Ray (🇬🇧, 2023) — для локального використання Ray і створення обчислювальних кластерів.

🔴Python for Data Science (🇬🇧, 2020) — дозволить блискуче розібратись в основах технологій Data Science.

🔴Python For Data Science And Machine Learning (🇬🇧, 2021) — про Data Science та машинне навчання через призму Python.

📚 Товариство, які ще знаєте вартісні українські чи англійські матеріали по Python?

#Python // #books // Вакансії IT

Python 🇺🇦

04 Jan, 10:08


for ((a, b), c) in [((1, 2), 3), ((4, 5), 6)]:
print(a, b, c, end="; ")


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

03 Jan, 19:20


Вакансія: Python Developer

Компанія Yota-X шукає на віддалену роботу розробника з досвідом на Python від 2-х років — для розробки бекенд-логіки за допомогою Python (FastAPI) і розробки RESTful API для інтеграції з фронтендом та сторонніми сервісами.

📝 Відкрити анкету

#python // #jobs // Архів книг

Python 🇺🇦

03 Jan, 10:08


У Python є два вбудовані способи для сортування списків — функція sorted() і метод list.sort(). Результат в обох випадках однаковий, але все ж таки є нюанси.

Функція sorted() приймає на вхід аргумент у вигляді списку, а повертає вже новий, відсортований список. При цьому вихідний список не змінюється.

nums = [2, 3, 1, 5, 6, 4, 0]

print(sorted(nums)) # [0, 1, 2, 3, 4, 5, 6]
print(nums) # [2, 3, 1, 5, 6, 4, 0]

print(nums.sort()) # None
print(nums) # [0, 1, 2, 3, 4, 5, 6]


Метод sort(), в свою чергу, застосовується до списку, безпосередньо змінює його і нічого не повертає.

#sorted #sort // #practice // Python

Python 🇺🇦

02 Jan, 18:09


Легкий веб-фреймворк Bottle

Після запуску подібного прикладу можете перейти в браузері за адресою localhost:5000/hello/world і подивитися на результат, отриманий з п'яти рядків коду:

from bottle import route, run, template

@route('/hello/<name>')
def index(name):
return template(<b>Hello, {{name}}</b>!', name=name)

run(host='localhost', port=5000)


#Bottle // #theory // Python

Python 🇺🇦

02 Jan, 11:37


Нетривіальне мінімальне значення

На 4-му уроці "2-го сезону" відео-курсу по вирішенню задач на Python автор показує знаходження нетривіального мінімального значення — з аналізом вхідних даних, рефакторингом коду, використанням функції MIN і дандер-методу.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

01 Jan, 18:08


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

import numpy as np
arr = np.array([1, 2, 3, 4, 5, 4, 4])
x = np.where(arr == 4)
print(x) # (array([3, 5, 6]),)


Для пошуку в масиві використовуйте метод where(). У цьому прикладі йде пошук індексів, де значення дорівнює 4.

#NumPy // #practice // Python

Python 🇺🇦

01 Jan, 14:09


🛡 Знахідка для тих, хто дбає про кібербезпеку

З'явився новий тул для Chrome, який у реальному часі перевіряє будь-який сайт чи застосунок на загрози.

Він моніторить трафік, шукає фішинг, атаки, а ще API-ключі, паролі й токени, які могли прогавити розробники.

👉 Забрати на GitHub

#Chrome // #news // Python

Python 🇺🇦

01 Jan, 10:08


Ist = [[0], [1, 2], [3, 4], [5]]
sum(lst, [1])


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

31 Dec, 10:07


Сканування таблиці

На 3-му уроці "2-го сезону" відео-курсу по вирішенню задач на Python автор продовжує казкову історію про Гіперкуб і показує вирішення задачі на сканування таблиці, з групуванням координат і рефакторингом.

Мова: 🇺🇦

Тривалість: 13 хв

#Python // #lessons // Архів книг

Python 🇺🇦

30 Dec, 18:07


[_ for _ in range(5,0,-1) if _ == True]


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

30 Dec, 10:07


Метод splitlines() розбиває рядок на список. Розбиття виконується на розривах рядків.

txt = "Thank you for the music\n Welcome to the jungle"
x = txt.splitlines()
print(x)
# ['Thank you for the music', 'Welcome to
the jungle']


Можна ще вказати, слід включати розриви рядків (True), чи ні (False, за замовчуванням).

#splitlines // #practice // Python

Python 🇺🇦

29 Dec, 18:07


Проект LIME

У цьому прикладі ми завантажуємо дані про якість соку і поділяємо їх на тренувальні та тестові. Потім ми навчаємо модель RandomForestClassifier на тренувальних даних.

import lime
import lime.lime_tabular
import numpy as np
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn.model_ selection import train_test_split

# завантаження даних
wine = pd.read_csv('juice.csv')

# поділ даних на тренувальні та тестові
X = juice.drop('quality', axis=1)
y = juice['quality']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# навчання моделі
model = RandomForestClassifier(random_state=42)
model.fit(X_train, y_train)

# створення об'єкта LIME для інтерпретації моделі
explainer = lime.lime_tabular.LimeTabularExplainer(
X_train.values,
feature_names=X.columns,
class_names=['bad', 'good'],
mode='classification'
)

# вибір індексу об'єкта для інтерпретації передбачення
i = 0

# отримання пояснення для передбачення
exp = explainer.explain_instance(X_test.values[i], model.predict_proba)

# виведення пояснення у вигляді списку
exp.as_list()


Далі ми створюємо об'єкт LimeTabularExplainer з бібліотеки lime, який використовується для інтерпретації передбачень моделі.

Ми вибираємо індекс об'єкта з тестових даних і використовуємо метод explain_instance для отримання пояснення моделі для цього об'єкта.

#LIME // #theory // Python

Python 🇺🇦

29 Dec, 10:07


Кожен хоч раз перевіряв швидкість інтернету на Speedtest. А у них, виявляється, є не лише сайт і додатки, а й пакет на Python!

В об'єкта класу Speedtest методи download() та upload() видають відповідно швидкість скачування та завантаження даних.

# pip3 install speedtest-cli

import speedtest

st = speedtest.Speedtest( )

download_speed = st.download()
print(download_speed / (2 ** 20))

# 85.1634030205186

upload_speed = st.upload()
print(upload_speed / (2 ** 20))

# 20.926127321782126


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

#Speedtest // #practice // Python

Python 🇺🇦

28 Dec, 10:07


str = 'py'
del str
print(str(1.))


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

27 Dec, 15:07


Вакансія: Python Engineer

ІТ-консалтингова та інжинірингова компанія Avenga шукає на віддалену або офісну роботу (в багатьох містах) розробника рівня Senior з досвідом на Python від 5 років — для розробки і підтримки масштабованих, ефективних програмних застосунків.

📝 Відкрити анкету

#Python // #jobs // Вакансії IT

Python 🇺🇦

26 Dec, 10:07


Перебір рядків та колонок таблиці

На 2-му уроці "другого сезону" відео-курсу по вирішенню задач на Python з порталу CheckIO автор продовжує рухатись по історії з першого уроку і демонструє перебір рядків та колонок таблиці.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

26 Dec, 09:15


Нажаль це правда! Більшість людей не знають, як зайнятись саморозвитком

Проведені в 2024 році опитування показало, що більше 95% людей, досі не розуміють, як розвиватися без зайвих зусиль.

Але ж вже давно створили Mind the gap — канал для тих, хто хоче стати кращим, без знущання над собою.

😪 Після підписки, ти 100% змінеш своє життя – @Mind_the_gap

Python 🇺🇦

25 Dec, 10:07


list.reverse — це вбудований метод, який відображає об'єкти списку у зворотному порядку.

list1 = [1, 2, 3, 4, 1, 2, 6]
list1.reverse()
print(list1)
# [6, 2, 1, 4, 3, 2, 1]

list2 = ['a', 'b', 'c', 'd', 'a', 'a']
list2.reverse()
print(list2)
# ['a', 'a', 'd', 'c', 'b', 'a']


Коли замість списку використовується щось, крім списку, повертається помилка AttributeError.

* метод корисний для перевірки, чи є список паліндром

#list_reverse // #practice // Python

Python 🇺🇦

24 Dec, 10:07


Розбиття колекції на дві групи

Друзі, сьогодні розпочинаємо проходження "другого сезону" відео-курсу по вирішенню задач на Python з порталу CheckIO — і на 1-му уроці автор демонструє розбиття однієї колекції на дві різні групи.

Мова: 🇺🇦

Тривалість: 8 хв

#Python // #lessons // Архів книг

Python 🇺🇦

23 Dec, 10:07


Коли нам знадобиться визначити з отриманого рядка літеральний тип (рядки, числа, списки, кортежі, словники, логічні значення та None), ми можемо скористатися функцією literal_eval() із модуля ast.

>>> from ast import literal_eval
>>>
>>> example = literal_eval("{'a': 1, 'b': 2}")
>>> type(example)
<class 'dict'>
>>> example
{'a': 1, 'b': 2}


Ця функція допоможе безпечно визначити літеральний тип, а якщо був переданий не літерал, то викине виняток. Це можна використовувати для оцінки виразів із зовнішніх джерел при парсингу файлів.

#Python // #practice // Вакансії IT

Python 🇺🇦

22 Dec, 18:07


Віртуальне середовище

Python — неймовірно гнучка мова програмування, яка чудово підходить для створення проектів будь-якого масштабу: від невеликих скриптів до великих веб-додатків.

Але що відбувається, коли кілька проектів використовують різні версії бібліотек або самого Python? У цій статті — детально про створення віртуального оточення Python.

Мова: 🇺🇦

#Python // #theory // Вакансії IT

Python 🇺🇦

22 Dec, 10:07


Python автоматично викликає метод eq класу, коли ми використовуємо оператор == для порівняння екземплярів класу.

class Person:
def __init_(self, name, age):
self.name = name
self.age = age

def __eq__(self, other):
return isinstance(other, Person) and self.age == other.age


Хеш об'єкта — це ціле число, що представляє значення об'єкта, і воно отримується функцією hash(), якщо об'єкт можна хешувати.

#Python // #practice // Вакансії IT

Python 🇺🇦

21 Dec, 19:24


Python for Data Science

Це обов’язковий посібник з Python, який дозволить вам блискуче розібратись в основах технологій Data Science, щоб розпочати свій бізнес або вивести його на новий рівень.

Рік: 2020

Мова: 🇬🇧

Автор: Oscar Brogan

#DataScience // #books // Python

Python 🇺🇦

20 Dec, 18:57


Вакансія: Python Engineer

Компанія Nova Digital, що входить до складу групи компаній "Нова пошта", шукає на віддалену або офісну роботу в Києві розробника рівня Middle з досвідом на Python від 2-х років — для обробки / міграції даних, моніторингу систем.

📝 Відкрити анкету

#Python // #jobs // Вакансії IT

Python 🇺🇦

20 Dec, 11:19


При виконанні інструкції assert з логічним виразом, результат якого дорівнює True, нічого не станеться, а якщо False — згенерується виняток AssertionError.

def get_user_by_id(user_id):
assert type(user_id) is int, 'user_id must be integer'
print('Searching...')

get_user_by_id(4267)
# Searching...

get_user_by_id('foo')
# AssertionError: user_id must be integer


Винятки AssertionError призначені скоріше для налагодження. При написанні програм на етапі розробки ми можемо бачити, що робимо щось не так.

Також не потрібно, наприклад, обробляти введення користувача і намагатися обробити виключення AssertionError блоком try-except.

#assert // #practice // Python

Python 🇺🇦

19 Dec, 18:07


Бібліотека Catboost

У цьому прикладі ми імпортуємо CatBoostClassifier із catboost і створюємо екземпляр класифікатора з певними параметрами. Потім ми навчаємо модель на тренувальних даних і мітках за допомогою методу fit. Після навчання можемо використовувати методи predict та predict_proba для отримання передбачень класів та ймовірностей відповідно.

import numpy as np
from catboost import CatBoostClassifier

# ініціалізація даних
train_data = np.random.randint(0, 100, size=(100, 10))
train_labels = np.random.randint(0, 2, size=(100))

model = CatBoostClassifier(iterations=2, depth=2, learning_rate=1, loss_function='Logloss', verbose=True)

# навчання моделі
model.fit(train_data, train_labels)

# передбачення за допомогою отриманої моделі
preds_class = model.predict(test_data)
preds_proba = model.predict_proba(test_data)
print("class =", preds_class)
print("proba =", preds_proba)


Результат роботи коду залежатиме від вхідних даних. Тут використовуються випадкові дані для навчання та тестування, а в реальних ситуаціях дані відрізнятимуться.

#Catboost // #theory // Python

Python 🇺🇦

05 Dec, 18:07


Інструмент Auto-sklearn

У цьому прикладі ми створюємо екземпляр класифікатора AutoSklearnClassifier і навчаємо його на тренувальних даних X_train та y_train.

import autosklearn.classification

cls = autosklearn.classification.AutoSklearnClassifier()
cls.fit(X_train, y_train)
predictions = cls.predict(X_test)


Далі використовуємо навчений класифікатор для передбачення тегів класів для тестових даних X_test (і отримуємо масив передбачених міток класів).

#Auto_sklearn // #theory // Python

Python 🇺🇦

05 Dec, 10:24


Підрахунок елементів

На 11-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор працює зі списком булевих значень і розглядає задачу, де треба перевірити, чи більшість елементів є True.

Мова: 🇺🇦

Тривалість: 13 хв

#Python // #lessons // Архів книг

Python 🇺🇦

04 Dec, 18:07


📱 Два нові Python-курси на Prometheus

Платформа Prometheus в межах проекту Всесвітнього університету запустила два нові безплатні курси від Чарльза Северенса, відомого як "доктор Чак":

🔴Python для баз даних (6 годин) — присвячений основам SQL і архітектурі баз даних, включаючи їх збір, аналіз і обробку.

🔴Python для веб (6 годин) — навчить працювати з форматами HTML, XML і JSON, а також отримувати інфу через веб-API.

Щоб перейти на сайт, тицьніть на назву курсу.

#Prometheus // #news // Вакансії IT

Python 🇺🇦

04 Dec, 10:07


Думаю, у всіх були ситуації, коли ви відкрили файл або отримали відповідь від сервера, а всередині виявлявся набір дивних символів в незрозумілому кодуванні. Пакет chardet і створений для роботи з кодуванням.

>>> import urllib.request
>>> import chardet
>>>
>>> data = urllib.request.urlopen('http://yahoo.com/')
>>> chardet.detect(rawdata.read())
{'encoding': 'utf-8', 'confidence': 0.99, 'language': ''}


Його метод detect видає передбачуване кодування з точністю від 0 до 1. В прикладі вище ми отримали відповідь на запит до сервера, взяли його вміст і перевірили кодування через цей метод.

#chardet // #practice // Python

Python 🇺🇦

03 Dec, 18:07


d = {0: "p"}
d |= {1: "y"}
d


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

03 Dec, 12:29


Аналіз тексту, збір статистики

На 10-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, де треба зібрати статистику про те, скільки разів певне слово зустрічається в тексті.

Мова: 🇺🇦

Тривалість: 17 хв

👉 Попередній урок

#Python // #lessons // Архів книг

Python 🇺🇦

02 Dec, 18:07


Бібліотека Annoy

У цьому прикладі ми створюємо індекс Annoy з довжиною вектора елемента f і використовуємо відстань angular.

from annoy import AnnoyIndex
import random
f = 40 # Довжина індексованого векторного елемента
t = AnnoyIndex(f, 'angular')
for i in range (1000):
v = [random.gauss(0, 1) for z in range(f)]
t.add_item(i, v)

t.build(10) # 10 дерев
t.save('test.ann')

# ...
u = AnnoyIndex(f, 'angular')
u.load('test.ann') # дуже швидко, просто відображає файл в пам'ять
print(u.get_nns_by_item(0, 1000)) # знайде 1000 найближчих сусідів


Додаємо 1000 елементів з випадковими значеннями індексу, будуємо його з 10 дерев і зберігаємо у файл test.ann.

Потім ми завантажуємо індекс із файлу та виконуємо пошук 1000 найближчих сусідів для елемента з індексом 0.

Результат роботи коду — список зі 1000 індексів елементів, які є найближчими сусідами для елемента з індексом 0.

#Annoy // #theory // Python

Python 🇺🇦

02 Dec, 10:07


Важко візуально розрізнити цілі числа на кшталт 10000000 і 100000000. Використовувати коми, як в англійській мові, не вийде.

а = 3250
b = 67_543_423_778

type(a) # <class 'int'>
type(b) # <class 'int'>
type(a) == type(b) # True


Але Python дозволяє використовувати нижнє підкреслення як роздільник для покращення читабельності — наприклад, 1_000_000 інтерпретуватиметься як ціле число 1000000.

#Python // #practice // Вакансії IT

Python 🇺🇦

01 Dec, 10:07


Інструкція assert приймає логічний вираз та необов'язкове повідомлення. Вона використовується для перевірки типів, значень аргументу та виведення функції, а також для налагодження, оскільки зупиняє програму в разі помилки.

Якщо виконати інструкцію assert з логічним виразом із результатом True, нічого не станеться. Але для False буде згенеровано виняток AssertionError (не обробляйте його блоком try-except, бо тоді assert втрачає сенс).

def get_user_by_id(user_id):
assert type(user_id) is int, 'user_id must be integer'
print('Searching...')

get_user_by_id(4267)
# Searching...

get_user_by_id('foo')
# AssertionError: user_id must be integer


У прикладі 👆 ми перевірили, чи є переданий аргумент числовим типом даних. Якщо ні — буде викликано виняток і виведено вказане повідомлення.

#assert // #practice // Python

Python 🇺🇦

30 Nov, 14:11


Вакансія: Python Developer

Продуктова FinTech-компанія Treeum шукає на віддалену або офісну роботу в Києві Senior-розробника з досвідом роботи з Python від 5 років — для розробки, підтримки та оптимізації мікросервісів з акцентом на асинхронну роботу.

📝 Відкрити анкету

#python // #jobs // Архів книг

Python 🇺🇦

30 Nov, 10:07


d = {0: "p"}
d + {1: "p"}


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

29 Nov, 10:07


Функція zip() приймає елементи, об'єднує їх в кортеж і повертає його.

languages = ['Java', 'Python', 'JavaScript']
versions = [14, 3, 6]

result = zip(languages, versions)
print(list (result))

# [('Java', 14), ('Python', 3), ('JavaScript', 6)]


Якщо передані ітератори мають різну довжину, ітератор з найменшою кількістю елементів визначає довжину нового ітератора.

#zip // #practice // Python

Python 🇺🇦

28 Nov, 18:07


Важливе про цифри та Юнікод

0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не єдині символи, які вважаються цифрами. Python дотримується правил Юнікоду та обробляє кілька сотень символів як цифри.

>>> int('٩')
9
>>> int ('𑄺৬𝟙੩')
1613
>>> '۴'.isdecimal()
True
>>> bool(re.match('\d', '౫'))
True


👉 Повний перелік цифр в Python

#Python // #theory // Архів книг

Python 🇺🇦

28 Nov, 10:07


Фільтрація елементів

На 9-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, де треба обробити вхідну колекцію, залишивши в ній лише ті елементи, які повторюються більше одного разу.

Мова: 🇺🇦

Тривалість: 15 хв

#Python // #lessons // Архів книг

Python 🇺🇦

28 Nov, 08:10


💻 Автоматизуйте всі процеси IT-компанії або агенції з єдиною системою!

Спробуйте ITFin і забудьте про зоопарк рішень, ексельки і купу ручної роботи.

📈 Адже ми створили єдине рішення в якому поєднали всі ключові процеси: фінанси, клієнти, делівері, трекінг, HR, рекрутинг, CRM, звіти і багато іншого.

Все це максимально автоматизовано та гнучко налаштовується, а ручні дії, потипу розрахунку зарплатні чи планування ресурcів потребуватимуть пари кліків, а не днів.

📍В системі вже налаштовані сотні інтеграцій з банками та сервісами, є функціонал для ведення ФОПів, а команда надає постійну підтримку.

Отримайте безкоштовне демо або більше інформації на сайті 👉 itfin.io

Python 🇺🇦

27 Nov, 12:19


Рядкові літерали 'inf' та 'infinity' можна конвертувати в float, і в результаті виходить значення нескінченності. Для негативної "нескінченності" слід поставити знак мінуса перед словом.

>>> float('infinity')
inf
>>> float('inf')
inf
>>> float('inf') == float('infinity')
True
>>> float('-inf')
-inf
>>> float('inf') > 100 ** 100
True
>>> type float('inf'))
<class 'float'>


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

#infinity // #practice // Python

Python 🇺🇦

26 Nov, 10:07


Обробка елементів колекції

На 8-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, де треба створити новий рядок, в якому усі слова будуть перевернуті задом наперед і при цьому залишатимуться на своїх місцях.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

25 Nov, 16:00


Запрошуємо на корисний івент для дизайнерів, розробників, тестувальників та проджект менеджерів. 🧑‍💻

Ви дізнаєтесь про те: як уникнути типових помилок в роботі над проектом 🚧

як зробити так, щоб дизайн ефективніше втілювався в код 💫, результативно комунікувати та оптимізувати сам процес 🏆 .

Yehor Sokhan, Head of Design (12+ years of experience) розповість про свій досвід і поділиться практичними інструментами планування та ведення проектів.

Реєстрація за донат на ЗСУ - https://tech-meetups.qarea.org/more-details-common-language-ux-dev-qa

Python 🇺🇦

25 Nov, 14:44


Бібліотека Prophet

У цьому прикладі ми завантажуємо дані про пасажирів авіакомпанії, готуємо їх для використання в моделі Prophet, створюємо та навчаємо модель, створюємо майбутні дати для прогнозування, робимо прогноз та візуалізуємо його.

from fbprophet import Prophet
import pandas as pd

# Завантаження даних
df = pd.read_csv('AirPassengers.csv')
df.head()

# Підготовка даних
df.columns = ['ds', 'y']
df['ds'] = pd.to_datetime(df['ds'])

# Створення та навчання моделі
m = Prophet()
m.fit(df)

# Створення майбутніх дат для прогнозування
future = m.make_future_dataframe(periods=365)
future.tail()

# Прогнозування
forecast = m.predict(future)
forecast[['ds', 'yhat', 'yhat_lower', 'yhat_upper']].tail()

# Візуалізація прогнозу
fig1 = m.plot(forecast)
fig2 = m.plot_components(forecast)


Результат роботи цього коду — графік з прогнозом кількості пасажирів авіакомпанії на майбутній період.

#Prophet // #theory // Python

Python 🇺🇦

25 Nov, 10:06


Є один цікавий пакет JMESpath, який дозволяє декларативно вказати, як витягувати елементи з документа JSON.

>>> import jmespath
>>>
>>> jmespath.search('foo.bar', {'foo': {'bar': 'baz'}})

'baz'

>>> jmespath.search('foo.*name', {'foo': {'bar': {'name': 'one'}, 'baz': {'name': 'two'}}})
['one', 'two']


Основні приклади використання показані на зображенні. Метод search приймає патерн, яким потрібно витягти дані, і навіть словник (схожий на JSON).

Взагалі? можливостей у пакета достатньо, тому він гідний вивчення і застосування у проектах. Докладніше можна почитати в документації.

#JMESpath // #practice // Вакансії IT

Python 🇺🇦

20 Nov, 18:06


Найвигідніші мови програмування з найменшою конкуренцією — 1C і Scala

Про це свідчить свіжа аналітика. Розробники, що знають ці мови, мають більше шансів швидко працевлаштуватися і заробляють більше, ніж їхні колеги на Java чи Python.

🤷‍♂️ Аналітики вважають, що це зараз найкращий вибір для входу в ІТ.

#Python #1C #Scala // #news // Вакансії IT

Python 🇺🇦

20 Nov, 10:07


Метод sample() повертає список елементів певної довжини, вибраних із послідовності.

import random

mylist = ["apple", "banana", "cherry", "strawberry", "orange"]

print(random.sample(mylist, k=2))
# ['apple', 'strawberry']


Послідовністю може бути список, кортеж, рядок або множина. Параметр k відповідає за розмір списку, що повертається.

#sample // #practice // Python

Python 🇺🇦

20 Nov, 08:10


Full-stack developer до міжнародної організації PwC 🧑🏼‍💻

Як Full-Stack Developer ви підтримуватимете розробку рішень на базі ШІ в різних програмах, від генеративних інструментів ШІ до систем виявлення шахрайства.

Вимоги:
- 3+ роки досвіду;
- Навички програмування на Python та JavaScript;
- Вільне володіння англійською мовою (рівень B2 або вище);
- Досвід управління командою буде перевагою;
- Аналітичний склад розуму та логічне мислення.

Що ми пропонуємо:
- Офіційне працевлаштування;
- Можливість віддаленої роботи;
- Щорічний перегляд позиції;
- Мовні курси (англійська та польська мови);
- Розвиток soft skills;
- План особистого розвитку та кар'єрний коуч;
- Корпоративи та тімбілдінги.

PwC — це мережа з понад 364 000 співробітників у 157 країнах, які зосереджені на наданні послуг найвищої якості в сферах аудиту, податкового консультування, консалтингу та розвитку технологій.

Подати резюме ---> за посиланням або на пошту [email protected] 📩

Python 🇺🇦

19 Nov, 18:07


import numpy as np
>>> np.array((0., 1, 2))
???


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

19 Nov, 10:07


Співставлення елементів колекцій

На 6-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, в якій даються два рядки, і нам треба знайти слова, які знаходяться як в першому рядку, так і в другому.

Мова: 🇺🇦

Тривалість: 11 хв

#Python // #lessons // Архів книг

Python 🇺🇦

18 Nov, 18:07


Автоматизація збору цін

Автор цієї статті розповідає, як автоматизував збір цін з супермаркетів АТБ та Metro за допомогою Kaggle, Scrapy (популярного фреймворка Python) і Scrapy-Splash — у вигляді короткого огляду здійснених кроків.

Мова: 🇺🇦

#Scrapy // #theory // Python

Python 🇺🇦

18 Nov, 10:07


Один із способів роботи з порожніми комірками — вставити замість них нове значення. Так вам не доведеться видаляти цілі рядки через порожні комірки. Метод fillna() дозволяє замінити порожні комірки значенням.

import pandas as pd

# Замінюємо всі комірки
df = pd.read_csv('data.csv')
df.fillna(130, inplace = True)

# Замінюємо тільки в Calories
df = pd.read_csv ('data.csv')
df["Calories"].fillna(130, inplace = True)


У першому прикладі замінюються всі порожні комірки у всьому фреймі даних. Щоб замінити порожні значення лише для одного стовпця, вкажіть ім'я стовпця для DataFrame.

#Pandas // #practice // Python

Python 🇺🇦

17 Nov, 18:07


Мистецтво управління пам’яттю

Якщо ви прагнете опанувати мистецтво ефективного використання об’єктів у Python, обирати найкращі підходи для конкретних завдань і загалом глибше розуміти цю мову, слід розібратися з тим, як працює пам’ять у Python і яку роль в цьому процесі відіграє garbage collector.

Мова: 🇺🇦

#Python // #theory // Архів книг

Python 🇺🇦

17 Nov, 10:07


Ви можете оновити існуючі записи в таблиці за допомогою UPDATE. Зверніть увагу на оператор mydb.commit() для внесення змін.

Команда WHERE вказує, який запис чи записи слід оновити. Якщо ви не використовуєте WHERE, всі записи будуть оновлені.

import mysql.connector

mydb = mysql.connector.connect(
host="localhost",
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql = "UPDATE customers SET address = 'Canyon 123' WHERE address = 'Valley 345'"

mycursor.execute(sql)

mydb.commit()

print(mycursor.rowcount, "record(s) affected")


#MySQL // #practice // Python

Python 🇺🇦

16 Nov, 18:07


Interpretable Machine Learning with Python, 2nd Edition

Друге видання цього посібника розкриває ключові поняття інтерпретації моделей машинного навчання на основі аналізу реальних даних за допомогою Python, надаючи широкий спектр навичок та інструментів.

Рік: 2023

Мова: 🇬🇧

Автор: Serg Masis

#Python // #books // Вакансії IT

Python 🇺🇦

16 Nov, 10:07


import numpy as np
>>> np.array(0., 1, 2)
???


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

15 Nov, 18:07


Вакансія: Python Engineer

IT-рекрутингова агенція EvoTalents шукає на офісну роботу в Києві розробника з досвідом на Python від 5 років і досвідом роботи з бібліотеками.

📝 Відкрити анкету

#Python // #jobs // Вакансії IT

Python 🇺🇦

15 Nov, 10:07


Функція unique() використовується для пошуку унікальних елементів масиву. Вона повертає відсортовані унікальні елементи масиву.

Крім унікальних елементів, є три додаткові висновки:

🔴індекси вхідного масиву, які дають унікальні значення

🔴індекси унікального масиву, що відновлюють вхідний масив

🔴скільки разів кожне унікальне значення з'являється у вхідному масиві

import numpy as np
x = np.array([0, 1, 2, 5, 2, 6, 5, 2, 3, 1])
u, indices = np.unique(x, return_inverse=True)
print(u)
# [0, 1, 2, 3, 5, 6]


#Python // #practice // Архів книг

Python 🇺🇦

15 Nov, 08:10


Які знання допоможуть робити глибинний аналіз даних та розвиватися в Data Science?

Усе необхідне robot_dreams зібрали на курсі «Математика та статистика для Data Science» — комплексна програма містить 18 занять та розробку фінального проєкту.

Після курсу ви:

🔹 вмієте обробляти, аналізувати та візуалізувати дані за допомогою програмування Python і бібліотек Pandas, NumPy, MatPlotLib, Seaborn
🔹 маєте базові знання з вищої математики, необхідні для вирішення реальних завдань Data Science
🔹 володієте необхідними методами та теоріями для аналізу та обробки даних
🔹 розумієте, як інтерпретувати результати обробки даних, знаходити та коригувати помилки в аналізі
🔹 можете описувати реальні процеси та завдання математичною мовою
🔹 вмієте будувати і перевіряти статистичні гіпотези

Лекторка — Наталія Кеес, Data Scientist в Airbus

Старт: 18 листопада

⚡️Приємний бонус — Black Friday у robot_dreams вже розпочалась: придбавши курс, обирайте ще один у подарунок — для себе чи друзів 🎓

Детальніше

Python 🇺🇦

14 Nov, 10:07


Складні перевірки

На 5-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, в якій треба перевірити, чи ввів користувач пароль в очікуваному форматі.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

13 Nov, 10:07


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

class Generator(nn.Module):

def __init__(self):
super().__init__()
self.model = nn.Sequential(
nn.Linear(2, 16),
nn.ReLU(),
nn.Linear(16, 32),
nn.ReLU(),
nn.Linear(32, 2),
)

def forward(self, x):
output = self.model(x)
return output

generator = Generator()


#Python // #practice // Архів книг

Python 🇺🇦

12 Nov, 18:47


import numpy as np
>>> np.array([0., 1, 2])
???


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

12 Nov, 12:10


Аналіз ковзаючого зрізу клементів

На 4-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, в якій треба визначити, чи є в даному реченні хоча б три слова підряд, які б не були числами.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

12 Nov, 08:10


Не можна гарантувати, що штучний інтелект не захопить світ

Проте можна зробити так, щоб він працював на вас та ваш продукт, перш ніж мріяти про світове панування.

🤖 Вдоскональте свої знання та опануйте нові інструменти на курсі «Побудова моделей Generative AI» від robot_dreams

За 18 занять ви навчитеся:
🦾 розробляти та впроваджувати моделі генеративного ШІ в реальних проєктах
🦾 розуміти вразливості та стратегії захисту генеративного штучного інтелекту
🦾 навчитеся створювати та налаштовувати різні генеративні моделі (GAN, VAE і LLM)
🦾 використовувати різні методи й метрики для оцінювання якості згенерованих даних
🦾 впроваджувати моделі GenAI в готові продукти

Наприкінці курсу розробите фінальний проєкт — власну модель генеративного ШІ, що створюватиме контент на основі заданих даних

Лектори:
Володимир Поворозник — Senior ML Engineer в UniData Lab, PhD в галузі Computer Science
Юрій Хома — Co-founder&CEO UniData Lab, PhD у галузі ШІ

Старт: 19 листопада

Деталі, програма та реєстрація ⬅️

Python 🇺🇦

11 Nov, 11:57


У NumPy існує п'ять основних способів округлення десяткових чисел:

🔴trunc() і fix() видаляють десяткові дроби і повертають число з плаваючою комою

🔴функція around() округлює число до заданої кількості знаків після коми

🔴функція floor() округляє десяткове число в менший бік

🔴функція ceil() округляє десяткове число в більший бік

import numpy as np

arr = np.trunc([-3.1666, 3.6667])
print(arr) # [-3. 3.]

arr1 = np.fix([-3.1666, 3.6667])
print(arrl) # [-3. 3.]

arr2 = np.around(3.1666, 2)
print(arr2) # 3.17

arr3 = np.floor([-3.1666, 3.6667])
print(arr3) # [-4. 3.]

arr4 = np.ceil([-3.1666, 3.6667])
print(arr4) # [-3. 4.]


#NumPy // #practice // Python

Python 🇺🇦

10 Nov, 18:07


👆 Що таке синхронний код?

Якщо у вас є функція, яка займає багато часу на виконання, і ви викликаєте її в основній програмі, виконання програми заблокується до завершення цієї функції.

items = [1, 2, 3, 4, 5]
for item in items:
print(item)


#Python // #theory // Вакансії IT

Python 🇺🇦

10 Nov, 10:07


Порожні осередки потенційно можуть дати невірний результат під час аналізу даних. Один зі способів впоратися з порожніми осередками — видалити рядки, що містять порожні осередки.

import pandas as pd

df = pd.read_csv('data.csv')
new_df = df.dropna()
df.dropna(inplace = True)

print(df.to_string())


Для цього можна використовувати метод dropna(), який за замовчуванням повертає новий DataFrame і змінює вихідний. Якщо бажаєте змінити вихідний DataFrame, використовуйте аргумент inplace = True.

#Python // #practice // Архів книг

Python 🇺🇦

09 Nov, 18:07


Python in Finance

Це незамінний посібник для професіоналів у галузі фінансів, аналітиків даних та початківців, які хочуть використовувати можливості Python для вирішення складних фінансових завдань та впровадження інновацій у своїй галузі.

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

Рік: 2024

Мова: 🇬🇧

Автор: Hayden Van Der Post

#Python // #books // Вакансії IT

Python 🇺🇦

09 Nov, 10:07


>>> tp = (,)
>>> (1, 2) + tp


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

08 Nov, 18:07


Вакансія: Python Engineer

Компанія Nova Digital, що входить до складу групи компаній "Нова пошта", шукає на віддалену або офісну роботу розробника з досвідом на Python від 2-х років — для автоматизації прогнозів та обробки даних за алгоритмами.

📝 Відкрити анкету

#Python // #jobs // Вакансії IT

Python 🇺🇦

08 Nov, 10:07


Метод __missing__ визначає поведінку підкласу словника при доступі до неіснуючого ключа. Більш конкретно, внутрішній метод словника __getitem__ викликає метод __missing__, якщо ключа не існує.

Цей метод може бути корисним при вирішенні різних завдань, наприклад, підрахунку елементів або при роботі зі словниками, де відсутні ключі повинні мати певне значення за промовчанням.

class DefaultDict(dict):
def __init__(self, default_value, *args, **kwargs):
self.default_value = default_value
super().__init__(*args, **kwargs)

def __missing__(self, key):
return self.default_value

d = DefaultDict('default')
print(d['key']) # Виведе: 'default'


У цьому прикладі ми створюємо екземпляр класу DefaultDict зі значенням 'default'. Коли ми намагаємося отримати доступ до неіснуючого ключа 'key', викликається метод __missing__, який повертає значення за промовчанням.

#missing // #practice // Python

Python 🇺🇦

07 Nov, 18:07


Модуль doctest може бути корисним під час написання документації для пакета або модуля, а також при написанні тестів для перевірки коректності роботи коду.

def square(x):
return x * x

if __name__ == "__main__":
import doctest
doctest.testmod(verbose=True)


Тут ми визначаємо функцію square, яка повертає квадрат числа x. У докстрингу функції включаємо кілька інтерактивних прикладів її використання.

Потім ми імпортуємо модуль doctest і викликаємо метод testmod, який автоматично знаходить та перевіряє всі doctest'и в поточному модулі.

📝 Під час запуску коду ви побачите докладний висновок про те, які doctest'и були виконані та які результати вони повернули.

#doctest // #theory // Python

Python 🇺🇦

07 Nov, 16:10


База, ґрунт, основа — це Python 🐍

Коли є бажання розпочати кар'єру Backend Developer → мова Python стане гарним вибором:
її вважають інтуїтивною та зрозумілою для новачків, а головне — вона має попит на ринку праці та входить до топ 3 найпопулярніших мов програмування у світі.

🤖 robot_dreams запускають курс «Python для веброзробки» це — 34 заняття, 30 домашніх завдань та індивідуальний фідбек лектора — Ігоря Гарагатого, Software Engineer у міжнародній FinTech-компанії, який працював у GlobalLogic, SoftServe, Akvelon.

Протягом 20 тижнів ви навчитеся:

⚡️використовувати основні фреймворки для веброзробки на Python — Flask, Django та FastAPI
⚡️писати чистий, структурований, оптимізований код
⚡️самостійно створювати, розгортати й підтримувати вебзастосунки на Python

В результаті — з нуля розробите власний сайт та додасте проєкт у портфоліо
отримаєте бонусний блок про фронтенд-розробку та пройдете імітацію технічної співбесіди із лектором.

Курс стартує — 19 листопада

Детальна програма та реєстрація 🔗

Python 🇺🇦

07 Nov, 10:07


Аналіз тексту і пошук чисел

На 3-му уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, в якій треба визначити суму всіх чисел, що знаходяться в певному рядку.

Мова: 🇺🇦

Тривалість: 14 хв

#Python // #lessons // Архів книг

Python 🇺🇦

06 Nov, 10:07


Об'єднання означає розміщення вмісту двох або більше масивів в одному масиві.

import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
arr = np.concatenate((arr1, arr2))
print(arr) # [1 2 3 4 5 6]


В NumPy об'єднання масивів здійснюється по осях. Послідовність масивів передається функції concatenate() разом із віссю. Якщо вісь не передається явно, вона приймається рівною 0.

#NumPy // #practice // Python

Python 🇺🇦

06 Nov, 08:10


⚡️GitHub прийшов в Telegram!

GitHub — соц. мережа для програмістів, де зберігається код програм і можна разом працювати над ним. Тепер у GitHub з'явився україномовний канал. Це збірка найкращих репозиторіїв та відпадних мемів.

Варто підписатися: @GitHub

Python 🇺🇦

05 Nov, 18:07


i = 10
print(i(5%2))


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

05 Nov, 12:22


Шукаємо помилки в коді

На 2-му міні-уроці відео-курсу по вирішенню задач на Python з порталу CheckIO автор розглядає задачу, в якій треба визначити кратність числа, і демонструє процес дебаггінгу.

Мова: 🇺🇦

Тривалість: 13 хв

#Python // #lessons // Архів книг

Python 🇺🇦

04 Nov, 19:36


Створюємо графіки в терміналі

Наприклад, можна використовувати Bashplotlib для створення гістограми з масиву даних.

import numpy as np
from bashplotlib.histogram import plot_hist

arr = np.random.normal(size=1000, loc=0, scale=1)
plot_hist(arr, bincount=50)


У цьому прикладі функція plot_hist використовується для відображення даних на одновимірній гістограмі.

#Bashplotlib // #theory // Python

Python 🇺🇦

04 Nov, 10:07


Щоб зробити розширені запити, можна використовувати модифікатори як значення в об'єкті запиту.

import pymongo

myclient = pymongo.MongoClient("mongodb: //localhost: 27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

myquery = {"address": {"$gt": "S"}}

mydoc = mycol.find(myquery)

for x in mydoc:
print(x)


Наприклад, щоб знайти документи, в яких поле "адреса" починається з літери "S" або вище (за абеткою), використовуйте модифікатор "більше, ніж": {"$gt": "S"}.

#MongoDB // #practice // Python

Python 🇺🇦

03 Nov, 11:29


Метод writelines() записує елементи списку в файл. Місце вставки тексту залежить від режиму файлу та позиції потоку.

f = open("test.txt", "a")
f.writelines(["See you soon!", "Over and out."])
f.close()

f = open("test.txt", "r")
print(f.read())


У режимі "a" тексти будуть вставлені в поточну позицію файлового потоку за замовчуванням в кінець файлу. У режимі "w" файл буде очищено до того, як тексти будуть вставлені в поточну позицію файлового потоку, за замовчуванням 0.

#writelines // #practice // Python

Python 🇺🇦

02 Nov, 18:07


Вакансія: Python Developer

П
ровідний постачальник ІТ-рішень та комп’ютерної техніки "Asap Demo" шукає на офісну роботу в Києві Python-розробника з досвідом від 2-х років — для розробки та підтримки серверної частини.

📝 Відкрити анкету

#python // #jobs // Архів книг

Python 🇺🇦

01 Nov, 18:07


Python Testing with Selenium

Цей короткий посібник містить прості функціональні тестові випадки з підходом на основі синтаксису для Selenium WebDriver — з його допомогою можна реалізувати різні методи тестування на мові програмування Python.

Рік: 2020

Мова: 🇬🇧

Автор: Sujay Raghavendra

#Selenium // #books // Python

Python 🇺🇦

01 Nov, 10:07


Метод discard() видаляє елемент із множини тільки тоді, коли елемент присутній у множині. Якщо відсутній — виводиться початкова множина.

fruits = {"apple", "banana", "cherry"}

fruits.discard("banana")

print(fruits)
# ['cherry', 'apple']


Цей метод відрізняється від методу remove(), який викликає помилку, якщо вказаний елемент не існує (натомість discard() не викликає помилки).

#discard // #practice // Python

Python 🇺🇦

31 Oct, 18:27


class Foo:
obj=None

def obj(self):
return 'py'

ob = Foo()

print(type(ob.obj), type(ob.obj()))


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

31 Oct, 16:10


Ситком для айтівців з експертами Google, Bolt, SoftServe, MEGOGO, GlobalLogic.

🤖 Tech Talk — це 4 дні подій у форматі панельних дискусій по напрямкам: Кібербезпека, Аналітика, Data Science і Розробка.

Один день = одна актуальна обширна тема, з приводу якої будуть дискутувати запрошені експерти. Ви зможете ставити питання спікерам, висловлювати свою думку і залучатись до дискусії у чаті, а також отримаєте корисні матеріали по напрямкам.

⚡️ Developers Day — 5 листопада 19:00

⚡️ Data Analytics Day — 6 листопада 19:00
⚡️ CyberSecurity Day — 7 листопада 19:00
⚡️ Data Science Day — 8 листопада 19:00

Приєднавшись до Tech Talk, ви:
→ долучитесь до IT-ком’юніті
→ відвідаєте 4 дискусії за 4 дні
→ дізнаєтесь про сучасні технології та тенденції ринку
→ розширите власний нетворк

🔗 Безкоштовна реєстрація на серію дискусій через чат-бот

Чат-бот надасть вам детальну інформацію щодо дискусій, нагадає про старт та поділиться записом події, а також надішле додаткові матеріали.

Python 🇺🇦

28 Oct, 18:07


Обгортка wxPython

У цьому прикладі ми створюємо два основних об'єкти в wxPython: основний об'єкт вікна та об'єкт програми:

import wx

class TestFrame(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, id=-1, title=title)
text = wx.StaticText(self, label=title)

app = wx.App()
frame = TestFrame(None, "Hello, world!")
frame.Show()
app.MainLoop()


Керування передається функцією MainLoop() обробнику подій, який відповідає за інтерактивну частину програми.

#wxPython // #theory // Python

Python 🇺🇦

28 Oct, 10:55


Функція vars() повертає атрибут об'єкта dict — це словник, що містить атрибути об'єкта, які змінюються.

class Person:
name = "John"
age = 36
country = "norway"

x = vars(Person)
print(x)
# {'age': 36, '__module__': '__main__', '__doc__': None, 'name': 'John', 'country': 'norway'}


Виклик функції vars() без параметрів поверне словник, який містить локальну таблицю символів.

#vars // #practice // Python

Python 🇺🇦

27 Oct, 18:39


Функтори

Функціональні об'єкти (функтори) є дуже корисними — вони значно гнучкіші, ніж функції, оскільки можуть містити додаткові атрибути та методи, успадковуватись від інших класів і мати спадкоємців.

class Functor(object):
def __init__(self, n=10):
self.n = n

def __call__(self, x):
x_first = x[0]
if type(x_first) is int:
return self. __MergeSort(x)
if type(x_first) is float:
return self. __HeapSort(x)
else:
return self. __QuickSort(x)


❗️Особливо важливим є те, що функтори можуть виступати в ролі декораторів, доповнюючи функціональність функцій і класів.

#Python // #theory // Вакансії IT

Python 🇺🇦

27 Oct, 10:40


Можна проводити пошук у масиві для певного значення та повертати індекси, де відбувається збіг. Для цього використовуйте метод where().

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 4, 4])

x = np. where(arr == 4)

print(x)
# (array([3, 5, 6],)


У цьому прикладі повернеться кортеж: (array([3, 5, 6],). Це означає, що значення 4 є в індексах 3, 5 і 6.

#Python // #practice // Вакансії IT

Python 🇺🇦

26 Oct, 17:01


Вакансія: Data Engineer, Python Developer

Логістична компанія "Brokbridge" шукає на віддалену чи офісну роботу в Києві Python-розробника з досвідом програмування від 3-х років — для роботи з існуючою БД PostgreSQL, оптимізації наявних і розробки нових Python-скриптів.

📝 Відкрити анкету

#python // #jobs // Архів книг

Python 🇺🇦

26 Oct, 15:00


🔥 ТІЛЬКИ ДЛЯ УКРАЇНЦІВ: СПИСОК БЕЗКОШТОВНИХ IT-КУРСІВ

Тут ціла навчальна бібліотека, ще й безоплатно, налітай! 😱 Обирай, ким хочеш бути, і стартуй 👇

Веброзробник: розроби свій перший сайт.

QA-інженер: протестуй сайт на помилки.

UX/UI-дизайнер: задизайни свій перший додаток.

Дата-аналітик: проаналізуй свої перші дані.

Фахівець із SMM: отримай досвід роботи з соцмережами.

А для тих, хто не може визначитися — приходьте на тест-драйв IT-професій, де оберете роботу, від якої горять очі 🔥

👉 Подивитися всі курси: https://i.goit.global/QiTpC

І не забудьте отримати свій бонус під час реєстрації 🫡

Python 🇺🇦

25 Oct, 18:33


ML + DS Blueprints for Finance

Протягом наступних кількох десятиліть machine learning і data science змінять фінансову галузь. Завдяки цій практичній книзі аналітики, трейдери, дослідники та розробники навчаться за допомогою Python створювати алгоритми машинного навчання, важливі для галузі.

Рік: 2020

Мова: 🇬🇧

Автори: Tatsat, Puri, Lookabaugh

#Python // #books // Вакансії IT

Python 🇺🇦

25 Oct, 09:07


При виборі записів з таблиці можна відфільтрувати вибірку за допомогою оператора WHERE.

import mysql.connector

mydb = mysql.connector.connect(
host="localhost"
user="yourusername",
password="yourpassword",
database="mydatabase"
)

mycursor = mydb.cursor()

sql =
"SELECT * FROM customers WHERE address ='Park Lane 38'"

mycursor.execute(sql)

myresult = mycursor.fetchall()

for x in myresult:
print(x)


Також можна вибрати записи, які починаються, включають або закінчуються цією літерою чи фразою. Для цього слід використати %.

#MySQL // #practice // Python

Python 🇺🇦

24 Oct, 18:16


Матриця помилок

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

import matplotlib.pyplot as plt
import numpy
from sklearn import metrics

actual = numpy.random.binomial(1,.9,size = 1000)
predicted = numpy.random.binomial(1,.9,size = 1000)

confusion_matrix = metrics.confusion_matrix(actual, predicted)

cm_display = metrics.ConfusionMatrixDisplay(confusion_matrix = confusion_matrix, display_labels = [False, True])

cm_display.plot()
plt.show()


У цьому прикладі ми генеруємо числа для фактичних і прогнозованих значень. Потім імпортуємо metrics зі sklearn, щоб використовувати функцію побудови матриці помилок.

#Python // #theory // Вакансії IT

Python 🇺🇦

24 Oct, 09:07


Програмуємо гру "Змійка", ч.3

На 23-му міні-уроці відео-курсу "Python для початківців" автор продовжує створювати невеличку гру зі змійкою за допомогою pygame, й додає їй можливість їсти і зростати.

Мова: 🇺🇦

Тривалість: 11 хв

#Python // #lessons // Архів книг

Python 🇺🇦

23 Oct, 17:07


З'явився безкоштовний генератор коду

Принцип простий: ви описуєте свою ідею, а нейромережа автоматично генерує код для Flask.

👉 Спробувати

#Flask // #news // Python

Python 🇺🇦

23 Oct, 09:07


Щоб вставити документ у колекцію, використовуйте метод insert one(). Перший параметр методу insert one() — це словник, що містить імена та значення кожного поля в документі, який ви хочете вставити.

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

mydict = {"name": "John", "address": "Highway 37"}

x = mycol.insert_one(mydict)


Метод повертає об'єкт InsertOneResult з властивістю insert id, що містить ідентифікатор вставленого документа.

#Python // #practice // Вакансії IT

Python 🇺🇦

22 Oct, 17:07


def div(a:float, b: float) -> float:
return a/b

print(div(4,2))


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

22 Oct, 16:33


🚫Тепер у Python чаті стане менше нічних спамерів

Додали до нашого чат-бота функцію капчі та модерації від ШІ, тепер повідомлення зі спамом видаляються миттєво ⚡️

Наш чат: @chatpythonua
Наш бот: @wardybot

Cпілкуватися стало приємніше!

Python 🇺🇦

22 Oct, 10:01


Програмуємо гру "Змійка", ч.2

На 22-му міні-уроці відео-курсу "Python для початківців" автор продовжує створювати невеличку гру, використовуючи pygame.

Мова: 🇺🇦

Тривалість: 11 хв

#Python // #lessons // Архів книг

Python 🇺🇦

21 Oct, 09:07


Метод issuperset() повертає True, якщо множина містить усі елементи іншої множини (передається як аргумент). Якщо ні, то повертається False.

x = {"f", "e", "d", "c", "b", "a"}
y = {"a", "b", "c"}

z = x.issuperset(y)

print(z) # True


Також можна використовувати оператор >=, проте він вимагає множин по обидва боки. Метод issuperset може приймати будь-який об'єкт.

#issuperset // #practice // Python

Python 🇺🇦

20 Oct, 17:07


Метод KDTree() повертає об'єкт KDTree. Метод query() повертає відстань до найближчого сусіда та розташування сусідів.

from scipy.spatial import KDTree

points = [(1, -1), (2, 3), (-2, 3), (2, -3)]

kdtree = KDTree(points)

res = kdtree.query((1, 1))

print(res) # (2.0, 0)


#KDTrees // #theory // Python

Python 🇺🇦

20 Oct, 09:07


Використовуйте метод dijkstra, щоб знайти найкоротший шлях у графі від одного елемента до іншого.

import numpy as np
from scipy.sparse.csgraph import dijkstra
from scipy.sparse import csr_matrix

arr = np.array([
[0, 1, 2],
[1, 0, 0],
[2, 0, 0]
])

newarr = csr_matrix(arr)

print(dijkstra(newarr, return_predecessors=True, indices=0))
# (array([0., 1., 2.]), array([-9999, 0, 0]))


Аргумент return predecessors набуває логічного значення True, щоб повернути весь шлях обходу, інакше — False.

indexes
— індекс елемента для повернення всіх шляхів тільки з цього елемента. limit — максимальна вага шляху.

#dijkstra // #practice // Python

Python 🇺🇦

19 Oct, 09:07


class Foo:
def__new__(cls,*args,**kwargs):
print ('new', end=' ')
def__init__(self):
print('init', end=' ')

>>> Foo()
???


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

18 Oct, 18:02


Вакансія: Python Developer

Продуктова FinTech-компанія Treeum шукає на віддалену або офісну роботу в Києві Senior-розробника з досвідом роботи з Python від 5 років — для розробки, підтримки та оптимізації мікросервісів з акцентом на асинхронну роботу.

📝 Відкрити анкету

#python // #jobs // Архів книг

Python 🇺🇦

18 Oct, 09:18


Метод groupby() в itertools спершу проходить через ітерацію і групує значення на основі певного ключа. Потім він повертає ітератор (потік кортежів).

import itertools

a_list = [("Animal", "cat"),
("Animal", "dog"),
("Bird", "peacock"),
("Bird", "pigeon")]

an_iterator = itertools.groupby(a_list, lambda x : x[0])
for key, group in an_iterator:
key_and_group = {key : list (group)}
print(key_and_group)

# {'Animal': [('Animal', 'cat'), ('Animal', 'dog')]}
# {'Bird': [('Bird', 'peacock'), ('Bird', 'pigeon')]}


Оскільки groupby() перевіряє лише послідовні елементи, відсутність початкового сортування не призведе до угруповання записів так, як ви хочете.

#groupby // #practice // Python

Python 🇺🇦

17 Oct, 17:54


Відмінність статичних методів від звичайних в тому, що вони прив'язані до класу, а не об'єкту. Тобто, вони можуть бути викликані безпосередньо в класу.

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

@staticmethod
def substruct(x, y):
return x - y

Calculator.add = staticmethod(Calculator.add)
Calculator.add(10, 15)
# 25

Calculator.substruct (30, 20)
# 10


#Python // #theory // Вакансії IT

Python 🇺🇦

17 Oct, 11:11


Програмуємо гру "Змійка", ч.1

На 21-му міні-уроці відео-курсу "Python для початківців" автор, опираючись на всі попередні уроки й знання, створює власну гру, використовуючи pygame.

Мова: 🇺🇦

Тривалість: 8 хв

#Python // #lessons // Архів книг

Python 🇺🇦

16 Oct, 09:11


Метод fnmatch() перевіряє, чи ім'я файлу відповідає шаблонному рядку (він нечутливий до регістру).

Зазвичай fnmatch() робить порівняння, використовуючи ті самі правила обліку регістру, що й ОС.

from fnmatch import fnmatch

fnmatch('foo.txt', '*,txt') # True
fnmatch('foo.txt', '?oo. txt') # True
fnmatch('Dat45.csv', 'Dat [0-9]*') # True
names = ['Dat1.csv', 'Dat2.csv', 'config.ini', 'foo-py']
[name for name in names if fnmatch (name, 'Dat*,csv')]
# ['Dat1.csv', 'Dat2. csv']


Метод fnmatchcase() робить те саме, тільки він чутливий до регістру.

#fnmatch // #practice // Python

Python 🇺🇦

16 Oct, 07:10


Найкращий лайнокод — конкурс до дня народження robot_dreams⚡️

У жовтні robot_dreams відзначає 4 роки 🎉 і запрошує відсвяткувати в незвичній формі. Не треба переписувати конспекти на швидкість чи створювати MVP ― достатньо просто написати найепічніший однорядковий код. Головна умова ― що дивніше, то краще.

📌 Щоб взяти участь у конкурсі, потрібно:

❯❯ обрати одну із 5 запропонованих задач [або вигадати власну] і розвʼязати її за допомогою одного рядка коду
❯❯ надіслати код з 10 до 24 жовтня
❯❯ взяти участь у голосуванні серед 10 відібраних номінантів

🏆 Переможця оголосять 31 жовтня. Він отримає кубок найкращого лайнокодера України та грант розміром $1000 на будь-який курс в robot_dreams.

Усі деталі конкурсу та реєстрація тут 🔗

🤖 Приєднуйтесь, щоб знайти нестандартний розвʼязок цікавої задачі та позмагатися за призи.

Python 🇺🇦

15 Oct, 17:07


>>> from datetime import date, timedelta
>>> dt = date(2022, 11, 3)
>>> dt-timedelta(days=1)
???


👉 Відповідь

#Python // #practice // Архів книг

Python 🇺🇦

15 Oct, 09:07


Функції

На 20-му міні-уроці відео-курсу "Python для початківців" автор розповідає про функції — це фрагменти коду, призначені для розв'язання певної задачі, до яких можна багаторазово звертатись з різних місць основної програми.

Мова: 🇺🇦

Тривалість: 11 хв

#Python // #lessons // Архів книг

Python 🇺🇦

14 Oct, 18:36


Оновлення Python 3.13

Завдяки чому Python став настільки популярним, чому реліз 3.13 був перенесений на тиждень, та до чого тут GIL — про все це і про ключові оновлення Python 3.13 розповідається у свіжій статті.

Мова: 🇺🇦

#Python // #theory // Архів книг

Python 🇺🇦

14 Oct, 09:07


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

Але за допомогою shutil можна отримати навіть інформацію про пам'ять на жорсткому диску. Метод disk_usage повертає кількість всієї, зайнятої та вільної пам'яті.

import shutil

total_b, used_b, free_b = shutil.disk_usage('.')

gb = 10 ** 9

print('Total: {:6.2f} GB'.format(total_b / gb))
print('Used: {:6.2f} GB'.format(used_b / gb))
print('Free : {:6.2f} GB'.format(free_b / gb))

# Output:
# Total: 245.11 GB
# Used : 128.38 GB
# Free: 99.04 GB


Так як всі три значення повертаються в байтах, у прикладі ми їх перевели та вивели у гігабайти для кращої наочності.

#shutil // #practice // Python

Python 🇺🇦

13 Oct, 09:20


truncate() змінює розмір файлу до заданої кількості байтів. Якщо розмір не вказано, використається поточна позиція.

Зверніть увагу: якщо вказаний розмір перевищує поточний розмір файлу, результат буде залежати від платформи.

f = open ("demofile2.txt", "a")
f.truncate(20)
f.close()

f = open("demofile2.txt", "r")
print(f.read())


Файл може залишитися незмінним, збільшитися до вказаного розміру, якщо він був заповнений нулями, або збільшитися до вказаного розміру з невизначеним новим вмістом.

#truncate // #practice // Python

Python 🇺🇦

12 Oct, 18:01


Найкращі книги по Python

Добірка наших останніх публікацій із найбільш вартісними посібниками по мові Python:

🔴Python Data Science Handbook: 2nd Edition (🇬🇧, 2023) — обов’язковий довідник для наукових обчислень на Python.

🔴Django for Beginners (🇬🇧, 2020) — створюємо 5 реальних веб-додатків на Django Python.

🔴Machine Learning with Python Cookbook (🇬🇧, 2023) — 200+ рецептів для вирішення проблем машинного навчання.

🔴Mastering Python for Artificial Intelligence (🇬🇧, 2023) — шлях до вивчення основних навичок кодування.

🔴Learning Pandas 2.0 (🇬🇧, 2023) — вивчаємо головну бібліотеку обробки даних Python.

📚 Товариство, які ще знаєте вартісні українські чи англійські матеріали по Python?

#Python // #books // Вакансії IT

Python 🇺🇦

11 Oct, 17:07


Вакансія: Python Database Developer

Компанія Nova Digital, що входить до складу групи компаній "Нова пошта", шукає на віддалену або офісну роботу розробника з досвідом на Python 3+ від 2-х років — для створення та оптимізації ETL-воркфлоу, проектування та оптимізації архітектури БД.

📝 Відкрити анкету

#Python // #jobs // Архів книг

Python 🇺🇦

11 Oct, 10:57


Метод statistics.stdev() обчислює стандартне відхилення вибірки даних. Стандартне відхилення — це міра того, наскільки розкидані числа.

import statistics
print(statistics.stdev([1, 3, 5, 7, 9, 11]))
# 3.7416573867739413
print(statistics.stdev([2, 2.5, 1.25, 3.1, 1.75, 2.8]))
# 0.6925797186365383
print(statistics.stdev([-11, 5.5, -3.4, 7.1]))
# 8.414471660973927
print(statistics.stdev([1, 30, 50, 100]))
# 41.67633221226008


Велике стандартне відхилення свідчить про те, що дані розкидані, а невелике — що дані згруповані близько до середнього значення. Стандартне відхилення виявляється у тих самих одиницях, що й дані.

#Python // #practice // Архів книг