पिछले दो वर्षों में, मैं अपनी मुख्य प्रोग्रामिंग भाषा के रूप में पायथन का उपयोग कर रहा हूं। मैंने सोचा कि शायद यह "गहराई तक जाने" का एक अच्छा कारण है जैसा कि मैंने ट्रिकी जावास्क्रिप्ट प्रश्नों में किया था। अगले कुछ प्रश्न ऐसे मुद्दे थे जिनसे मुझे अपनी वर्तमान नौकरी में निपटने की आवश्यकता थी, अन्य वेब से प्रेरित थे।
तो क्या आप अपना दिमाग चकराने के लिए तैयार हैं (पायथन प्रश्न से)?
नोटिस 1!: प्रत्येक प्रश्न का स्पष्टीकरण के साथ एक उत्तर है (प्रत्येक आइटम के नीचे लिंक)।
नोटिस 2!: प्रत्येक प्रश्न के लिए सोचें कि आउटपुट क्या होगा।
प्रश्न 1
exapmle_dict = dict()
exapmle_dict.a = "string"
print(exapmle_dict)
उत्तर 1 पर जाएँ
प्रश्न 2
class Json:
def __init__(self, *args, **kwargs):
import json
def print_dict_as_json(self, obj):
print(json.dumps(obj))
example_json = Json()
example_json.print_dict_as_json({"a": "string"})
उत्तर 2 पर जाएँ
प्रश्न 3
def myFun(arg1, arg3, **kwargs):
for key, value in kwargs.items():
print("%s == %s" % (key, value))
my_dict = {'arg1':1, 'arg2': 2}
myFun(**my_dict, arg3=3)
उत्तर 3 पर जाएँ
प्रश्न 4
def add_to_all_1(arr):
for i in range(len(arr)):
arr[i] =1
def my_func():
arr = [1,2,3]
add_to_all_1(arr)
arr2 = arr
print(arr2)
my_func()
उत्तर 4 पर जाएँ
अगर तुमने कहा:
{"a": "string"}
दुर्भाग्य से, आप गलत हैं, उत्तर है:
AttributeError: 'dict' object has no attribute 'a'
यदि आप मुझे पसंद करते हैं और पहले जावास्क्रिप्ट से आए हैं, तो एक्सेस डिक्शनरी (जावास्क्रिप्ट में ऑब्जेक्ट) जावास्क्रिप्ट की तरह डॉट द्वारा नहीं है, आप केवल [] द्वारा एक्सेस कर सकते हैं, और कुंजी के अंदर आप "ए" सेट करना चाहते हैं।
प्रश्न 1 पर वापस जाएं
अगर तुमने कहा:
{"a": "string"}
आप फिर से गलत हैं, उत्तर है:
... NameError: name 'json' is not define
आप पायथन में स्थानीय और वैश्विक दायरे के बीच अंतर जानते होंगे (यदि नहीं तो आपको इसे पढ़ना चाहिए: पायथन स्कोप)। __init__ एक फ़ंक्शन है, आयात स्थानीय दायरे के अंदर है इसलिए यह नहीं पता कि json क्या है। आप इसे विश्व स्तर पर इस प्रकार आयात करके ठीक कर सकते हैं:
import json class Json: def print_dict_as_json(self, obj): print(json.dumps(obj)) example_json = Json() example_json.print_dict_as_json({"a": "string"})
या अधिक उन्नत तरीके से:
class Json: import json as json def print_dict_as_json(self, obj): print(self.json.dumps(obj)) example_json = Json() example_json.print_dict_as_json({"a": "string"})
आप अधिक विवरण के लिए कक्षा के अंदर आयात का उपयोग करके देख सकते हैं।
प्रश्न 2 पर वापस जाएं
अगर तुमने कहा:
arg2 == 2
आप ठीक कह रहे हैं! पायथन में, हमारे पास तर्क पारित करने के 3 तरीके हैं:
def myFun(arg1): print(arg1) myFun('arg1')
def myFun(*arg1): print(*arg1) my_tuple = ('arg1', 'arg2') myFun(my_tuple)
प्रश्न 3 पर वापस जाएं
जवाब है:
[2, 3, 4]
कुछ लोगों के लिए जो कार्यक्षेत्र और असाइनमेंट जानते हैं, यह एक बहुत आसान प्रश्न लग सकता है। जो लोग नहीं जानते हैं, उनके लिए पायथन वेरिएबल मेमोरी को संदर्भ के रूप में सहेजता है, इसलिए इस मामले में, एआरआर मेमोरी में एक संदर्भ को इंगित करेगा -> फ़ंक्शन मान बदल देगा (लेकिन फिर भी वही संदर्भ) -> एआरआर 2 होगा एआरआर का संदर्भ पता प्राप्त करें लेकिन मान संशोधित होने के बाद।
प्रश्न 4 पर वापस जाएं
इस आलेख को पढ़ने के लिए धन्यवाद। मुझे आशा है कि आपने आनंद लिया और नई चीज़ें सीखीं। यदि आपका कोई प्रश्न या सुझाव है तो कृपया एक टिप्पणी छोड़ें।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3