In this python tutorial, we will learn how to get a function name as a string.
Table Of Contents
Get a function name as a string using __name__
Python3 version supports this method which is used to get the function name in string format. It also returns the module name.
Syntax:
function.__name__
Here, the function is the function name. If you want to check the type of the returned function, then you can use the type() function. It returns the string class type.
Syntax:
type(function.__name__)
Example 1
Frequently Asked:
- Python string isupper() method
- Python: How to get first N characters in a string?
- Python: String to int
- Remove duplicate spaces from string in Python
In this example, we will create two functions and get the function names and their types using __name__ .
# Create a function named my_first_function. def my_first_function(): print ("This is my first function") # Call the function my_first_function() # Get the function name as string print ("Function name: ", my_first_function.__name__) # Get the type print ("Function type: ", type(my_first_function.__name__)) # Create a function named my_second_function. def my_second_function(): print ("This is my second function") # Call the function my_second_function() # Get the function name as a string print ("Function name: ", my_second_function.__name__) # Get the type print ("Function type: ", type(my_second_function.__name__))
Output:
This is my first function Function name: my_first_function Function type: <class 'str'> This is my second function Function name: my_second_function Function type: <class 'str'>
You can see that the function name is returned and the type is str, which represents the string.
Example 2:
In this example, we imported two modules and get the module name and its type using name .
import math import random # Get the math module name as string print ("Function name: ", math.__name__) # Get the type of math print ("Function type: ", type(math.__name__)) # Get the random module name as string print ("Function name: ", random.__name__) # Get the type of random print ("Function type: ", type(random.__name__))
Output:
Function name: math Function type: <class 'str'> Function name: random Function type: <class 'str'>
You can see that the module name is returned and the type is str, which represents the string.
Get a function name as a string using func_name
Python2 version supports this method which is used to get the function name in string format. It is deprecated in the python3 version.
Syntax:
function.func_name
Here, the function is the function name. If you want to check the type of the returned function, then you can use the type() function. It returns the class type.
Syntax:
type(function.func_name)
Example:
In this example, we will create two functions and get the function names and their types using func_name.
# Create a function named my_first_function. def my_first_function(): print ("This is my first function") # Call the function my_first_function() # Get the function name as string print ("Function name: ", my_first_function.func_name) # Get the type print ("Function type: ", type(my_first_function.func_name)) # Create a function named my_second_function. def my_second_function(): print ("This is my second function") # Call the function my_second_function() # Get the function name as a string print ("Function name: ", my_second_function.func_name) # Get the type print ("Function type: ", type(my_second_function.func_name))
Output:
This is my first function ('Function name: ', 'my_first_function') ('Function type: ', <type 'str'>) This is my second function ('Function name: ', 'my_second_function') ('Function type: ', <type 'str'>)
You can see that the function name is returned and the type is str, which represents the string. This code will not work with python3, it will work with previous versions of Python.
Get a function name as a string using qualname
Python3 supports this method which is used to get the function name in string format. It also returns the names of the classes and methods.
Syntax:
function.__qualname__
Here, the function is the function name. If you want to check the type of the returned function, then you can use the type() function. It returns the class type.
Syntax:
type(function.__qualname__)
Example 1
In this example, we will create two functions and get the function names and their types using qualname .
# Create a function named my_first_function. def my_first_function(): print ("This is my first function") # Call the function my_first_function() # Get the function name as string print ("Function name: ", my_first_function.__qualname__ ) # Get the type print ("Function type: ", type(my_first_function.__qualname__ )) # Create a function named my_second_function. def my_second_function(): print ("This is my second function") # Call the function my_second_function() # Get the function name as a string print ("Function name: ", my_second_function.__qualname__ ) # Get the type print ("Function type: ", type(my_second_function.__qualname__ ))
Output:
This is my first function Function name: my_first_function Function type: <class 'str'> This is my second function Function name: my_second_function Function type: <class 'str'>
You can see that the function name is returned and the type is str, which represents the string.
Example 2:
In this example, we will create a class and get the module name and its type using name .
# Define a class with a method - hello class My_class(): def hello(self): pass # Get the class name as a string print ("Class name: ", My_class.__qualname__ ) # Get the class type print ("Class type: ", type(My_class.__qualname__ )) # Get the method name as a string print ("Method name: ", My_class.hello.__qualname__ ) # Get the method type print ("Method type: ", type(My_class.hello.__qualname__ ))
Output:
Class name: My_class Class type: <class 'str'> Method name: My_class.hello Method type: <class 'str'>
In the above code, we created a class named My_class, and a method-hello is created inside it. using qualname, we returned the function name as a string.
Summary
In this tutorial, we discussed three ways to return a function name as a string in python. The func_name does not work in the python 3 versions. If you want to get the class name and methods names as strings, you can use qualname .