Kami melanjutkan perjalanan kami melalui fungsi Python dengan melihat argumen opsional dan nilai default Show
Di artikel ini, Anda akan melihat cara menentukan fungsi dengan argumen opsional. Nilai default digunakan jika argumen tidak disertakan dalam pemanggilan fungsi Ikhtisar Seri Fungsi Menengah PythonBerikut ikhtisar tujuh artikel dalam seri ini
Menggunakan Argumen Opsional Dengan Nilai DefaultMari membangun fungsi yang sama yang digunakan di artikel sebelumnya di seri ini def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5) # 2. greet_person("Kevin") Salah satu panggilan ini menimbulkan kesalahan. Bisakah Anda menebak yang mana? Mari kita lihat yang pertama. Panggilan pertama berfungsi dengan baik. Ini menggunakan dua argumen posisi def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5) Keluarannya adalah Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today?_ Namun, panggilan kedua menimbulkan kesalahan def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 2. greet_person("Kevin") Keluarannya adalah Traceback (most recent call last): File "...", line 6, in <module> greet_person("Kevin") TypeError: greet_person() missing 1 required positional argument: 'number'_ Di sinilah mengetahui istilah yang kami perkenalkan di artikel sebelumnya membantu. Kata kesalahan def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)_6 Anda mengatakan Anda akan memberikan dua argumen saat Anda mendefinisikan fungsi tetapi hanya memberikan satu. Python tidak bisa hidup dengan itu, bisa dimengerti. Ada informasi yang hilang. Oleh karena itu, tidak dapat menjalankan fungsi Namun, Anda dapat menentukan fungsi sehingga parameter def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)7 memiliki nilai default. Ini menjadikan argumen posisi kedua sebagai argumen opsional def greet_person(person, number=2): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5) # 2. greet_person("Kevin")_ Outputnya sekarang baik untuk kedua panggilan Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Sara! How are you doing today? Hello Kevin! How are you doing today? Hello Kevin! How are you doing today? Di tanda tangan fungsi, Anda menambahkan nilai default menggunakan tanda sama dengan tepat setelah nama parameter def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)7. Artinya, jika Anda tidak memberikan argumen untuk parameter ini, nilai default 2 akan digunakan. Jika Anda memberikan argumen posisi kedua, argumen itu akan digunakan, seperti dalam panggilan greet_person("Sara", 5) Parameter Dengan Nilai Default Harus Datang Setelah Yang TanpaSekarang, untuk beberapa aturan Anda tidak bisa melanggar. Saat Anda menentukan fungsi, Anda tidak dapat menempatkan parameter dengan nilai default sebelum parameter yang tidak memiliki default def greet_person(number=2, person): for greeting in range(number): print(f"Hello {person}! How are you doing today?") Ketika Anda menjalankan ini, Anda mendapatkan kesalahan File "...", line 1 def greet_person(number=2, person): ^^^^^^ SyntaxError: non-default argument follows default argument Perhatikan bahwa dalam kasus ini, kesalahan dimunculkan saat mendefinisikan fungsi dan bukan saat memanggilnya. Pesan kesalahan membantu menyatakan apa masalahnya def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)_9 Termasuk Lebih Banyak Argumen OpsionalAnda dapat memiliki kedua parameter dengan nilai default jika Anda mau. Ini berarti Anda dapat memanggil fungsi tanpa argumen, satu argumen, atau kedua argumen def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)0 Inilah output yang menunjukkan ketiga panggilan fungsi bekerja dengan baik def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)_1 Dan karena kedua argumen bersifat opsional, Anda bahkan dapat memanggil fungsi hanya menggunakan argumen kedua tetapi bukan yang pertama. Namun, untuk melakukan ini, Anda harus menggunakan argumen bernama dan bukan argumen posisi def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)_2 Keluaran def greet_person(person, number): for greeting in range(number): print(f"Hello {person}! How are you doing today?") # 1. greet_person("Sara", 5)_3 Banyak Cara Mengacu Pada Hal Yang SamaCatatan tentang terminologi. Anda akan menemukan beberapa cara orang mengacu pada konsep ini
Tapi saran saya jangan terlalu khawatir tentang teknis ini pada awalnya Kata AkhirFungsi dengan parameter opsional memberikan lebih banyak fleksibilitas kepada pengguna yang memanggil fungsi tersebut. Itu membuat fungsi lebih mudah digunakan karena dapat digunakan hanya dengan argumen yang diperlukan sambil tetap memungkinkan pengguna untuk memasukkan argumen opsional Apa argumen opsional di Python?Argumen Opsional dengan Python
. Nilai default untuk argumen dapat ditentukan menggunakan operator penugasan. Saat memanggil fungsi, tidak ada persyaratan untuk memberikan nilai untuk argumen opsional. An argument in Python that has a default value is called an optional argument. A default value for an argument can be specified using the assignment operator. When calling a function, there is no requirement to provide a value for an optional argument.
Apa argumen opsional dalam fungsi?Argumen opsional memungkinkan Anda menghilangkan argumen untuk beberapa parameter . Kedua teknik tersebut dapat digunakan dengan metode, pengindeks, konstruktor, dan delegasi. Saat Anda menggunakan argumen bernama dan opsional, argumen dievaluasi sesuai urutan kemunculannya dalam daftar argumen, bukan daftar parameter.
Bisakah suatu fungsi memiliki parameter opsional?Parameter opsional sangat bagus untuk menyederhanakan kode, dan menyembunyikan fungsi lanjutan namun tidak sering digunakan . Jika sebagian besar waktu Anda memanggil fungsi menggunakan nilai yang sama untuk beberapa parameter, Anda harus mencoba menjadikan parameter tersebut opsional untuk menghindari pengulangan.
Bagaimana Anda menunjukkan argumen opsional?Untuk menunjukkan argumen opsional, Kurung siku biasanya digunakan, dan juga dapat digunakan untuk mengelompokkan parameter yang harus ditentukan bersama. Untuk menunjukkan argumen yang diperlukan, tanda kurung siku biasanya digunakan, mengikuti konvensi pengelompokan yang sama dengan tanda kurung siku. |