def applejuice(q):
print THE FUNCTION NAME!
इसका परिणाम स्ट्रिंग के रूप में "सेबजूइस" होना चाहिए।फ़ंक्शन नाम को उस फ़ंक्शन के अंदर से पाइथन में स्ट्रिंग के रूप में प्रिंट करने के लिए कैसे करें
def applejuice(q):
print THE FUNCTION NAME!
इसका परिणाम स्ट्रिंग के रूप में "सेबजूइस" होना चाहिए।फ़ंक्शन नाम को उस फ़ंक्शन के अंदर से पाइथन में स्ट्रिंग के रूप में प्रिंट करने के लिए कैसे करें
यह भी काम करता है:
import sys
def applejuice(q):
func_name = sys._getframe().f_code.co_name
print func_name
आप को समझाने के लिए तुम्हारी समस्या क्या है क्या जरूरत है। क्योंकि आपके सवाल का जवाब है:
print "applejuice"
शायद उसका मतलब है: def func (anothah_func): anothah_func का नाम प्रिंट करें – wilhelmtell
अच्छा, यह निश्चित रूप से संभव है। हम देखेंगे कि क्या वह कहता है कि समस्या क्या है। –
def applejuice(**args):
print "Running the function 'applejuice'"
pass
या उपयोग:
myfunc.__name__
>>> print applejuice.__name__
'applejuice'
इसके अलावा, how-to-get-the-function-name-as-string-in-python
'myfunc .__ name__' के लिए upvote – philshem
import traceback
def applejuice(q):
stack = traceback.extract_stack()
(filename, line, procname, text) = stack[-1]
print procname
देख मैं तो तुम हो सकता है यह मान डिबगिंग के लिए प्रयोग किया जाता है, traceback
module द्वारा दी गई अन्य प्रक्रियाओं को देखना चाहते हैं। वे आप पूरे कॉल स्टैक, अपवाद निशान, आदि
एक और तरीका है मुद्रित दूँगा
import inspect
def applejuice(q):
print inspect.getframeinfo(inspect.currentframe())[2]
def foo():
# a func can just make a call to itself and fetch the name
funcName = foo.__name__
# print it
print 'Internal: {0}'.format(funcName)
# return it
return funcName
# you can fetch the name externally
fooName = foo.__name__
print 'The name of {0} as fetched: {0}'.format(fooName)
# print what name foo returned in this example
whatIsTheName = foo()
print 'The name foo returned is: {0}'.format(whatIsTheName)
इस साइट में मुझे एक सभ्य स्पष्टीकरण दिया sys._getframe.f_code.co_name कैसे काम करता है जो फ़ंक्शन नाम देता है।
http://code.activestate.com/recipes/66062-determining-current-function-name/
SO के लिए प्रतीक्षा करें! कृपया, स्पष्टीकरण प्रदान करने के बारे में सोचें, न केवल बाहरी लिंक को इंगित करें। –
देखें http://meta.stackexchange.com/questions/18584/how-to-ask-a-smart-question-on-so/25128#25128 –
जवाब आपके द्वारा चुने गए हम कर सकते हैं से निष्कर्ष निकालें कि यह वास्तव में एक डुप्लिकेट था। वास्तव में, एक प्रश्न लगभग बिल्कुल एक ही नाम पहले से ही अस्तित्व में है: http://stackoverflow.com/questions/251464/how-to-get-the-function-name-as-string-in-python –
मैं सहमत नहीं है कि यह एक है # 251464 का डुप्लिकेट - ऐसा लगता है कि यह प्रश्न इसके विपरीत उलटा है। –