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

Bagaimana untuk menyemak sama ada pembolehubah Python adalah fungsi?

WBOY
WBOYke hadapan
2023-08-26 14:05:031312semak imbas

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)

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))

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False

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))

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False

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))

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

<class 'function'>
<class 'int'>

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__'))

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False

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))

Output

Apabila dilaksanakan, program di atas akan menjana output berikut -

True
False

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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam