Rumah > Artikel > pembangunan bahagian belakang > Penguatkuasaan hujah kata kunci fungsi dalam Python
Sebelum memulakan peranan baharu saya beberapa bulan lalu, sudah lama sangat saya tidak memprogramkan dalam Python.
Secara kebetulan, saya terus bekerja dalam peranan sejak beberapa tahun lalu yang melibatkan sama ada Javascript timbunan penuh atau kebanyakannya Javascript dengan sedikit bahasa lain (terkini Go).
Jadi seronok untuk meregangkan otot saya sedikit dalam bahasa yang berbeza, terutamanya bahasa yang mudah diakses seperti Python.
Satu ciri bahasa yang saya nikmati sekarang ialah penguatkuasaan hujah kata kunci kepada fungsi menggunakan sifat kw_only yang boleh diakses dalam penghias @dataclass.
Ia menghasilkan kod yang kelihatan seperti ini:
from dataclasses import dataclass @dataclass(kw_only=True) class Person: name: str age: int city: str person1 = Person("Alice", 30, "New York")
menimbulkan ralat, kerana penggunaan kw_only mengharapkan untuk melihat sesuatu seperti berikut:
from dataclasses import dataclass @dataclass(kw_only=True) class Person: name: str age: int city: str = "Unknown" person1 = Person(name="Alice", age=30, city="New York")
Walaupun ralat timbul:
TypeError Traceback (most recent call last) Cell In[8], line 10 7 city: str = "Unknown" ---> 10 person1 = Person("Alice", 30, "New York") TypeError: Person.__init__() takes 1 positional argument but 4 were given
adalah "jelas" kerana ia akan menunjukkan kepada anda bahawa terdapat terlalu banyak hujah kedudukan yang disediakan, jika anda tidak biasa dengan kw_only ia boleh menjadi agak membingungkan kerana ia kelihatan seperti anda menggunakan fungsi tersebut dengan betul.
Jika anda berasal dari latar belakang Javascript/Typescript seperti saya, atau mempunyai pengalaman sebelumnya dengan bahasa seperti Go atau Rust yang menguatkuasakannya menggunakan sesuatu seperti struct di mana anda boleh memberikan hujah dalam apa jua susunan yang anda suka selagi kerana sifat mengikut bentuk objek/struktur, maka ini akan terasa biasa dan mungkin merupakan tambahan yang dialu-alukan pada kod Python anda.
Ini amat berguna jika anda menggunakan sejumlah besar hujah, sesetengah daripadanya mungkin pilihan.
Atas ialah kandungan terperinci Penguatkuasaan hujah kata kunci fungsi dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!