ตัวดำเนินการเครื่องหมายดอกจัน (*) ใน Python นั้นค่อนข้างทรงพลังและสามารถทำได้หลายอย่าง ในโพสต์นี้ เราจะเปิดเผยพลังของมัน ดังนั้นโดยไม่ต้องกังวลใจต่อไป มาเริ่มกันเลย
การคูณและกำลัง
ตัวดำเนินการ * สามารถคูณตัวเลขสองตัวได้ หากเราใช้เครื่องหมายดอกจันคู่ (**) ระหว่างตัวถูกดำเนินการ ก็จะทำการคำนวณเลขชี้กำลัง (กำลัง) ตัวอย่างเช่น 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
การทำซ้ำ
เมื่อใช้ตัวดำเนินการ * ระหว่าง iterable (list, string, etc.) และ integer x , มันทำซ้ำลำดับนั้นโดย x-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
ข่าวสารล่าสุดเกี่ยวกับ เมืองมาราวี ประเทศฟิลิปปินส์
แกะ iterables และพจนานุกรม
โอเปอเรเตอร์การเปิดออก * สามารถแตกไฟล์ iterable ได้ สำหรับพจนานุกรม ให้ใช้ ** มาดูกัน.
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}
การแตกไฟล์ iterables ในการเรียกใช้ฟังก์ชัน
หากเราต้องการส่งต่อรายการของ iterable (lists, string) แยกกันเป็นอาร์กิวเมนต์ไปยังฟังก์ชัน คุณสามารถทำได้โดยใช้ตัวดำเนินการ * ลองพิจารณาตัวอย่างต่อไปนี้
name = "ashton agar" print("The letters in the string are:", *name)
เอาท์พุต
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
ในตัวอย่างข้างต้น เราสร้างฟังก์ชันเพื่อคำนวณค่าเฉลี่ยของตัวเลขที่ส่งผ่านไปยังฟังก์ชันนั้น คุณสามารถสังเกตได้ที่นี่ว่าเราไม่ได้จำกัดข้อโต้แย้งที่ส่งผ่านไปยังมัน เราทำโดยใช้เครื่องหมายดอกจัน
จำนวนอาร์กิวเมนต์คำหลักที่แตกต่างกัน
แม้ว่าตัวดำเนินการ * ช่วยให้เราส่งผ่านอาร์กิวเมนต์ตำแหน่งจำนวนเท่าใดก็ได้ แต่ตัวดำเนินการ ** สามารถใช้ส่งผ่านจำนวนตัวแปรของอาร์กิวเมนต์ของคีย์เวิร์ดได้ มาดูกัน.
ปลุกพลังใน Google
def test(**info): print(info) test(name="Ashton", age=3)
เอาท์พุต
{'name': 'Ashton', 'age': 3}
พารามิเตอร์เฉพาะคำหลัก
หากคุณต้องการมีพารามิเตอร์เฉพาะคำหลักในฟังก์ชันของคุณ คุณสามารถใช้ * เพื่อทำสิ่งนั้นได้ พิจารณาตัวอย่างต่อไปนี้เพื่อดูว่าเป็นอย่างไร
abs cbn telesyere ใหม่ 2017
def test(name, age, *, grade): print(name, age, grade) test("ashton", 18, grade=9)
เอาท์พุต
ashton 18 9
ในตัวอย่างข้างต้น the ทดสอบ() ฟังก์ชันรับสามอาร์กิวเมนต์ ตัวแปร ชื่อ และ อายุ มีตำแหน่ง แต่ ระดับ เป็นอาร์กิวเมนต์เฉพาะคีย์เวิร์ด
def test(name, age, *, grade): print(name, age, grade) test("ashton", 18, 9)
เอาท์พุต
อย่างที่คุณเห็น คุณได้รับข้อผิดพลาดเมื่อคุณไม่ส่งอาร์กิวเมนต์ของคีย์เวิร์ดอย่างถูกต้อง
เราได้เห็นแล้วว่าตัวดำเนินการ * มีความหมายมากมาย ดังนั้นฉันขอแนะนำให้พวกคุณเล่นเพื่อทำความเข้าใจให้ดีขึ้น