Skip to content

Instantly share code, notes, and snippets.

View jacoor's full-sized avatar
💭
Building Community: https://pymasters.pl

Jacek Ostański jacoor

💭
Building Community: https://pymasters.pl
View GitHub Profile
@jacoor
jacoor / test_example.py
Created July 4, 2023 14:49
model form test
def test_model_form_contact_fields():
form = ModelContactForm()
assert len(form.fields) == 4
assert "email" in form.fields
assert "first_name" in form.fields
assert "last_name" in form.fields
assert "message" in form.fields
class Pojazd:
def __init__(self, predkosc: int, kolor: str) -> None:
self.predkosc: int = predkosc
self.kolor: str = kolor
def jedz(self) -> None:
print("Pojazd jedzie.")
def zatrzymaj(self) -> None:
print("Pojazd zatrzymuje się.")

Python automatycznie rozpakowuje *args i **kwargs do odpowiednich pozycji w sygnaturze funkcji. Jeśli po tym rozpakowaniu okaże się, że funkcja nie ma odpowiednich parametrów, wtedy zostanie zgłoszony błąd TypeError. Przyjrzyjmy się temu bliżej.

Jak Python rozpakowuje *args i **kwargs

  1. Rozpakowywanie *args

    *args pozwala funkcji przyjmować dowolną liczbę argumentów pozycyjnych. Te argumenty są przekazywane jako krotka.

    def example_func(a, b, *args):
@jacoor
jacoor / models.py
Last active December 11, 2024 08:47
Django image validator example
avatar = models.ImageField(
upload_to=user_avatar_path,
null=True,
blank=True,
default=None,
validators=[
FileExtensionValidator(allowed_extensions=["jpg", "jpeg", "png"]),
validate_image_file, # Reusable image validation
],
)