*Args Dan **Kwargs Di Python

*args



Sintaks khusus *args pada fungsi di Python dipakai untuk melewatkan sembarang jumlah argumen ke fungsi. *args ini dipakai untuk melewatkan satu atau beberapa argumen non kata kunci.





Sintaks menggunakan tanda * untuk mendapat sembarang jumlah argumen. Nama args mampu saja diganti dengan nama lain, hanya saja yang umum dipakai adalah args.



*args mengizinkan kita untuk memasukkan beberapa argumen yang jumlahnya tidak ditentukan.



Sebagai contoh: kita ingin membuat fungsi yang mendapat sejumlah bilangan, dan mengalikannya satu persatu. Ini mampu menggunakan *args.



Dengan menggunakan tanda *, variabel yang diasosiasikan dengan * menjadi iterable, yang artinya mampu kita iterasikan dan jadikan input untuk fungsi orde yang lebih tinggi mirip map, filter, dan lain sebagainya



Contoh penggunaan *args:



# Program python untuk penggunaan *args

def test(arg1, *argv):
print "argumen pertama :", arg1
for arg in argv:
print "Argumen berikutnya lewat *argv :", arg

test('Hello', 'Welcome', 'to', 'Pythonindo', 'man')


Output



argumen pertama : Hello
Argumen berikutnya lewat *argv : Welcome
Argumen berikutnya lewat *argv : to
Argumen berikutnya lewat *argv : Pythonindo
Argumen berikutnya lewat *argv : man




**kwargs



Sintaks khusus **kwargs dipakai untuk melewatkan sembarang jumlah argumen yang menggunakan kata kunci ke fungsi. Kita menggunakan dua tanda bintang di sini.



Argumen ber-kata kunci adalah argumen dimana kita melewatkan argumen berpasangan key dan value.



Kita mampu menyamakan kwargs ini dengan dictionary. Kita mampu mengiterasikan kwargs dengan menggunakan kata kuncinya.



 



def hello(**kwargs):
if kwargs is not None:
for key, value in kwargs.iteritems():
print "%s == %s" %(key, value)


Output



>>> hello(name = 'Budi Alam')
name = Budi Alam


 





Menggunakan *args dan **kwargs



Berikut ini adalah pola penggunaan *args dan **kwargs.



 



test(arg1, arg2, arg3):
print("arg1:", arg1)
print("arg2:", arg2)
print("arg3:", arg3



Output



# dengan *args
>>> args = ("hey", 14, "joey")
>>> test(*args)
arg1: hey
arg2: 14
arg3: joey

# dengan **kwargs:
>>> kwargs = {"arg1" : "hey", "arg2" : 14, "arg3" : "joey"}
>>> testify(**kwargs)
arg1 : hey
arg2 : 14
arg3 : joey


 



Popular posts from this blog

Subitems Listview Berwarna Selang Seling

Source Code Aplikasi Tagihan Internet Memakai Php