Python 関数名を取得する
pythonのオブジェクト
def my_func():
return
print(my_func.__name__)
'my_func'
使用例
マルチスレッドの実行時にタスク名(関数名)をスレッド名にする
from threading import Thread
def task1():
while True:
break
def task2():
while True:
break
task_list = [task1,task2]
for task in task_list:
th = Thread(target=task, args=(), daemon=True, name=task.__name__)
th.start()
wrapperにして使う
from threading import Thread
def task1():
while True:
break
def task2():
while True:
break
task_list = [task1,task2]
for task in task_list:
th = Thread(target=task, args=(), daemon=True, name=task.__name__)
th.start()
@shiracamusさんにコメントいただきました。
def greet(callback):
print("Hello", callback.__name__)
callback()
def taro():
print("Hi, I'm Taro.")
def hanako():
print("Hello, this is Hanako.")
greet(taro)
greet(hanako)
実行結果
Hello taro
Hi, I'm Taro.
Hello hanako
Hello, this is Hanako.
Author And Source
この問題について(Python 関数名を取得する), 我々は、より多くの情報をここで見つけました https://qiita.com/osorezugoing/items/a5123c201a9ba08d2d16著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .