Berapa banyak argumen yang dapat diteruskan ke fungsi python?

Untuk menerima sejumlah argumen posisi, kita perlu menggunakan operator

>>> greet("Trey")
Hello Trey
2 saat mendefinisikan fungsi ini. Kami akan mengganti
>>> greet("Trey")
Hello Trey
1 dengan
>>> greet("Trey")
Hello Trey
4

>>> def greet(*names):
..     for name in names:
..         print("Hello", name)
...

Itu

>>> greet("Trey")
Hello Trey
4 dalam argumen kami memberi tahu Python bahwa kami ingin menangkap semua argumen posisi yang diberikan ke fungsi ini, ke dalam tuple, arahkan variabel
>>> greet("Trey")
Hello Trey
6 ke tuple itu

Sekarang ketika kita memanggil

>>> greet("Trey")
Hello Trey
0 hanya dengan satu nama, fungsinya sama seperti sebelumnya

>>> greet("Trey")
Hello Trey

Tapi kita juga bisa menyebutnya dengan banyak nama untuk menyapa banyak orang

>>> greet("Trey", "Jo")
Hello Trey
Hello Jo
>>> greet("Trey", "Jo", "Ian")
Hello Trey
Hello Jo
Hello Ian
_

Bahkan kita bisa menyebutnya tanpa nama

Tuple

>>> greet("Trey")
Hello Trey
6 dalam fungsi
>>> greet("Trey")
Hello Trey
0 kosong dalam hal ini sehingga loop tidak melakukan apa-apa. Bukan kesalahan untuk tidak memberikan argumen saat Anda menggunakan
>>> greet("Trey")
Hello Trey
2

Fungsi yang menerima argumen tak terbatas

Apa contoh fungsi yang menerima sejumlah argumen posisi?

Sejumlah fungsi bawaan Python benar-benar berfungsi seperti ini. Misalnya, fungsi menerima sejumlah iterable untuk diulang pada waktu yang sama

>>> help(zip)

class zip(object)
 |  zip(*iterables) --> zip object

Itu

>>> greet(name="Trey")
Hello Trey
_2 dalam definisi fungsi
>>> greet(name="Trey")
Hello Trey
1 (kelas
>>> greet(name="Trey")
Hello Trey
1 secara teknis) berarti ia menerima sejumlah iterables. Ketika Anda memberikan
>>> greet(name="Trey")
Hello Trey
_1 loop ke semua iterables itu secara bersamaan

The

>>> greet(name="Trey")
Hello Trey
_6 dan fungsi, juga menerima sejumlah argumen posisi

min(arg1, arg2, *args, *[, key=func]) -> value

Perhatikan bahwa dalam dokumentasi

>>> greet(name="Trey")
Hello Trey
_6 bahwa
>>> greet(name="Trey")
Hello Trey
9 dan
>>> greet("Trey", "Jo")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 2 were given
>>> greet("Trey", "Jo", "Ian")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 3 were given
0 sebelum
>>> greet("Trey", "Jo")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 2 were given
>>> greet("Trey", "Jo", "Ian")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 3 were given
1. Dimungkinkan untuk menentukan fungsi Anda sendiri seperti ini. Kita dapat menempatkan argumen posisi lain (wajib) sebelum semua argumen posisi (opsional) lainnya yang kita tangkap

Anda juga dapat meneruskan sejumlah argumen ke fungsi

>>> greet("Trey", "Jo")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 2 were given
>>> greet("Trey", "Jo", "Ian")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 3 were given
2

>>> help(print)

print(...)
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)

Dokumentasinya sedikit berbeda dengan. itu tidak benar-benar menunjukkan bahwa

>>> greet("Trey")
Hello Trey
_2 operator (melainkan itu menunjukkan
>>> greet("Trey", "Jo")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 2 were given
>>> greet("Trey", "Jo", "Ian")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 3 were given
5 untuk menunjukkan bahwa sejumlah nilai diterima)

Anda dapat memberikan sejumlah argumen ke

>>> greet("Trey", "Jo")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 2 were given
>>> greet("Trey", "Jo", "Ian")
Traceback (most recent call last):
  File "", line 1, in 
TypeError: greet() takes 1 positional argument but 3 were given
2 dan itu akan mencetak semuanya dengan spasi di antara mereka

Gunakan >>> greet("Trey") Hello Trey _2 untuk menerima sejumlah argumen posisi

Untuk membuat fungsi yang menerima sejumlah argumen, Anda dapat menggunakan operator

>>> greet("Trey")
Hello Trey
2 dan kemudian beberapa nama variabel saat mendefinisikan argumen fungsi Anda. Ini membuat Python tahu bahwa ketika fungsi itu dipanggil dengan argumen posisi apa pun, semuanya harus ditangkap ke dalam tuple (yang akan ditunjuk oleh variabel itu)

Jadi jika Anda ingin membuat fungsi yang menerima sejumlah argumen posisi, gunakan operator

>>> greet("Trey")
Hello Trey
2

Berapa banyak argumen yang dapat diteruskan ke suatu fungsi?

Jawaban 1. Dalam hal meneruskan argumen ke fungsi, jumlah maksimum argumen yang mungkin untuk diteruskan adalah 253 untuk satu fungsi bahasa pemrograman C++. Selanjutnya, pemisahan argumen dilakukan dengan koma.

Bisakah Anda meneruskan banyak argumen ke suatu fungsi dengan Python?

Kita dapat meneruskan beberapa argumen ke fungsi python dengan menentukan parameter formal dalam definisi fungsi .

Bisakah fungsi Python mengambil argumen dalam jumlah tak terbatas?

Teknik serupa dapat digunakan untuk membuat fungsi yang dapat menangani pasangan kata kunci/argumen dalam jumlah tak terbatas. Jika argumen ke suatu fungsi didahului oleh dua tanda bintang, maka di dalam fungsi tersebut, Python akan mengumpulkan semua pasangan kata kunci/argumen yang tidak secara eksplisit dinyatakan sebagai argumen ke dalam kamus