👍15
Сначала отработает самая последняя строка - она вызовет самую наружную функцию, в ней принтанется буква 'a'.
Далее у нас идет объявление двух функций подряд, а только потом вызов —> вызываться будет последняя объявленная функция, в которой написан вывод в принте 'c'.
Больше никаких вызовов/циклов и тд нет, значит функции будут завершать работу, и мы вернемся в место первого вызова, после чего код завершиться.
Итог: а с
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤3🔥3🤔1
Pythoner
Photo
В коде была опечатка, исправил, сейчас всё корректно, спасибо всем кто заметил и подсказал в комментариях ❤️🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
👌12👍4❤3
Библиотека bitcoinlib позволяет легко создавать и подписывать транзакции. Это можно сделать, используя класс Transaction. Вы можете добавить входы и выходы, затем подписать транзакцию с помощью своего приватного ключа. После этого вы можете воспользоваться функцией send, чтобы отправить транзакцию в сеть.
from bitcoinlib.transactions import Transaction
# Создаем новую транзакцию
tx = Transaction()
# Добавляем входы и выходы
tx.add_input('input_address', 'input_value')
tx.add_output('output_address', 'output_value')
# Подписываем транзакцию
tx.sign('private_key')
# Отправляем транзакцию
tx.send()
Библиотека bitcoinlib также предоставляет функции для работы с блокчейном. Вы можете получить информацию о блоках, транзакциях и адресах. Также есть возможность мониторить блокчейн на предмет новых транзакций или изменений в блоках.
from bitcoinlib.blocks import Block
# Получаем информацию о блоке
block = Block('block_hash')
print(block.info())
В дополнение к биткоину, bitcoinlib поддерживает работу с другими криптовалютами, такими как Litecoin и Dash. Это позволяет разработчикам создавать мульти-валютные приложения и услуги, используя единый интерфейс.
from bitcoinlib.wallets import HDWallet
# Создаем кошелек для Litecoin
ltc_wallet = HDWallet.create('my_litecoin_wallet', network='litecoin')
# Получаем баланс кошелька
print(ltc_wallet.balance())
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3❤2👀1
Python имеет библиотеку под названием speedtest-cli, которая облегчает проверку скорости вашего интернет-соединения. Этот модуль использует [speedtest.net](http://speedtest.net/) для проведения тестов. Установить его можно с помощью pip install speedtest-cli. После установки вы можете импортировать его в свою программу и использовать функции для проверки скорости.
Ваш код для проверки скорости может быть таким простым, как импорт модуля speedtest и вызов его функций для получения скоростей загрузки и загрузки. Пример кода может выглядеть так:
import speedtest
s = speedtest.Speedtest()
print(f"Download: {s.download()}")
print(f"Upload: {s.upload()}")
Этот код выдаст скорости загрузки и загрузки в битах в секунду.
При получении результатов вы можете использовать их по своему усмотрению. Вы можете просто отобразить их на экране, записать их в файл для отслеживания со временем или использовать их для проверки того, соответствует ли ваше интернет-соединение обещаниям вашего провайдера.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥5❤3
forms.Form. Этот класс определяет поля формы и правила их валидации. Например, для создания простой формы входа, мы можем определить следующий класс:from django import forms
class LoginForm(forms.Form):
username = forms.CharField()
password = forms.CharField(widget=forms.PasswordInput)
username и password. Поле username создается с помощью класса CharField, который позволяет вводить текстовые данные. Поле password также является CharField, но мы используем аргумент widget для определения типа поля ввода. В данном случае мы используем PasswordInput, который скрывает введенный пользователем текст.Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤4🔥1
По умолчанию Django использует SQLite в качестве базы данных. SQLite - это легковесная база данных, которая хранит данные в одном файле. Она хорошо подходит для небольших приложений и тестирования, но может быть недостаточно мощной для крупных и сложных приложений. Если вы планируете создавать крупные приложения, вам, возможно, потребуется использовать другую базу данных.
Django также поддерживает PostgreSQL и MySQL в качестве баз данных. Эти базы данных могут обрабатывать большие объемы данных и подходят для крупных и сложных приложений. При использовании этих баз данных вы можете использовать мощные функции, такие как репликация, кластеризация и балансировка нагрузки, что делает их идеальным выбором для больших проектов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5🔥2
x = [1, 2, 3]
y = x
print(x is y) # True
x = [1, 2, 3]
y = [1, 2, 3]
print(x is y) # False
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26❤3🔥3
В Python, чтобы скрыть атрибуты объекта, их нужно объявить как приватные, используя два подчеркивания перед именем атрибута. Например, для создания приватного атрибута
name нужно написать __name. Также для доступа к этому атрибуту извне класса нужно использовать специальные методы get и set.get возвращает значение приватного атрибута, а метод set устанавливает новое значение. Эти методы должны быть определены в самом классе. Например:class Person:
def __init__(self, name):
self.__name = name
def get_name(self):
return self.__name
def set_name(self, name):
self.__name = name
person = Person("John")
print(person.get_name()) # "John"
person.set_name("Mike")
print(person.get_name()) # "Mike"
- Защита данных от внешнего доступа
- Предотвращение случайных изменений данных
- Упрощение взаимодействия с объектами
- Сокрытие сложной логики работы объекта от пользователя
- Да, будет
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥3
center() выглядит следующим образом:string.center(width, fillchar)
где
width - ширина итоговой строки, fillchar - символ, который будет добавлен слева и справа от исходной строки для заполнения места (по умолчанию это пробел).center() может быть использован для создания выравнивания текста по центру в строке определенной ширины.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤5🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍6🔥1🥰1
Множественное назначение в Python позволяет присваивать нескольким переменным значения одновременно в одной строке кода. Это делает код более чистым и легко читаемым. Например, вместо того, чтобы присваивать значения переменным по отдельности, как в
x = 1; y = 2; z = 3, вы можете использовать множественное назначение, такое как x, y, z = 1, 2, 3.# Пример множественного назначения
x, y, z = 1, 2, 3
print(x) # Вывод: 1
print(y) # Вывод: 2
print(z) # Вывод: 3
Множественное назначение также может быть использовано для обмена значениями между переменными без использования дополнительной переменной. Например,
x, y = y, x позволит обменять значения x и y. Это очень полезно, особенно в задачах сортировки и алгоритмах.# Пример обмена значений
x, y = 1, 2
x, y = y, x
print(x) # Вывод: 2
print(y) # Вывод: 1
Множественное назначение тесно связано с кортежами в Python. В действительности, когда вы используете множественное назначение, Python автоматически упаковывает значения в кортеж и затем распаковывает их в переменные. Это значит, что вы можете использовать множественное назначение для распаковки кортежей, что упрощает работу с ними.
# Пример распаковки кортежа
t = (1, 2, 3)
x, y, z = t
print(x) # Вывод: 1
print(y) # Вывод: 2
print(z) # Вывод: 3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤3🔥1
isdisjoint() проверяет наличие общих элементов между двумя множествами и возвращает соответствующее булево значение. Этот метод может быть полезен, когда вам необходимо убедиться, что два множества не пересекаются перед выполнением определенных операций.Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3🔥2⚡1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🔥8❤5
Синхронный код - это код, который выполняется последовательно. Это означает, что каждая операция должна быть выполнена до того, как начнется следующая операция. Это может быть очень медленным, особенно когда требуется много времени для выполнения каждой операции. Например, если вы напишете код для загрузки нескольких изображений из Интернета, каждый запрос на загрузку будет выполнен последовательно, что может занять много времени.
Асинхронный код - это код, который может выполнять несколько задач одновременно. В Python асинхронный код реализуется с помощью библиотеки asyncio. Она позволяет использовать асинхронные функции и корутины для написания более эффективного кода. Например, если вы используете асинхронный код для загрузки нескольких изображений из Интернета, каждый запрос на загрузку может выполняться параллельно, что существенно ускорит процесс загрузки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤5🔥2
scrubadub.clean для обработки строки текста, scrubadub.clean_bytes для обработки байтовых данных и другие.Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥3
Метод pack() используется для организации виджетов в блоках перед размещением их в родительском виджете. Когда виджеты упакованы, они автоматически изменяют размеры, чтобы поместиться в доступном пространстве. Метод pack() принимает несколько параметров, таких как side, fill, expand и anchor, которые можно использовать для управления позиционированием виджетов.
Вот пример использования метода pack() для позиционирования виджета кнопки:
import tkinter as tkВ приведенном выше примере мы создаем виджет кнопки и упаковываем его слева в родительском виджете. Мы также устанавливаем параметры fill на both и expand на True, чтобы позволить виджету заполнить доступное пространство. Опции padx и pady добавляют отступы к виджету.
root = tk.Tk()
button = tk.Button(root, text="Нажми меня!")
button.pack(side="left", fill="both", expand=True, padx=10, pady=10)
root.mainloop()
Метод place() используется для позиционирования виджетов в конкретных координатах внутри родительского виджета. В отличие от pack(), метод place() не автоматически изменяет размеры виджетов, что может усложнить создание отзывчивых макетов. Метод place() принимает несколько параметров, таких как x, y, width, height и anchor, которые можно использовать для управления позиционированием виджетов.
Вот пример использования метода place() для позиционирования виджета метки:
import tkinter as tkВ приведенном выше примере мы создаем виджет метки и размещаем его в координатах (50, 50) внутри родительского виджета.
root = tk.Tk()
label = tk.Label(root, text="Привет, мир!")
label.place(x=50, y=50)
root.mainloop()
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤4🔥1