Пример:
def example():
x = 10 # x — локальная переменная
print(x)
example()
print(x) # Ошибка: x не определена в глобальной области
Локальные переменные имеют приоритет над глобальными, если имена совпадают. Для изменения глобальной переменной внутри функции используется ключевое слово
global
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3
Обычные методы (instance methods) принимают первым аргументом
self
— ссылку на экземпляр класса. Вызываются через экземпляр:
class MyClass:
def instance_method(self):
return "This is an instance method"
obj = MyClass()
obj.instance_method() # Вызов метода
Методы класса (class methods) принимают
cls
— ссылку на класс. Декорируются @classmethod
. Вызываются через класс или экземпляр:
class MyClass:
@classmethod
def class_method(cls):
return "This is a class method"
MyClass.class_method() # Вызов через класс
Статические методы (static methods) не принимают
self
или cls
. Декорируются @staticmethod
. Вызываются через класс или экземпляр:
class MyClass:
@staticmethod
def static_method():
return "This is a static method"
MyClass.static_method() # Вызов через класс
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤1
def decorator1(func):
def wrapper():
print("Decorator 1")
func()
return wrapper
def decorator2(func):
def wrapper():
print("Decorator 2")
func()
return wrapper
@decorator1
@decorator2
def my_function():
print("Original function")
my_function()
В этом примере сначала применяется
decorator2
, затем decorator1
. При вызове my_function
вывод будет:
Decorator 1
Decorator 2
Original function
Декораторы оборачивают функцию слоями, изменяя её поведение.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
insert
.
my_list = [1, 2, 3, 4]
my_list.insert(2, 'new')
print(my_list) # [1, 2, 'new', 3, 4]
Первый аргумент — индекс, на который нужно вставить элемент. Второй аргумент — сам элемент. Если индекс выходит за пределы списка, элемент добавляется в конец.
my_list.insert(10, 'end')
print(my_list) # [1, 2, 'new', 3, 4, 'end']
Метод изменяет исходный список и не возвращает новое значение.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9💯2
CREATE TABLE
.
CREATE TABLE users (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE
);
В этом примере создается таблица
users
с тремя столбцами: id
, username
и email
. id
является первичным ключом с автоматическим инкрементом, username
— обязательное поле, а email
должно быть уникальным.
CREATE TABLE orders (
order_id INT PRIMARY KEY,
user_id INT,
FOREIGN KEY (user_id) REFERENCES users(id)
);
Вторая таблица
orders
создается с внешним ключом, который ссылается на столбец id
таблицы users
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥4
in
используется для проверки наличия элемента в последовательности (например, списке, строке, кортеже) или ключа в словаре. Возвращает True
, если элемент найден, и False
, если нет.
numbers = [1, 2, 3, 4, 5]
print(3 in numbers) # True, так как 3 есть в списке
print(6 in numbers) # False, так как 6 отсутствует
Также
in
применяется для проверки подстроки в строке:
text = "Hello, world!"
print("world" in text) # True, подстрока найдена
Для словарей
in
проверяет наличие ключа:
data = {"name": "Alice", "age": 25}
print("name" in data) # True, ключ существует
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1
next()
используется для получения следующего значения из генератора. При каждом вызове next()
генератор выполняет код до ключевого слова yield
и возвращает соответствующее значение. Если элементы закончились, вызывается исключение StopIteration
.
def simple_generator():
yield 1
yield 2
yield 3
gen = simple_generator()
print(next(gen)) # 1, первое значение
print(next(gen)) # 2, второе значение
print(next(gen)) # 3, третье значение
Можно указать значение по умолчанию вторым аргументом, чтобы избежать исключения
StopIteration
:
print(next(gen, "No more items")) # No more items, элементы закончились
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):
print(index, fruit)
Результат:
0 apple
1 banana
2 cherry
Функция полезна, когда требуется отслеживать позицию элемента в последовательности, например, при обработке списков или других коллекций. Также можно указать начальное значение индекса с помощью параметра
start
.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6👍2
int()
преобразует переданное значение в целое число. Она может принимать строку, число с плавающей точкой или другой объект, поддерживающий преобразование в целое число. Если передаётся строка, можно указать систему счисления (по умолчанию — десятичная).
number = int("42") # Преобразует строку "42" в целое число 42
float_to_int = int(3.14) # Преобразует 3.14 в 3 (отбрасывает дробную часть)
binary = int("1010", 2) # Преобразует двоичную строку "1010" в число 10
Если преобразование невозможно (например, при передаче нечисловой строки), возникает исключение
ValueError
. Функция полезна для обработки пользовательского ввода или преобразования данных.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2
help()
используется для получения справочной информации о модулях, классах, функциях и других объектах в Python. Она выводит документацию, доступную через docstring.
help(len) # Получить информацию о функции len
help(str) # Получить документацию по классу str
Если вызвать
help()
без аргументов, откроется интерактивный режим, где можно вводить названия объектов для получения справки. Это полезно для изучения встроенных модулей и функций, а также для проверки документации собственного кода.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤1
type()
используется для определения типа объекта или создания нового типа. При передаче объекта в качестве аргумента она возвращает его тип, например, int
, str
, list
и т.д. Это полезно для проверки типа данных во время выполнения программы.
x = 42
print(type(x)) # Вывод: <class 'int'> — тип объекта x
Кроме того,
type()
может использоваться для динамического создания новых типов. При передаче трех аргументов (имя, базовые классы и словарь атрибутов) она создает новый класс.
MyClass = type('MyClass', (), {'attr': 100})
obj = MyClass()
print(obj.attr) # Вывод: 100 — доступ к атрибуту созданного класса
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4
json
. Данные сначала сериализуются в JSON-формат с помощью функции json.dumps()
, а затем записываются в файл с использованием стандартных методов работы с файлами.Пример:
import json
data = {
"name": "Alice",
"age": 30,
"city": "New York"
}
with open("data.json", "w") as file:
json.dump(data, file, indent=4)
В этом примере словарь
data
записывается в файл data.json
. Параметр indent=4
добавляет отступы для удобного чтения файла. Функция json.dump()
автоматически преобразует данные в JSON и записывает их в файл.Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤2
Для объединения двух множеств в Python используется метод
Или с использованием оператора |:
Оба метода не изменяют исходные множества, а возвращают новое.
Ставь👍 , если было полезно!
Больше ответов на сайте👈
✈️ Python собеседования
union()
или оператор |. Оба способа создают новое множество, содержащее все уникальные элементы из обоих исходных множеств.
set1 = {1, 2, 3}
set2 = {3, 4, 5}
combined_set = set1.union(set2) # {1, 2, 3, 4, 5}
Или с использованием оператора |:
combined_set = set1 | set2 # {1, 2, 3, 4, 5}
Оба метода не изменяют исходные множества, а возвращают новое.
Ставь
Больше ответов на сайте
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤1