Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk menyemak sama ada pembolehubah Python adalah fungsi?

Bagaimana untuk menyemak sama ada pembolehubah Python adalah fungsi?

WBOY
Lepaskan: 2023-08-26 14:05:03
ke hadapan
1402 orang telah melayarinya

Bagaimana untuk menyemak sama ada pembolehubah Python adalah fungsi?

Dalam artikel ini, kita akan belajar cara untuk mengesan sama ada pembolehubah Python ialah fungsi.

Kadangkala adalah penting untuk menentukan sama ada pembolehubah Python ialah fungsi. Ini mungkin kelihatan tidak bernilai apabila terdapat beribu-ribu baris kod dan anda bukan pencipta kod itu, dan anda mungkin mempersoalkan sama ada pembolehubah ialah fungsi.

Kaedah Digunakan

Berikut ialah cara untuk menyemak sama ada pembolehubah Python ialah fungsi:

  • Gunakan fungsi boleh panggil() terbina dalam

  • Gunakan kaedah isfunction() modul periksa

  • Gunakan fungsi jenis()

  • Gunakan fungsi hasattr() terbina dalam

  • Gunakan fungsi isinstance()

Kaedah 1: Menggunakan fungsi boleh panggil() terbina dalam

Fungsi boleh dipanggil() mengembalikan hasil boolean Ia mengembalikan Benar jika fungsi itu boleh dipanggil sebaliknya ia kembali Salah.

Sintaks

callable(object)
Salin selepas log masuk

Algoritma (langkah)

Berikut ialah Algoritma/langkah yang perlu diikuti untuk melaksanakan tugasan yang dikehendaki −

  • Buat sebarang fungsi rawak. Fungsi di sini mengembalikan hasil penambahan dua nombor yang dihantar kepadanya.

  • Gunakan kata kunci return untuk mengembalikan jumlah dua nombor yang dilalui.

  • Gunakan fungsi callable() untuk menyemak sama ada objek yang dilalui (iaitu, penambahan) ialah fungsi atau TIDAK Ia mengembalikan Benar jika ia adalah fungsi lain Salah.

  • Buat pembolehubah untuk menyimpan nombor yang dimasukkan.

  • Begitu juga, semak sama ada pembolehubah 'nombor' ialah fungsi atau tidak menggunakan fungsi boleh panggil().

Contoh

Atur cara berikut menyemak sama ada pembolehubah python ialah fungsi atau tidak menggunakan fungsi boleh panggil() terbina dalam −

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments) 
      return p+q

# using the callable() function to check whether 
# the variable 'addition' is a function 
# it returns True if it is a function else False
print(callable(addition))
number = 10
# checking whether the variable 'number' is a function
print(callable(number))
Salin selepas log masuk

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 2: Gunakan fungsi isfunction() modul periksa

Fungsi

isfunction() modul inspect boleh digunakan untuk menentukan sama ada pembolehubah ialah fungsi. Jika ia adalah fungsi, ia mengembalikan nilai Boolean True, jika tidak ia mengembalikan False.

Selain itu, untuk menggunakan ini, anda mesti mengimport isfunction terlebih dahulu daripada modul inspect sebelum menggunakannya untuk mendapatkan nilai boolean.

Contoh

Atur cara berikut menggunakan fungsi isfunction() modul inspect untuk menyemak sama ada pembolehubah Python ialah fungsi.

# importing isfunction from inspect module
from inspect import isfunction

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments)
      return p+q
 
# using the isfunction() function to check whether 
# the variable 'addition' is a function or not 
# it returns True if it is a function else False
print(isfunction(addition)) 
number = 10

print(isfunction(number))
Salin selepas log masuk

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 3: Menggunakan fungsi type()

Fungsi jenis() mengenal pasti jenis objek supaya kami boleh menentukan sama ada ia boleh dipanggil atau tidak berdasarkan sama ada objek itu daripada jenis fungsi.

Dalam istilah mudah, fungsi type() mengembalikan jenis data sesuatu objek.

Contoh

Atur cara berikut menggunakan fungsi type() untuk menyemak sama ada pembolehubah python adalah fungsi atau tidak.

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments) 
      return p+q
 
# checking the type of the variable by passing 
# the variable as an argument to it
print(type(addition))
# given Variable
number = 10

print(type(number))
Salin selepas log masuk

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

<class 'function'>
<class 'int'>
Salin selepas log masuk

Kaedah 4: Menggunakan fungsi hasattr() terbina dalam

hasattr() ialah fungsi yang mengenal pasti jenis objek supaya kita boleh menentukan sama ada jenis objek itu ialah fungsi Dengan cara yang sama seperti callable(), ia juga mengembalikan nilai boolean.

Contoh

Atur cara berikut menyemak sama ada pembolehubah python ialah fungsi atau tidak menggunakan fungsi hasattr() terbina dalam −

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # returning the sum of the given two numbers(arguments)
   return p+q
 
# checking whether the type of variable 'addition' 
# is a function or not using hasattr() function
# it returns True if it is a function else False
print(hasattr(addition, '__call__'))
number = 10
# checking whether the variable 'number' is a function or not
print(hasattr(number, '__call__'))
Salin selepas log masuk

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kaedah 5: Gunakan fungsi isinstance()

isinstance() ialah fungsi yang mengenal pasti jenis objek supaya kita boleh menentukan sama ada objek itu adalah fungsi atau tidak.

Contoh

Atur cara berikut menyemak sama ada pembolehubah python ialah fungsi atau tidak menggunakan fungsi isinstance() −

# importing the types module
import types

# creating a function that returns the addition 
# of 2 numbers passed to it
def addition(p, q):
   # # returning the sum of the given two numbers(arguments) 
   return p+q

# passing object,  types.FunctionType as an argument to the 
# isinstance() function to check whether it is a function or not
print(isinstance(addition, types.FunctionType))
number = 10
# checking whether the above variable 'number' is a function or not
print(isinstance(number, types.FunctionType))
Salin selepas log masuk

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Artikel ini mengajar kita lima cara berbeza untuk menentukan sama ada pembolehubah input adalah jenis fungsi. Kami juga biasa dengan fungsi hasattr() dan isinstance(), yang boleh membantu kami menentukan sama ada dua pembolehubah adalah daripada jenis yang sama.

Atas ialah kandungan terperinci Bagaimana untuk menyemak sama ada pembolehubah Python adalah fungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan