logo

Python | Kā iegūt funkcijas nosaukumu?

Viens no ievērojamākajiem kodēšanas stiliem ir OOP paradigmas ievērošana. Šajā nolūkā mūsdienās ir nepieciešams rakstīt kodu ar modularitāti, palielināt atkļūdošanu un izveidot izturīgāku, atkārtoti lietojamu kodu. Tas viss mudināja izmantot dažādas funkcijas dažādiem uzdevumiem, un tāpēc mums noteikti jāzina daži funkciju pārkāpumi. Šajā rakstā ir apskatīts, kā izdrukāt funkcijas nosaukumu. Apspriedīsim dažus veidus, kā to var izdarīt.

1. metode: iegūstiet funkcijas nosaukumu programmā Python, izmantojot funkciju.__name__

Šī funkcija ir ieviesta Python 3 programmā Python3.



Python3






# initializing function> def> GFG():> >return> 'You just called for success !!'> # printing function name> # using function.__name__> print>(>'The name of function is : '> +> GFG.__name__)>



>

pamatjosla pret platjoslu
>

Izvade:

The name of function is : GFG>

2. metode: iegūstiet funkcijas nosaukumu programmā Python, izmantojot funkciju function.func_name

Izmantojot vienkāršu funkcijas rekvizītu funkciju func_name, var iegūt funkcijas nosaukumu, un tādējādi tas var būt diezgan ērts testēšanas nolūkos, kā arī dažreiz dokumentācijai. Trūkums ir tāds, ka tas darbojas tikai Python2.

Python




# initializing function> def> GFG():> >return> 'You just called for success !!'> # printing function name> # using function.func_name> print>(>'The name of function is : '> +> GFG.func_name)>

>

>

Izvade:

The name of function is : GFG>

3. metode: iegūstiet funkcijas nosaukumu programmā Python, izmantojot atribūtu __qualname__

__qualname__ sniedz pilnīgāku informāciju nekā __name__, un tāpēc tas var būt noderīgāks atkļūdošanā. Lai iegūtu nosaukumu no jebkura objekta vai klases, varat izmantot arī tā atribūtu __qualname__.

kas ir ziemas guļas režīms

Python3




def> Geekforgeeks():> >pass> class> Geekforgeeks(>object>):> >def> my_method(>self>):> >pass> # 'my_function'> print>(Geekforgeeks.__qualname__)> # 'My_Class.my_method'> print>(Geekforgeeks.my_method.__qualname__)>

>

>

Izvade:

Geekforgeeks Geekforgeeks.my_method>

4. metode: iegūstiet funkcijas nosaukumu programmā Python, izmantojot pārbaudes moduli

Šis kods importē pārbaudes moduli un definē funkciju get_function_name(), kas atgriež funkcijas nosaukumu. Funkcija izmanto funkciju inspect.currentframe(), lai iegūtu pašreizējās funkcijas kadra objektu, un pēc tam atgriež kadra objekta atribūta f_code atribūtu co_name, kas ir funkcijas nosaukums.

Funkcija inspect.currentframe() atgriež kadra objektu zvanītāja kadram. Rāmja objekts ir klases FrameInfo instance, kurai ir vairāki atribūti, kas sniedz informāciju par rāmi, piemēram, atribūts f_code, kas ir funkcijas koda objekts, un atribūts co_name, kas ir funkcijas nosaukums.

Visbeidzot, kods izdrukā funkcijas nosaukumu, izmantojot funkciju get_function_name().

Python3




kā atvērt slēptās lietotnes operētājsistēmā Android

import> inspect> # initializing function> def> get_function_name():> ># get the frame object of the function> >frame>=> inspect.currentframe()> >return> frame.f_code.co_name> # printing function name> print>(>'The name of function is : '> +>get_function_name())># test_function> #This code is contributed by Edula Vinay Kumar Reddy>

>

>

Izvade

The name of function is : get_function_name>

Šīs pieejas laika sarežģītība ir O(1) un palīgtelpa O(1).