Fungsi panggilan python dengan argumen variabel

Dalam Python, dengan menambahkan * dan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0 (satu atau dua tanda bintang) ke kepala nama parameter dalam definisi fungsi, Anda dapat menentukan jumlah argumen yang berubah-ubah (argumen dengan panjang variabel) saat memanggil fungsi

Secara konvensi, nama

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
1 (argumen) dan
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
2 (argumen kata kunci) sering digunakan, tetapi selama * dan
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0 diberi judul, tidak ada masalah dengan nama lain. Contoh kode di bawah ini menggunakan nama
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
1 dan
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
2

Artikel ini menjelaskan konten berikut

  • def my_sum2(*args):
        print('args: ', args)
        print('type: ', type(args))
        print('sum : ', sum(args))
    
    my_sum2(1, 2, 3, 4)
    # args:  (1, 2, 3, 4)
    # type:  <class 'tuple'>
    # sum :  10
    
    _1. Menerima banyak argumen sebagai tupel
  • def my_sum2(*args):
        print('args: ', args)
        print('type: ', type(args))
        print('sum : ', sum(args))
    
    my_sum2(1, 2, 3, 4)
    # args:  (1, 2, 3, 4)
    # type:  <class 'tuple'>
    # sum :  10
    
    _2. Terima beberapa argumen kata kunci sebagai kamus

Lihat artikel berikut untuk dasar-dasar fungsi di Python

  • Definisikan dan panggil fungsi dengan Python (def, return)

Jika Anda menambahkan * dan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0 saat memanggil fungsi, bukan saat mendefinisikan fungsi, Anda dapat membongkar dan meneruskan daftar dan kamus ke argumen

  • Buka paket dan berikan daftar, tuple, dict ke argumen fungsi dengan Python

Tautan Bersponsor

def my_sum2(*args): print('args: ', args) print('type: ', type(args)) print('sum : ', sum(args)) my_sum2(1, 2, 3, 4) # args: (1, 2, 3, 4) # type: <class 'tuple'> # sum : 10 _1. Menerima banyak argumen sebagai tupel

Jika Anda mendefinisikan parameter yang diawali dengan * seperti

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
1, fungsi dapat menerima sejumlah argumen

def my_sum(*args):
    return sum(args)

print(my_sum(1, 2, 3, 4))
# 10

print(my_sum(1, 2, 3, 4, 5, 6, 7, 8))
# 36

sumber.

Dalam fungsinya, beberapa argumen diterima sebagai tuple. Dalam contoh, tuple diteruskan ke fungsi

def func_args(arg1, arg2, *args):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

func_args(0, 1, 2, 3, 4)
# arg1:  0
# arg2:  1
# args:  (2, 3, 4)

func_args(0, 1)
# arg1:  0
# arg2:  1
# args:  ()
4 untuk menghitung jumlah

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10

sumber.

Ini dapat digunakan dengan argumen posisional

Nilai yang ditentukan setelah (kanan) dari argumen posisi diteruskan sebagai tuple ke

def func_args(arg1, arg2, *args):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

func_args(0, 1, 2, 3, 4)
# arg1:  0
# arg2:  1
# args:  (2, 3, 4)

func_args(0, 1)
# arg1:  0
# arg2:  1
# args:  ()
5. Jika hanya argumen posisi yang dilewatkan,
def func_args(arg1, arg2, *args):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

func_args(0, 1, 2, 3, 4)
# arg1:  0
# arg2:  1
# args:  (2, 3, 4)

func_args(0, 1)
# arg1:  0
# arg2:  1
# args:  ()
5 akan menjadi tupel kosong

def func_args(arg1, arg2, *args):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

func_args(0, 1, 2, 3, 4)
# arg1:  0
# arg2:  1
# args:  (2, 3, 4)

func_args(0, 1)
# arg1:  0
# arg2:  1
# args:  ()

sumber.

Anda dapat menentukan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
1 terlebih dahulu, tetapi dalam kasus ini, parameter yang ditentukan setelah
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
1 harus ditentukan dengan format kata kunci
def func_args(arg1, arg2, *args):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

func_args(0, 1, 2, 3, 4)
# arg1:  0
# arg2:  1
# args:  (2, 3, 4)

func_args(0, 1)
# arg1:  0
# arg2:  1
# args:  ()
9 pada pemanggilan fungsi

Nilai terakhir tidak secara otomatis diteruskan ke argumen posisi, dan jika tidak ditentukan sebagai argumen kata kunci,

