Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Python

Argumen Fungsi Python

Argumen Fungsi Python

Dalam Python, Anda dapat mendefinisikan fungsi yang mengambil sejumlah variabel argumen. Dalam artikel ini, Anda akan belajar mendefinisikan fungsi tersebut menggunakan argumen default, kata kunci, dan arbitrer.

Video:Argumen Fungsi Python:Posisi, Kata Kunci, dan Default

Argumen

Dalam topik fungsi yang ditentukan pengguna, kita belajar tentang mendefinisikan suatu fungsi dan memanggilnya. Jika tidak, pemanggilan fungsi akan menghasilkan kesalahan. Ini contohnya.

def greet(name, msg):
    """This function greets to
    the person with the provided message"""
    print("Hello", name + ', ' + msg)

greet("Monica", "Good morning!")

Keluaran

Hello Monica, Good morning!

Di sini, fungsi greet() memiliki dua parameter.

Karena kami telah memanggil fungsi ini dengan dua argumen, itu berjalan dengan lancar dan kami tidak mendapatkan kesalahan apa pun.

Jika kita memanggilnya dengan jumlah argumen yang berbeda, interpreter akan menampilkan pesan kesalahan. Di bawah ini adalah panggilan ke fungsi ini dengan satu dan tanpa argumen beserta pesan kesalahannya masing-masing.

>>> greet("Monica")    # only one argument
TypeError: greet() missing 1 required positional argument: 'msg'
>>> greet()    # no arguments
TypeError: greet() missing 2 required positional arguments: 'name' and 'msg'

Argumen Fungsi Variabel

Sampai sekarang, fungsi memiliki sejumlah argumen yang tetap. Dalam Python, ada cara lain untuk mendefinisikan fungsi yang dapat mengambil sejumlah variabel argumen.

Tiga bentuk berbeda dari jenis ini dijelaskan di bawah ini.

Argumen Default Python

Argumen fungsi dapat memiliki nilai default dalam Python.

Kami dapat memberikan nilai default ke argumen dengan menggunakan operator penugasan (=). Ini contohnya.

def greet(name, msg="Good morning!"):
    """
    This function greets to
    the person with the
    provided message.

    If the message is not provided,
    it defaults to "Good
    morning!"
    """

    print("Hello", name + ', ' + msg)


greet("Kate")
greet("Bruce", "How do you do?")

Keluaran

Hello Kate, Good morning!
Hello Bruce, How do you do?

Dalam fungsi ini, parameter name tidak memiliki nilai default dan diperlukan (wajib) selama panggilan.

Di sisi lain, parameter msg memiliki nilai default "Good morning!" . Jadi, ini opsional selama panggilan. Jika nilai diberikan, itu akan menimpa nilai default.

Sejumlah argumen dalam suatu fungsi dapat memiliki nilai default. Tetapi begitu kita memiliki argumen default, semua argumen di sebelah kanannya juga harus memiliki nilai default.

Ini berarti, argumen non-default tidak dapat mengikuti argumen default. Misalnya, jika kita telah mendefinisikan header fungsi di atas sebagai:

def greet(msg = "Good morning!", name):

Kami akan mendapatkan kesalahan sebagai:

SyntaxError: non-default argument follows default argument

Argumen Kata Kunci Python

Saat kita memanggil fungsi dengan beberapa nilai, nilai-nilai ini ditugaskan ke argumen sesuai dengan posisinya.

Misalnya, pada fungsi di atas greet() , ketika kami menyebutnya sebagai greet("Bruce", "How do you do?") , nilai "Bruce" ditugaskan ke argumen name dan juga "How do you do?" ke pesan .

Python memungkinkan fungsi dipanggil menggunakan argumen kata kunci. Ketika kita memanggil fungsi dengan cara ini, urutan (posisi) argumen dapat diubah. Panggilan berikut ke fungsi di atas semuanya valid dan menghasilkan hasil yang sama.

# 2 keyword arguments
greet(name = "Bruce",msg = "How do you do?")

# 2 keyword arguments (out of order)
greet(msg = "How do you do?",name = "Bruce") 

1 positional, 1 keyword argument
greet("Bruce", msg = "How do you do?")           

Seperti yang bisa kita lihat, kita bisa mencampur argumen posisi dengan argumen kata kunci selama pemanggilan fungsi. Tetapi kita harus ingat bahwa argumen kata kunci harus mengikuti argumen posisi.

Memiliki argumen posisi setelah argumen kata kunci akan menghasilkan kesalahan. Misalnya pemanggilan fungsi sebagai berikut:

greet(name="Bruce","How do you do?")

Akan menghasilkan kesalahan:

SyntaxError: non-keyword arg after keyword arg

Argumen Sewenang-wenang Python

Terkadang, kita tidak mengetahui terlebih dahulu jumlah argumen yang akan dilewatkan ke dalam suatu fungsi. Python memungkinkan kita untuk menangani situasi seperti ini melalui pemanggilan fungsi dengan sejumlah argumen yang berubah-ubah.

Dalam definisi fungsi, kami menggunakan tanda bintang (*) sebelum nama parameter untuk menunjukkan jenis argumen ini. Ini contohnya.

def greet(*names):
    """This function greets all
    the person in the names tuple."""

    # names is a tuple with arguments
    for name in names:
        print("Hello", name)


greet("Monica", "Luke", "Steve", "John")

Keluaran

Hello Monica
Hello Luke
Hello Steve
Hello John

Di sini, kami telah memanggil fungsi dengan banyak argumen. Argumen ini dibungkus menjadi Tuple sebelum diteruskan ke fungsi. Di dalam fungsi, kami menggunakan for loop untuk mengambil kembali semua argumen.


Python

  1. Tipe Data Python
  2. Operator Python
  3. Pernyataan lulus python
  4. Fungsi Python Anonim/Lambda
  5. Kamus Python
  6. Generator Python
  7. Penutupan Python
  8. Dekorator Python
  9. Python String strip() Fungsi dengan CONTOH
  10. Fungsi Python Lambda dengan CONTOH