πŸ” Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python? πŸ”Ž

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ __name__.

def my_function():
    pass

print(my_function.__name__)  # Π’Ρ‹Π²Π΅Π΄Π΅Ρ‚ "my_function"

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python

Π’ Python Π΅ΡΡ‚ΡŒ нСсколько способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

ИспользованиС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° __name__

Π’ Python Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ, ΠΈ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΅ΡΡ‚ΡŒ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ __name__. Π­Ρ‚ΠΎΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ содСрТит имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


def my_function():
    pass

print(my_function.__name__)  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ "my_function"

ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ getattr()

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ - ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ getattr(). Π­Ρ‚Π° функция позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.


def my_function():
    pass

print(getattr(my_function, '__name__'))  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ "my_function"

ИспользованиС Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Π°

Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€Ρ‹ Π² Python ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ имя исходной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


def print_function_name(func):
    def wrapper():
        print('ВыполняСтся функция', func.__name__)
        func()
    return wrapper

@print_function_name
def my_function():
    print('ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!')

my_function()  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ "ВыполняСтся функция my_function" ΠΈ "ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠΌΠΈΡ€!"

ИспользованиС sys._getframe()

ΠœΠΎΠ΄ΡƒΠ»ΡŒ sys Π² Python прСдоставляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ _getframe(), которая Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ стСк Π²Ρ‹Π·ΠΎΠ²ΠΎΠ². Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для получСния ΠΈΠΌΠ΅Π½ΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.


import sys

def get_function_name():
    return sys._getframe().f_code.co_name

def my_function():
    print('Π­Ρ‚ΠΎ функция', get_function_name())

my_function()  # Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ "Π­Ρ‚ΠΎ функция my_function"

Π’ΠΎΡ‚ нСсколько способов ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Python. Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ситуации ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Python. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ print() input()

35 Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ (def) Π² Python. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΈ Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

join() ΠΈ split() ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ имя Ρ„Π°ΠΉΠ»Π° #python

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ синтаксис языка программирования Python? Π£Π·Π½Π°ΠΉΡ‚Π΅ простым ΠΈ понятным способом

Как ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π±Π΅ΡΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΡΡ‚ΡŒ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? πŸ”„

🐍 Как ΡΠ½ΡΡ‚ΡŒ ΡˆΠΊΡƒΡ€Ρƒ с ΠΏΠΈΡ‚ΠΎΠ½Π°: пошаговая инструкция ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ совСты

πŸ” Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Python? πŸ”Ž

🌈 Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ пиксСля с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Python PIL πŸ–₯️

πŸ”Ž Как ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ Π² ΠŸΠΈΡ‚ΠΎΠ½Π΅: пошаговоС руководство

⭐️ Как ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ список Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: простой руководство с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ объяснСниями