Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การใช้ดอกจันใน Python


ภาษาการเขียนโปรแกรม Python ใช้ทั้ง * และ ** ในบริบทที่ต่างกัน ในบทความนี้เราจะมาดูกันว่าทั้งสองใช้อย่างไรและมีประโยชน์อย่างไร

ในฐานะผู้ดำเนินการ Infix

เมื่อใช้ * เป็นตัวดำเนินการ infix โดยทั่วไปจะให้ผลคูณทางคณิตศาสตร์ของตัวเลข ในตัวอย่างด้านล่างเราใช้จำนวนเต็ม ลอยตัวและจำนวนเชิงซ้อนเพื่อคูณและรับผลลัพธ์

ตัวอย่าง

# Integers
x = 20
y = 10
z = x * y
print(z,"\n")

# Floats
x1 = 2.5
y1 = 5.1
z1 = x1 * y1
print(z1,"\n")

# Complex Numbers
x2 = 4 + 5j
y2 = 5 + 4j
z2 = x2 * y2
print(z2,"\n")

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

200
12.75
41j

เรายังสามารถใช้เป็นตัวดำเนินการ infix เพื่อขยายสตริงได้

ตัวอย่าง

str = "Point-"
print(str * 4,"\n")
List = [4, 5, 6]
print(List * 3,"\n")
Tuple = (9, 8, 7)
print(Tuple * 2)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Point-Point-Point-Point-
[4, 5, 6, 4, 5, 6, 4, 5, 6]
(9, 8, 7, 9, 8, 7)

เป็นตัวดำเนินการคำนำหน้า

เราสามารถใช้ดอกจันเดียวเป็นคำนำหน้าได้ ตัวอย่างด้านล่างจะอธิบายตัวอย่างต่างๆ ว่าเราสามารถใช้เป็นคำนำหน้าได้อย่างไร

ขยาย Iterable

รายการไลค์หรือทูเพิลที่ทำซ้ำได้สามารถขยายได้โดยเพียงแค่นำหน้าชื่อด้วยเครื่องหมายดอกจัน

ตัวอย่าง

week_days =['Mon','Tue','Wed','Thu','Fri']
print(week_days)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Mon Tue Wed Thu Fri

ใช้จำนวนตัวแปรของอาร์กิวเมนต์

เราสามารถกำหนดจำนวนตัวแปรของอาร์กิวเมนต์ให้กับฟังก์ชันได้โดยใช้เครื่องหมายดอกจันเพียงอันเดียว ดังแสดงในโปรแกรมด้านล่าง

ตัวอย่าง

def many_sums(*args):
   res = 0
   # Iterating over the Python args tuple
   for x in args:
   res = res + x
   return res
print(many_sums(1, 2))
print(many_sums(11, 21, 30))
print(many_sums(5.5,0))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

3
62
5.5

การใช้งาน **

เครื่องหมายดอกจันคู่ใช้สำหรับอาร์กิวเมนต์ตามคีย์เวิร์ด อาร์กิวเมนต์จะถูกส่งผ่านในรูปแบบพจนานุกรมและไม่ใช่เป็นค่าส่วนบุคคล

ตัวอย่าง

def join_keys(**kwargs):
   result = ""
   # Iterating over kwargs dictionary keys
   for arg in kwargs.keys():
   result += arg
   return result
def join_values(**kwargs):
   result = ""
   # Iterating over kwargs dictionary values
   for arg in kwargs.values():
   result += arg
   return result
print(join_keys(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))
print(join_values(day1="Mon-", day2="Tue-", day3="Wed-", day4="Thu-"))

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

day1day2day3day4
Mon-Tue-Wed-Thu-