पायथन में * क्या करता है?

क्या फिल्म देखना है?
 
  पायथन में * क्या करता है?

पायथन में एक तारक (*) ऑपरेटर काफी शक्तिशाली है और कई काम कर सकता है। इस पोस्ट में, हम इसकी शक्तियों को उजागर करेंगे। तो, बिना किसी देरी के, चलिए शुरू करते हैं।





गुणन और शक्ति

* ऑपरेटर दो संख्याओं को गुणा कर सकता है। यदि हम ऑपरेंड के बीच दोहरे तारक (**) का उपयोग करते हैं, तो यह घातांक (शक्ति) गणना करेगा। उदाहरण के लिए, 3**2 = 9, यानी, यह 3 की घात 2 की गणना करता है। आइए उनके उदाहरण देखें।



x = 4
y = 5
product = x*y #* as a multiplication operator
power = x**3 #* to calculate power
print(product, power)



उत्पादन



20 64

दुहराव

जब * ऑपरेटर का उपयोग एक चलने योग्य (सूची, स्ट्रिंग, आदि) और एक पूर्णांक के बीच किया जाता है एक्स , यह उस क्रम को दोहराता है एक्स 1 बार। निम्नलिखित उदाहरण पर विचार करें।

x = 4
lst = [2]*x #repeats 2 in the list x-1 times
print(lst)
string = "abc"*x #repeats abc x-1 times
print(string)

उत्पादन

लीला डे लीमा पति बनाती हैं

[2, 2, 2, 2]
abcabcabcabc

पुनरावृत्तियों और शब्दकोशों को खोलना

अनपैकिंग ऑपरेटर * एक चलने योग्य को अनपैक कर सकता है। शब्दकोशों के लिए ** का प्रयोग करें। आइए देखते हैं।

list1 = ["football", "basketball", "cricket"]
list2 = ["hockey", "volleyball"]
sports = [*list1, *list2] #unpacking list1 and list2 to merge them into a new list
print(sports)

उत्पादन

['football', 'basketball', 'cricket', 'hockey', 'volleyball']

एक अन्य उदाहरण पर विचार करें।

list1 = ["football", "basketball", "cricket"]
first, *others = list1
print("The first item:", first)
print("Rest of the items:", others)

उत्पादन

चे ग्वेरा और ईवा पेरोन
The first item: football
Rest of the items: ['basketball', 'cricket']

आइए देखें कि शब्दकोशों को कैसे अनपैक करें।

#unpacking dictionaries
dictt1 = {"name":"Ashton", "age": 25}
dictt2 = {"cpga": 4.5}
dictt = {**dictt1, **dictt2}
print(dictt)

उत्पादन

{'name': 'Ashton', 'age': 25, 'cpga': 4.5}

फ़ंक्शन कॉल में पुनरावृत्तियों को अनपैक करना

यदि हम किसी फ़ंक्शन के तर्क के रूप में एक चलने योग्य (सूचियों, स्ट्रिंग) की वस्तुओं को अलग से पास करना चाहते हैं, तो आप * ऑपरेटर का उपयोग करके ऐसा कर सकते हैं। निम्नलिखित उदाहरण पर विचार करें।

name = "ashton agar"
print("The letters in the string are:", *name)

उत्पादन

एक 8 इंच बड़ा डिक है
The letters in the string are: a s h t o n   a g a r

स्थितीय तर्कों की भिन्न संख्या

* ऑपरेटर आपको किसी फ़ंक्शन में किसी भी संख्या में स्थितीय तर्कों को पारित करने की अनुमति देता है। इसके अलावा, ये तर्क एक टुपल के रूप में पारित हो जाते हैं। आइए देखते हैं।

def calculateAverage(*values):
  n = len(values)
  summ =0 
  for i in range(0, n):
    summ += values[i]
  
  return summ/n
avg = calculateAverage(2,6, 7, 8, 8)
print("The average is:", avg)

उत्पादन

The average is: 6.2

उपरोक्त उदाहरण में, हम इसे पारित संख्याओं के औसत की गणना करने के लिए एक फ़ंक्शन बनाते हैं। आप यहां देख सकते हैं कि हम इसमें दिए गए तर्कों को सीमित नहीं कर रहे हैं। हम तारांकन ऑपरेटर का उपयोग करके ऐसा करते हैं।

कीवर्ड तर्कों की भिन्न संख्या

जबकि * ऑपरेटर हमें किसी भी संख्या में स्थितीय तर्कों को पारित करने की अनुमति देता है, ** ऑपरेटर का उपयोग कीवर्ड तर्कों की एक चर संख्या को पारित करने के लिए किया जा सकता है। आइए देखते हैं।

def test(**info):
  print(info)
test(name="Ashton", age=3)

उत्पादन

एसईओ जंग हूं तलाक का कारण
{'name': 'Ashton', 'age': 3}

केवल-कीवर्ड पैरामीटर

यदि आप अपने फ़ंक्शन में केवल-कीवर्ड पैरामीटर रखना चाहते हैं, तो आप ऐसा करने के लिए * का उपयोग कर सकते हैं। कैसे देखने के लिए निम्नलिखित उदाहरण पर विचार करें।

def test(name, age, *, grade):
  print(name, age, grade)
test("ashton", 18, grade=9)

उत्पादन

कोबे पारस बनाम लेब्रोन जेम्स
ashton 18 9

उपरोक्त उदाहरण में, परीक्षण() फ़ंक्शन तीन तर्क लेता है। चर नाम तथा आयु स्थितीय हैं, लेकिन श्रेणी एक कीवर्ड-केवल तर्क है।

def test(name, age, *, grade):
  print(name, age, grade)
test("ashton", 18, 9)

उत्पादन

  पायथन में * क्या करता है?

पायथन में * क्या करता है?

जैसा कि आप देख सकते हैं, जब आप कीवर्ड तर्क को ठीक से पास नहीं करते हैं तो आपको एक त्रुटि मिलती है।

हमने देखा है कि *ऑपरेटर के कई अर्थ होते हैं। इसलिए, मैं आप लोगों को इसे बेहतर ढंग से समझने के लिए इसके साथ खेलने के लिए प्रोत्साहित करूंगा।