Introduction
สำหรับคนที่เขียน Python มาสักระยะหนึ่งแล้ว เวลาไปดาวน์โหลด source code จาก github หรือเวลาที่เราเข้าไปอ่าน source code ใน library ที่เป็นของคนอื่นเขียนไว้มักจะเจอโค้ดคำสั่ง sys.argv[1] หรือ อะไรทำนองนี้อยู่เสมอ ซึ่งแท้จริงแล้ว sys.argv นั้นเป็นเพียงส่วนหนึ่งของ library sys เท่านั้น ในวันนี้ผมจะมาพานักอ่านทุกท่านมาทำความเข้าใจว่าไอ้เจ้า library sys ตัวเนี่ยมันคืออะไรกันแน่ โอเคว่าแล้วมาเริ่มกันเลย
sys คืออะไร
เบื้องต้นก่อนเราต้องมาทำความรู้จักกับ library sys ในภาษา Python ก่อน ซึ่งไอ้เจ้า sys ตัวนี้มันเป็น library ที่จัดเตรียมฟังก์ชันและตัวแปรที่ใช้เพื่อจัดการกับส่วนต่างๆของ Python Runtime Environment เอาไว้ ช่วยให้เราเข้าถึงพารามิเตอร์และฟังก์ชันเฉพาะของระบบได้ง่าย ซึ่ง library ตัวนี้ก็มีฟังก์ชันหลากหลายให้เลือกใช้งานเลย เดี๋ยวเราจะไปทำความรู้จักกันทีละตัวกันไปเลย
1. sys.argv คืออะไร
มาถึงตัวแรกกันก่อนเลยก็คือ sys.argv ตัวนี้เป็นหนึ่งในฟังก์ชันหนึ่งของ library sys เท่านั้น หน้าที่ของมันก็คือ ส่งค่ากลับมาเป็นลิสต์ของ String 2 ตัว ก็คือ ชื่อไฟล์ที่เรารันปัจจุบันเป็นสมาชิกของลิสต์ตัวแรก และ อากิวเมนท์ที่เราใส่เข้าไปเป็นสมาชิกที่ตัวที่ 2 ทีนี้บางคนก็อาจจะงงว่าเอ๊ะแล้ว อากูเมนท์ (arguements) ที่ว่าเนี่ยมันคืออะไรกันแน่อีก
ความหมายของอากิวเมนท์ Arguement
arguement คือ ค่าที่เราโยนเข้ามาให้กับไฟล์ python ที่เรากำลังรันอยู่ จาก command line หรือ terminal นั่นเอง อาจจะงงมาดูตัวอย่างกันเลย
ภาพที่ 1 code การทำงานของ sys.argv