ฟังก์ชันที่รับอาร์กิวเมนต์จำนวนไม่จำกัด (*args)
อาร์กิวเมนต์แบบยืดหยุ่นช่วยให้ส่งอาร์กิวเมนต์จำนวนเท่าใดก็ได้เข้าไปในฟังก์ชัน ในแบบฝึกหัดนี้ จะได้ฝึกกำหนดฟังก์ชันที่รับอาร์กิวเมนต์สตริงจำนวนไม่จำกัด
ฟังก์ชันที่จะกำหนดคือ gibberish() ซึ่งรับค่าสตริงได้หลายค่าตามต้องการ ค่าที่ส่งคืนจะเป็นสตริงเดียวที่ได้จากการนำสตริงทั้งหมดมาต่อกันตามลำดับที่ส่งเข้ามา จากนั้นจะทดลองเรียกฟังก์ชันด้วยสตริงอาร์กิวเมนต์ตัวเดียว แล้วสังเกตว่าผลลัพธ์เปลี่ยนไปอย่างไรเมื่อส่งอาร์กิวเมนต์มากกว่าหนึ่งตัว โปรดจำไว้ว่าภายในนิยามฟังก์ชัน args จะเป็น tuple
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Python เบื้องต้น: การเขียนฟังก์ชัน
คำแนะนำการฝึกหัด
- กำหนด header ของฟังก์ชันโดยใช้ชื่อ
gibberishและรับอาร์กิวเมนต์แบบยืดหยุ่นหนึ่งตัวคือ*args - กำหนดตัวแปร
hodgepodgeให้เป็นสตริงว่าง - ส่งคืนตัวแปร
hodgepodgeที่ท้ายฟังก์ชัน - เรียกใช้
gibberish()โดยส่งสตริง"luke"เพียงตัวเดียว แล้วกำหนดผลลัพธ์ให้กับone_word - คลิก ส่งคำตอบ เพื่อเรียกใช้
gibberish()ด้วยหลายอาร์กิวเมนต์และแสดงค่าใน Shell
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Define gibberish
def ____(____):
"""Concatenate strings in *args together."""
# Initialize an empty string: hodgepodge
# Concatenate the strings in args
for word in args:
hodgepodge += word
# Return hodgepodge
____
# Call gibberish() with one string: one_word
one_word = ____
# Call gibberish() with five strings: many_words
many_words = gibberish("luke", "leia", "han", "obi", "darth")
# Print one_word and many_words
print(one_word)
print(many_words)