Rumah >pembangunan bahagian belakang >Tutorial Python >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.
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()
Fungsi boleh dipanggil() mengembalikan hasil boolean Ia mengembalikan Benar jika fungsi itu boleh dipanggil sebaliknya ia kembali Salah.
callable(object)
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().
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))
Apabila dilaksanakan, program di atas akan menjana output berikut -
True False
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.
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))
Apabila dilaksanakan, program di atas akan menjana output berikut -
True False
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.
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))
Apabila dilaksanakan, program di atas akan menjana output berikut -
<class 'function'> <class 'int'>
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.
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__'))
Apabila dilaksanakan, program di atas akan menjana output berikut -
True False
isinstance() ialah fungsi yang mengenal pasti jenis objek supaya kita boleh menentukan sama ada objek itu adalah fungsi atau tidak.
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))
Apabila dilaksanakan, program di atas akan menjana output berikut -
True False
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!