logo

Python | Ako získať názov funkcie?

Jeden z najvýznamnejších štýlov kódovania je podľa paradigmy OOP. Na tento účel je v súčasnosti kladený dôraz na písanie kódu s modularitou, zvýšenie ladenia a vytvorenie robustnejšieho, opakovane použiteľného kódu. To všetko podporovalo používanie rôznych funkcií pre rôzne úlohy, a preto musíme poznať určité hacky funkcií. Tento článok popisuje, ako vytlačiť názov funkcie. Poďme diskutovať o určitých spôsoboch, ako to možno urobiť.

veľa štastia

Metóda 1: Získajte názov funkcie v Pythone pomocou funkcie function.__name__

Táto funkcia bola zavedená v Pythone 3 v Pythone3.



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



>

>

Výkon :

The name of function is : GFG>

Metóda 2: Získajte názov funkcie v Pythone pomocou function.func_name

Použitím jednoduchej funkcie vlastnosti funkcie, func_name, je možné získať názov funkcie, a preto môže byť celkom užitočný na účely testovania a niekedy aj na dokumentáciu. Nevýhodou je, že to funguje len pre 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)>

>

>

Výkon :

nahradiť reťazec reťazcom java
The name of function is : GFG>

Metóda 3: Získajte názov funkcie v Pythone pomocou atribútu __qualname__

__qualname__ poskytuje úplnejšie informácie ako __name__, a preto môže byť užitočnejšie pri ladení. Ak chcete extrahovať názov z akéhokoľvek objektu alebo triedy, môžete použiť aj jeho atribút __qualname__.

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

>

nestále kľúčové slovo java

>

Výkon :

Geekforgeeks Geekforgeeks.my_method>

Metóda 4: Získajte názov funkcie v Pythone pomocou modulu inspect

Tento kód importuje kontrolný modul a definuje funkciu get_function_name(), ktorá vracia názov funkcie. Funkcia používa funkciu inspect.currentframe() na získanie objektu frame aktuálnej funkcie a potom vráti atribút co_name atribútu f_code objektu frame, čo je názov funkcie.

Funkcia inspect.currentframe() vracia objekt frame pre rámec volajúceho. Objekt frame je inštanciou triedy FrameInfo, ktorá má niekoľko atribútov, ktoré poskytujú informácie o rámci, ako napríklad atribút f_code, čo je objekt kódu pre funkciu, a atribút co_name, čo je názov funkcie.

strojové učenie pod dohľadom

Nakoniec kód vypíše názov funkcie pomocou funkcie get_function_name().

Python3




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>

>

>

Výkon

The name of function is : get_function_name>

Tento prístup má časovú zložitosť O(1) a pomocný priestor O(1).