🤔11😢3🤨3👍1
Переданные параметры никак не влияют на ответ, важно только их количество.
Важно помнить, что self принимает в себя сам объект. Если вызов идет через объект, то self передается автоматически.
Please open Telegram to view this post
VIEW IN TELEGRAM
🤯11❤7🔥3🤓2👍1👀1
Метод .isnumeric() в Python используется для проверки, содержит ли строка только числа. Если все символы в строке являются числами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод очень полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только числа.
str1 = '12345'
print(str1.isnumeric()) # Вывод: True
str2 = '12345abc'
print(str2.isnumeric()) # Вывод: False
Метод .isalpha() в Python, с другой стороны, используется для проверки, содержит ли строка только буквы. Если все символы в строке являются буквами, этот метод возвращает значение True. В противном случае возвращается False. Этот метод также полезен при валидации ввода данных, когда вы хотите убедиться, что пользователь ввел только буквы.
str3 = 'abc'
print(str3.isalpha()) # Вывод: True
str4 = 'abc123'
print(str4.isalpha()) # Вывод: False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤5🤝2🔥1👏1
Сам Copilot
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥3👍2👏1
Python использует объекты типа str для хранения строковых значений. Когда вы создаете строку в Python, она сохраняется в памяти в виде последовательности символов Unicode. Однако, когда необходимо сохранить строку в файл или передать ее по сети, она должна быть преобразована в байты, и для этого используется определенная кодировка. Это происходит с помощью метода encode.
Пример:
text = 'Пример текста'
encoded_text = text.encode('utf-8')
В этом примере мы создаем строку text, содержащую русские символы, и затем преобразуем ее в байты, используя кодировку UTF-8. Результатом будет объект типа bytes, содержащий закодированные данные.
Обратное преобразование из байтов в строку осуществляется с помощью метода decode:
decoded_text = encoded_text.decode('utf-8')Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤4🔥2👻2
Одной из основных функций Pydantic является проверка данных. Pydantic позволяет определить структуру данных в Python-классе и автоматически проверять, соответствует ли входной объект этой структуре. Например, мы можем создать класс "Person" со свойствами "name" и "age", а затем использовать этот класс для проверки данных о человеке, которые мы получаем из внешнего источника.
pythonВ этом примере мы создали экземпляр класса "Person" из словаря "person_data". Pydantic автоматически проверяет, что ключи "name" и "age" существуют в словаре и что "name" имеет тип "str", а "age" - тип "int".
from pydantic import BaseModel
class Person(BaseModel):
name: str
age: int
person_data = {"name": "Alice", "age": 25}
person = Person(**person_data)
В следующем посте продолжим рассматривать Pydantic, а точнее сериаллизацию данных и создание своих классов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4❤3👀1
Еще одна полезная функция Pydantic - это сериализация данных. При сериализации объект Python преобразуется в JSON-подобную структуру данных, которая может быть передана по сети или сохранена в файл. Pydantic позволяет автоматически сериализовать объекты Python, определенные в классах Pydantic.
pythonВ этом примере мы создали экземпляр класса "Person", а затем сериализовали его в формат JSON с помощью метода "json()". Результатом будет строка JSON с полями "name" и "age", соответствующими свойствам объекта "person".
class Person(BaseModel):
name: str
age: int
person = Person(name="Alice", age=25)
person_json = person.json()
Pydantic также позволяет создавать собственные классы с валидацией и автоматической сериализацией данных. Для создания такого класса необходимо унаследоваться от базового класса Pydantic "BaseModel" и определить свойства класса с аннотациями типов данных.
pythonВ этом примере мы создали класс "User" со свойствами "username", "password", "email" и "age". Свойство "age" определено как необязательное с помощью "Optional[int]". Если значение "age" не указано при создании экземпляра класса, то оно будет равно "None".
class User(BaseModel):
username: str
password: str
email: str
age: Optional[int] = None
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🔥2⚡1👀1
👍5❤3👏1🤓1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥5❤3🤯2👀1
>>> num = [4, 8, 5, 8]
Можно использовать множества для удаления повторов. >>> list(set(num))
[8, 4, 5]
Мы действительно получили список уникальных элементов, вот только порядок нарушился. Python 3.7 для этих целей подойдут словари, у них гарантированно сохраняется порядок вставки, а так же ключи являются уникальными. >>> list(dict.fromkeys(num))
[4, 8, 5]
Создали словарь с ключами из num и значениями None, преобразовали в список Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤5🔥2
Нужен результат, например в виде списка, прямо сейчас для дальнейшего выполнения программы — используйте генераторы коллекций.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤4👍2
Это стандарт, который расшифровывается как: Криптографически стойкий генератор псевдослучайных чисел. В отличие от обычных генераторов псевдослучайных чисел (PRNG), CSPRNG спроектированы так, чтобы быть устойчивыми к криптографическим атакам и обеспечивать высокий уровень безопасности.
1. CSPRNG нацелен на создание выходных данных, которые статистически неотличимы от истинной случайности. Это означает, что сгенерированные числа должны обладать свойствами случайности, такими как равномерное распределение и непредсказуемость.
2. Даже если злоумышленник знает алгоритм генератора и предыдущие выходные данные, он все равно не сможет вычислять будущие значения, так как данные непредсказуемы.
3. CSPRNG защищен от попытки предсказания данных и влияния на сгенерированные числа.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤5🔥2
s = "Привет, МИР!"
print(s.casefold()) # выведет "привет, мир!"
Функция casefold() может быть полезна во многих задачах. Она может использоваться для сравнения строк без учета регистра. Это может быть полезно при поиске определенной строки в большом текстовом файле, где регистр может варьироваться.
Однако! есть некоторые особенности ее работы, которые следует учитывать. Во-первых, при использовании этой функции может произойти потеря данных, если символы не могут быть приведены к нижнему регистру. Во-вторых, эта функция может работать медленнее, чем другие функции для приведения к нижнему регистру, такие как lower().
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤4🔥3🤬1👌1
Многопоточность - это метод, который позволяет коду выполняться параллельно. Это означает, что два или более куска кода могут работать одновременно, что делает обработку данных более эффективной. В Python для создания многопоточных программ можно использовать модуль threading. При использовании этого модуля, каждый цикл будет работать в своем собственном потоке, что позволяет им работать одновременно.
Для создания двух одновременно работающих циклов вам потребуется создать два потока. Каждый поток будет выполнять свой собственный цикл. Вот пример того, как это может выглядеть:
import threading
import time
def loop1():
for i in range(10):
print('Loop 1:', i)
time.sleep(1)
def loop2():
for i in range(10):
print('Loop 2:', i)
time.sleep(1)
thread1 = threading.Thread(target=loop1)
thread2 = threading.Thread(target=loop2)
thread1.start()
thread2.start()
thread1.join()
thread2.join()
В этом примере два цикла выполняются одновременно, каждый в своем собственном потоке.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤3🔥2
Одним из главных преимуществ SQLAlchemy является его ORM (Object-Relational Mapping) слой. ORM - это способ связать объекты Python с записями в базе данных. SQLAlchemy позволяет создавать классы Python, которые отображают таблицы в базе данных, и работать с ними как с обычными объектами. Это упрощает взаимодействие с базой данных и уменьшает количество кода, необходимого для выполнения задач.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4👀2🔥1