ฟังก์ชั่น
สำหรับการเขียนโปรแกรม ไม่ว่าโปรแกรมนั้นจะแปลกหรือซับซ้อนแค่ไหน สุดท้ายโปรแกรมทุกโปรแกรมก็ต้องใช้เพียงแค่ ตัวแปร และ คำสั่งควบคุม เพียงสองส่วนประกอบนี้ก็สามารถเขียนโปรแกรมใดๆ ก็ได้ อย่างไรก็ตามโปรแกรมที่ซับซ้อนไม่จะมีลักษณะพิเศษที่พ่วงท้ายมาด้วยเสมอ นั่นคือ โปรแกรมใดๆ จะมีส่วนที่ซ้ำกันเสมอ ถ้าส่วนที่ซ้ำกันต้องทำซ้ำๆ ติดๆ กันก็จะกลายเป็น ลูป แต่ถ้าไม่ได้ซ้ำติดๆ กัน ก็จะทำให้ไม่สามารถเขียนเป็น ลูป ได้ โปรแกรมส่วนนั้นก็จะซ้ำกันโดยปริยาย และแล้วก็ถึงบทพระเอกของ ฟังก์ชั่น
ฟังก์ชั่น หรือ function ก็คือ ชุดของคำสั่งที่ต้องทำตามลำดับนั่นเอง แทนที่จะเป็นคำสั่ง 10 บรรทัดที่ใช้ 10 ที่ ทำให้โปรแกรมยาว 100 บรรทัด เวลาเจอที่ผิดก็ต้องแก้ 10 ที่ ก็เปลี่ยนเป็น 10 บรรทัด 1 ที่สำหรับประกาศ ฟังก์ชั่น และอย่างละ 1 บรรทัดสำหรับตอนเรียกใช้งาน
มีหลายคนกลัวการใช้ ฟังก์ชั่น กลัวว่ายาก กลัวว่าไม่เข้าใจ กลัวไม่รู้เรื่อง กลัวพลาด กลัวสารพัด ทุกครั้งที่เขียนก็มักคัดลอกคำสั่งชุดนั้นไปทุกที่ที่ใช้โดยไม่เขียน ฟังก์ชั่น เวลามีใครมาทักก็จะบอกว่า เขียนให้เสร็จแล้วค่อยแก้ก็ได้ สาเหตุใหญ่ๆ เป็นเพราะ เข้าใจผิด ฟังก์ชั่น ไม่ได้มีไว้เพื่อให้โปรแกรมสวย แต่มีไว้เพื่อทำให้ความซับซ้อนของโปรแกรมลดน้อยลงโดยการทำให้ส่วนของโปรแกรมที่ทำหน้าที่ร่วมกันมีชื่อเรียกแทนที่จะเป็นคำสั่งหลายบรรทัดยาวๆ ด้วยเหตุนี้ ฟังก์ชั่น จึงช่วยให้โปรแกรมคล้ายกับ อัลกอริทึ่ม และเข้าใจได้ง่าย
ใน ไพธอน นั้น ฟังก์ชั่น ไม่ใช่เรื่องน่ากลัวแต่อย่างใด ลองมาดูแบบง่ายๆ กันก่อน
def hello():
print ’Hello’
ฟังก์ชั่น hello มีไว้สำหรับพิมพ์คำว่า Hello ออกมาทุกครั้งที่ถูกเรียกใช้ วิธีเรียกใช้นั่นยิ่งง่าย เพียงแค่เรียก hello() เท่านั้นเอง เมื่อนำมารวมกับ ลูป ก็จะดูมีประโยชน์ขึ้นมาทันที
hello()
print ’begin’
for i in range(10):
hello()
print ’end’
hello()
ทีนี้ลองมาดูว่า ฟังก์ชั่น มีประโยชน์ยังไง โดยการเปลี่ยนโจทย์ให้พิมพ์คำว่า Hello, World แทน ถ้าไม่ได้เขียนด้วย ฟังก์ชั่น ก็ต้องแก้ 3 ที่ แต่เพราะเราใช้ ฟังก์ชั่น ผลบุญเลยช่วยให้แก้แค่เพียงที่เดียวเท่านั้น
ตัวอย่างที่ผ่านมาเป็นเพียง ฟังก์ชั่น แบบง่าย ไม่มี พารามิเตอร์ แต่อย่างใด ฟังก์ชั่นพวกนี้มันมีไว้สำหรับงานง่ายๆ ที่ต้องทำซ้ำๆ กันบ่อยๆ ตัวอย่างถัดมาเป็น ฟังก์ชั่น ที่มี พารามิเตอร์ กันบ้าง
def hello(p):
print ’Hello, World’,p
for i in range(10):
hello(i)
ฟังก์ชั่นนี้จะรับ พารามิเตอร์ 1 ตัว และนำมาพิมพ์ต่อท้ายคำว่า Hello, World โดยที่ไม่สนว่า พารามิเตอร์นั้นจะเป็นชนิดอะไร ในกรณีที่ต้องการส่ง พารามิเตอร์ มากกว่า 1 ตัวก็สามารถทำได้โดยใช้ comma , ขั้นทั้งตอนประกาศและเรียกใช้
def hello(s,i):
print s,i
นอกจากนี้แล้ว ฟังก์ชั่น ยังสามารถคืนค่ากลับมาได้ด้วยคำสั่ง return อีกด้วย ค่าที่ส่งคืนนี้มาเป็นข้อมูลชนิดใดก็ได้ รวมไปถึง list tuple และ dictionary
def hello(s,i):
return ’%s,%i’ % (s,i)
for i in range(10):
print hello(’Hello, World’,i) - Printer-friendly version
- 8092 reads