def func_args2(arg1, *args, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

# func_args2(0, 1, 2, 3, 4)
# TypeError: func_args2() missing 1 required keyword-only argument: 'arg2'

func_args2(0, 1, 2, 3, arg2=4)
# arg1:  0
# arg2:  4
# args:  (1, 2, 3)
0 memunculkan

def func_args2(arg1, *args, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

# func_args2(0, 1, 2, 3, 4)
# TypeError: func_args2() missing 1 required keyword-only argument: 'arg2'

func_args2(0, 1, 2, 3, arg2=4)
# arg1:  0
# arg2:  4
# args:  (1, 2, 3)

sumber.

Menggunakan properti ini, ada teknik untuk mendefinisikan parameter bernama * dan menggunakan parameter setelah itu sebagai argumen khusus kata kunci

def func_args_kw_only(arg1, *, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)

# func_args_kw_only(100, 200)
# TypeError: func_args_kw_only() takes 1 positional argument but 2 were given

func_args_kw_only(100, arg2=200)
# arg1:  100
# arg2:  200

sumber.

def my_sum2(*args): print('args: ', args) print('type: ', type(args)) print('sum : ', sum(args)) my_sum2(1, 2, 3, 4) # args: (1, 2, 3, 4) # type: <class 'tuple'> # sum : 10 _2. Terima beberapa argumen kata kunci sebagai kamus

Jika Anda menentukan parameter yang diawali dengan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0 seperti
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
2, fungsi dapat menerima sejumlah argumen kata kunci

Dalam fungsi, beberapa argumen kata kunci diterima sebagai kamus yang

def func_args2(arg1, *args, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

# func_args2(0, 1, 2, 3, 4)
# TypeError: func_args2() missing 1 required keyword-only argument: 'arg2'

func_args2(0, 1, 2, 3, arg2=4)
# arg1:  0
# arg2:  4
# args:  (1, 2, 3)
5 adalah nama argumen dan yang
def func_args2(arg1, *args, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('args: ', args)

# func_args2(0, 1, 2, 3, 4)
# TypeError: func_args2() missing 1 required keyword-only argument: 'arg2'

func_args2(0, 1, 2, 3, arg2=4)
# arg1:  0
# arg2:  4
# args:  (1, 2, 3)
6 adalah nilainya

def func_kwargs(**kwargs):
    print('kwargs: ', kwargs)
    print('type: ', type(kwargs))

func_kwargs(key1=1, key2=2, key3=3)
# kwargs:  {'key1': 1, 'key2': 2, 'key3': 3}
# type:  <class 'dict'>

sumber.

Ini juga dapat digunakan dengan argumen posisional

def func_kwargs_positional(arg1, arg2, **kwargs):
    print('arg1: ', arg1)
    print('arg2: ', arg2)
    print('kwargs: ', kwargs)

func_kwargs_positional(0, 1, key1=1)
# arg1:  0
# arg2:  1
# kwargs:  {'key1': 1}

sumber.

Dengan menambahkan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
_0 ke objek kamus saat memanggil fungsi, Anda dapat meneruskan setiap elemen ke setiap argumen

d = {'key1': 1, 'key2': 2, 'arg1': 100, 'arg2': 200}

func_kwargs_positional(**d)
# arg1:  100
# arg2:  200
# kwargs:  {'key1': 1, 'key2': 2}

sumber.

Lihat artikel berikut untuk detail tentang membongkar argumen fungsi

  • Buka paket dan berikan daftar, tuple, dict ke argumen fungsi dengan Python

Parameter dengan

def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0 hanya dapat ditentukan di akhir daftar parameter. Jika Anda menentukan parameter lain setelah parameter dengan
def my_sum2(*args):
    print('args: ', args)
    print('type: ', type(args))
    print('sum : ', sum(args))

my_sum2(1, 2, 3, 4)
# args:  (1, 2, 3, 4)
# type:  <class 'tuple'>
# sum :  10
0,
def func_args_kw_only(arg1, *, arg2):
    print('arg1: ', arg1)
    print('arg2: ', arg2)

# func_args_kw_only(100, 200)
# TypeError: func_args_kw_only() takes 1 positional argument but 2 were given

func_args_kw_only(100, arg2=200)
# arg1:  100
# arg2:  200
0 memunculkan

Bagaimana Anda meneruskan argumen variabel ke suatu fungsi di Python?

Melewati argumen kata kunci dengan **kwargs . ini dicapai dengan menggunakan **simbol kwargs . Saat menggunakan **kwargs, semua argumen kata kunci yang Anda berikan ke fungsi dikemas di dalam kamus.

Bagaimana Anda memanggil fungsi dengan jumlah variabel argumen?

Untuk memanggil fungsi dengan sejumlah variabel argumen, cukup tentukan sejumlah argumen dalam pemanggilan fungsi . Contohnya adalah fungsi printf dari pustaka run-time C. Pemanggilan fungsi harus menyertakan satu argumen untuk setiap nama tipe yang dideklarasikan dalam daftar parameter atau daftar tipe argumen.

Bagaimana Anda memanggil fungsi dari variabel dengan Python?

Cukup tetapkan fungsi ke variabel yang diinginkan tetapi tanpa () i. e. cukup dengan nama fungsinya . Jika variabel diberi fungsi bersama dengan tanda kurung (), Tidak ada yang akan dikembalikan. Contoh. Python3.

Bagaimana Anda memanggil fungsi dengan argumen di Python?

Cara Mendefinisikan dan Memanggil Fungsi Dasar dengan Python .
Ketikkan nama fungsi
Nama fungsi harus diikuti dengan tanda kurung. Jika ada argumen yang diperlukan, mereka harus diteruskan dalam tanda kurung. Jika fungsi tidak menerima argumen apa pun, Anda masih memerlukan tanda kurung