Great post. I like the idea
Thank you very much for this information
Best wholesale service,
Best wholesale service, quick china wholesale delivery, nice wholesale products, is there anything more you can expect on this platform? This net will build up a link between you and you supplier so that to be sure you would have a satisfied wholesale apparelwholesale apparel trading. The account managers will take care of all your wholesale products questions, inquires and help you manage your account. We provid popular wholesale products such as wholesale watch and wholesale necklaces . Different from other platforms, we also provide consumer electronics products, for example car electronics and digital camera. Meanwhile, we offer the best bluetooth phones and GPS Cellphone . Well begun is the half done. Please choose our platform to shorten your way to the success
we a supplier of those products.if you have any interest.contact ours Chinese antique furniture supplier and we can supplycar wash systems. car wash systems .car wash equipment. car wash equipment. automatic car wash .automatic car wash .car washing machine. car washing machine. car wash. car wash
XYLITOL.SODIUM SULPHATE.CAUSTIC SODA FLAKES.MANGANESE SULFATE.SODIUM FORMATE.MAGNESIUM SULFATE.OXALIC ACIDFORMIC ACID.XYLITOL.SODIUM SULPHATE.CAUSTIC SODA FLAKES.MANGANESE SULFATE.SODIUM FORMATE.MAGNESIUM SULFATE.OXALIC ACID,FORMIC ACID
wholesaleportable speakers,mini speakerwholesale,wholesale ipod speakers,and we offer hermes handbags ,harmes bags!
货架 货架厂 北京汽车租赁 网络地板 防静电地板 白癜风 白癜风遮盖白癜风治疗白癜风资讯白癜风资讯白癜风治疗楼梯有机玻璃有机玻璃加工
毛刷 工业毛刷 尖锐湿疣 尖锐湿疣治疗 生殖器疱疹 生殖器疱疹治疗XYLITOLSODIUM SULPHATECAUSTIC SODA FLAKESMANGANESE SULFATESODIUM FORMATEMAGNESIUM SULFATEOXALIC ACIDFORMIC ACIDXYLITOLSODIUM SULPHATECAUSTIC SODA FLAKESMANGANESE SULFATESODIUM FORMATEMAGNESIUM SULFATEOXALIC ACIDFORMIC ACID
Chinese antique furniture supplier and we can supplycar wash systems. car wash systems .car wash equipment. car wash equipment. automatic car wash .automatic car wash .car washing machine. car washing machine. car wash. car wash if u need ,contact me
毛刷厂 帕金森清洗毛刷轻松过关名师课堂
防防静电工作台职称考试规律总结职称考试应试技巧会计职称模拟试卷会计职称考前串讲会计职称考试答案会计职称考试试题会计职称考试报名会计职称称准考证会计职称考试时间会计从业资格考试会计职称培训初级职称培训中级职称培训初级职称报名中级职称报名初级会计会计资讯2009年会计2009年会计报名会计资格会计专业资格会计专业资格考试会计专业技术资格会计从业资格证会计从业资格试卷会计从业资格试题会计从业资格证书09年会计从业资格考试
Post new comment