Python รายงาน:วิชาหลักการเขยี นโปรเเกรม จดั ทาํ โดย นางสาวอณิชา ทองคําตอน นางสาวสนุ ันทา ขําบรสิ ทุ ธ์ิ นางสาวชารณิ ี ประทุมเกษร
คํานํา Pythone-Book เร่อื ง เลม่ น้ีจดั ทาํ ข้นึ เพ่ือศึกษาค้นควา้ หาความรูเ้ ก่ยี วกบั ภาษาไพธอนเพ่ือทาํ เปน็ เอกสารประกอบการเรยี นคอมพิวเตอร์ ท้งั น้ีทางคณะผู้จดั ทาํ หวังเปน็ อย่างย่ิงว่ารายงานเลม่ น้ีจะเปน็ ประโยชน์ต่อผู้ท่ไี ด้มาศึกษาเปน็ อย่าง ย่ิง และทางคณะผู้จดั ทาํ ขอขอบคณุ ผู้ท่มี ีส่วนช่วยใหร้ ายงานเลม่ น้ีสําเรจ็ มา ณ โอกาสน้ีด้วย
สารบญั
ภาษา Python ภาษาไพทอน คือ ภาษาท่ใี ช้สําหรบั การเขยี นโปรแกรมเปน็ ภาษาสครปิ ต์ ท่สี รา้ ง โดย กโี ด ฟาน รอสซัม (Guido van Rossum) ในพ.ศ. 2533 ปจั จุบันดแู ล โดย มูลนิธซิ อฟต์แวรไ์ พทอน ซ่ึงมีโครงสรา้ งคําส่ังท่ไี ม่ซับซ้อน เขา้ ใจงา่ ย สามารถทดสอบการทํางานตามคําส่ังและตรวจสอบผลลัพธไ์ ด้ทนั ที และสามารถ นําไปใช้ในการเขยี นโปรแกรมท่ซี ับซ้อนมากข้นึ ในการทาํ งานจรงิ ในอนาคตได้ นอกจากน้ีในหนังสือเรยี นวิทยาการคํานวณช้ัน ม.1 ของ สสวท. กใ็ ช้ภาษาไพทอน ในการสอนเขยี นโปรแกรมด้วย
Python น้ันมีคุณสมบตั ิเปน็ ภาษาเขยี นโปรแกรมแบบไดนามิกส์และมีระบบการจดั การหน่วยความจาํ อตั โนมัติ และสนับสนุนการเขยี นโปรแกรมหลายรูปแบบ ท่ปี ระกอบไปด้วย การเขยี นโปรแกรมเชิงวตั ถุ imperative การ เขยี นโปรแกรมแบบฟงั กช์ ัน และการเขยี นโปรแกรมแบบข้นั ตอน มันมีไลบราร่ที ่คี รอบคลมุ การทาํ งานอย่าง หลากหลาย ตัวแปรในภาษา Python น้ันมีใหใ้ ช้ในหลายระบบปฏบิ ตั ิการ ทาํ ใหโ้ ค้ดของภาษา Python สามารถรนั ในระบบ ต่างๆ ได้อย่างกว้างขวาง CPython น้ันเปน็ การพัฒนาในตอนต้ันของ Python ซ่ึงเปน็ โปรแกรมแบบ open source และมีชุมชนสําหรบั เปน็ ต้นแบบในการพัฒนา เน่ืองจากมันได้มีการนําไปพัฒนากระจายไปอย่าง หลากหลาย CPython น้ันจงึ ถูกจดั การโดยองค์กรไม่แสวงหาผลกาํ ไรอย่าง Python Software Foundation
โคด้ ของ Python ถกู สรา้ งข้นึ มาจากภาษาซี การประมวลผลจะทาํ ในแบบอนิ เทอรพ์ รเี ตอร์ คือจะประมวลผลไปทลี ะ บรรทดั และปฏบิ ตั ิตามคําส่ังท่ไี ด้รบั Python เวอรช์ ันแรกคือ เวอรช์ ัน 0.9.0 ออกมาเม่ือปี 2533 และเวอรช์ ันปจั จุบนั คือ 3.8 ( วันท่ี 2019-11-11) นามสกลุ ไฟล์ ต่างๆของ ภาษา Python .py, .pyi, .pyc, .pyd, .pyo (ต้ังแต่เวอรช์ ่ัน 3.5), .pyw, .pyz (ต้ังแต่เวอรช์ ่ัน 3.5) ใครสนใจ อยากรูว้ ่าแต่ละนามสกลุ ของภาษา Python ไว้ทาํ อะไร พูดคยุ กบั เราได้ท่เี ว็บบอรด์ Python ตัวอย่างโค้ด Hello word ด้วย ภาษา Python
ประวัตขิ องภาษา Python ภาษา Python น้ันกาํ เนิดข้นึ ในปลายปี 1980 และการพัฒนาของมันน้ันเร่มิ ต้นใน December 1989 โดย Guido van Rossum ท่ี Centrum Wiskunde & Informatica (CWI) ในประเทศเนเธอรแ์ ลนด์ เน่ืองในผู้ประสลความสําเรจ็ ในกา สรา้ งภาษา ABC ท่มี ีความสามารถสําหรบั การ exception handling และการติดต่อผสานกบั ระบบปฏบิ ตั ิการ Amoeba ซ่ึง Van Rossum น้ันเปน็ ผู้เขยี นหลกั การของภาษา Python และเขาทาํ หน้าเปน็ กลางในการตัดสินใจสําหรบั ทศิ ทางการ พัฒนาของภาษา Python
ไวยากรณ์ของภาษา Python ภาษา Python น้ันถูกพัฒนาข้นึ มาโดยมีความต้ังใจว่าจะใหเ้ ปน็ ภาษาท่อี ่านงา่ ย มันถูก ออกแบบมาใหม้ ีโครงสรา้ งท่มี องเหน็ ได้โดยไม่ซับซ้อน โดยมักจะใช้คําในภาษาองั กฤษในขณะท่ี ภาษาอ่นื ใช้เคร่อื งหมายวรรคตอน นอกจากน้ี Python มีขอ้ ยกเว้นของโครงสรา้ งทางภาษา น้อยกว่าภาษา C และ Pascal
Major คือเวอรช์ ันการเปล่ยี นแปลงหรอื เพ่ิม API หลกั จาํ นวนมาก และไม่รองรบั การเรยี กใช้งาน API จากเวอรช์ ัน เกา่ ได้ ทาํ ใหช้ ุดคําส่ังของท้งั เวอรช์ ันใหม่และเวอรช์ ันเกา่ ไม่สามารถทาํ งานรว่ มกนั ได้ ตัวอย่างเช่น ชุดคําส่ังของ เวอรช์ ัน Python 2.x จะไม่สามารถนํามาใช้งานในเวอรช์ ัน Python 3.x ได้ Minor คือเวอรช์ ันการเปล่ยี นแปลงหรอื เพ่ิมฟงั กช์ ันการทาํ งานใหม่เพียงเลก็ น้อย โดยไม่กระทบการทาํ งานของชุดคําส่ัง เวอรช์ ันปจั จุบนั ท่ใี ช้งานอยู่ (Backward compatibility) ตัวอย่างเช่น หากในปจั จุบนั เราใช้งานเวอรช์ ัน Python 3.7.2 เม่ือมีการพัฒนาเวอรช์ ันใหม่เปน็ Python 3.8.0 ในอนาคต ผู้ใช้งานสามารถดาวน์โหลดเพ่ือ ติดต้ังใช้งานได้โดยไม่กระทบการทาํ งานของเวอรช์ ันเดิมแต่อย่างใด
Patch คือเวอรช์ ันการปรบั ปรุงการทาํ งานหรอื แกไ้ ข Bugs ต่าง ๆ ของเวอรช์ ันหลกั ปจั จุบนั ตัวอย่างเช่น หากมีการพัฒนา เวอรช์ ันใหม่เปน็ Python 3.7.3 ในอนาคต ผู้ใช้งานสามารถนําใช้งานได้โดยไม่กระทบการทาํ งานของเวอรช์ ันเดิม สําหรบั เหตุผลท่ภี าษาโปรแกรม Python ได้มีการพัฒนาและเปล่ยี นแปลงหลกั จากเวอรช์ ัน Python 2.x ไปเปน็ Python 3.x เน่ืองจากมีความต้องการท่จี ะปรบั ปรุงและแกไ้ ขขอ้ เสียของเวอรช์ ันเดิมท่สี ะสมมานาน เน่ืองจากเปน็ เวอรช์ ันท่อี อกแบบและพัฒนามาต้ังแต่ปี 2000 เพราะว่าถา้ หากต้องการท่จี ะแขง่ ขนั กบั ภาษาโปรแกรมต่าง ๆ ท่ไี ด้รบั ความนิยมอยู่ในปจั จุบนั รวมถงึ ภาษาโปรแกรมท่เี กดิ ข้นึ ใหม่ ท่พี ยายามแกไ้ ขปญั หาและอาํ นวยความสะดวกในการเขยี น โปรแกรมใหด้ ีย่ิงข้นึ อยู่ตลอดเวลา จงึ ต้องมีการขดั เกลาและเปล่ยี นแปลงข้นึ โดยการเปล่ยี นแปลงหลกั ในเวอรช์ ัน Python 3.x สามารถแบง่ ออกเปน็ ประเด็นต่าง ๆ
Hello, world with Python สําหรบั กา้ วแรกของการเขา้ ส่โู ลกของการเขยี นโปรแกรมหรอื การเรยี นเขยี นโปรแกรมภาษาใหม่ ส่ิงหน่ึงท่ถี อื ได้วา่ เปน็ ธรรมเนียมปฏบิ ตั ิก็คือการใหค้ อมพิวเตอรแ์ สดงประโยค “hello, world” ผ่านทางหน้าจอ ด้วยเหตผุ ลเพราะวา่ เปน็ โปรแกรมท่มี ีขนาดเลก็ มาก มีความงา่ ย และสามารถเขยี นได้ทกุ ภาษา จงึ เหมาะสําหรบั มือใหม่ท่เี พ่ิงเร่มิ ต้น เพ่ือทาํ ความ ค้นุ เคยกบั กระบวนการเขยี นโปรแกรมเพ่ือส่ังงานคอมพิวเตอร์ นอกจากน้ันยังเปน็ การตรวจสอบใหแ้ น่ใจวา่ โปรแกรมท่ไี ด้ ถกู ติดต้ังเพ่ือใช้ในการเขยี นโปรแกรมมีการทาํ งานอย่างถกู ต้อง
แนะนําการเขียนโปรแกรมด้วยภาษา Python การเขยี นโปรแกรมคอมพิวเตอรถ์ อื ได้ว่าเปน็ ทกั ษะอย่างหน่ึง โดยความหมายของคําวา่ “ทกั ษะ” คือส่ิงท่สี ามารถเรยี นรู้ ฝกึ ฝน และพัฒนาจนเกดิ ความชํานาญได้โดยไม่จาํ เปน็ ต้องมีพรสวรรค์ใดๆ การเขยี นโปรแกรมก็เช่นเดียวกนั ครบั ต้อง ฝกึ ฝนการคิดวิเคราะห์ และแกไ้ ขปญั หาอย่างเปน็ ข้นั ตอน มีความเขา้ ใจหลกั ภาษาและไวยากรณ์ของภาษาโปรแกรมเพ่ือ ส่ังงานคอมพิวเตอร์ ใช้งานชุดคําส่ังของภาษาโปรแกรมได้อย่างเหมาะสม และฝกึ ลงมือปฏบิ ตั ิจากการทาํ โครงการเพ่ือแก้ ปญั หาจรงิ ผู้เขยี นเช่ือเหลอื เกนิ วา่ ผู้อา่ นจะสามารถเขยี นโปรแกรมได้อย่างแน่นอน
1.ง่ายตอ่ การเรยี นรู้ Python เปน็ ภาษาโปรแกรมระดับสงู (High-level programming) มีโครงสรา้ งท่ไี ม่ซับซ้อน ทาํ ใหง้ า่ ยต่อการเรยี นรู้ เม่ือเปรยี บเทยี บกบั ภาษาโปรแกรมอ่นื ๆ ไม่ว่าจะเปน็ เด็กวยั ประถม หรอื ผู้ใหญ่วัยทาํ งานก็สามารถท่จี ะเรยี นรูไ้ ด้ ขอ้ ดีดังกลา่ วทาํ ใหเ้ รา เน้นความสนใจไปกบั การแกป้ ญั หาจรงิ ๆ มากข้นึ และช่วยลดเวลา สําหรบั การตรวจสอบโครงสรา้ งและสัญลกั ษณต่างๆ ของภาษาให้ น้อยลง ดังน้ันการเลอื กภาษา Python เปน็ ภาษาแรก จะทาํ ใหผ้ ู้ท่ี เร่มิ ต้นศึกษาการเขยี นโปรแกรมสามารถใช้เวลาต้ังแต่การเรยี นรูไ้ ป จนถงึ การเขยี นโปรแกรมเพ่ือใช้งานจรงิ ในระยะเวลาท่เี รว็ ข้นึ ได้
2.นําไปใช้งานจรงิ ได้ นอกจาก Python จะเปน็ ภาษาโปรแกรมท่นี ํามาใช้เพ่ือศึกษาการเขยี นโปรแกรมแลว้ แต่เราก็สามารถนําไปใช้งานได้จรงิ และมีประสิทธภิ าพได้ ทาํ ให้ บรษิ ัทและองค์กรใหญ่ระดับโลก เช่น Google, Facebook, YouTube, Netflix, Dropbox, Agoda และ NASA เลอื กท่จี ะนําภาษา Python มาใช้ในการพัฒนาเพ่ือสรา้ งผลติ ภณั ฑซ์ อฟต์แวร์ โดยมีผู้ใช้งานจรงิ หลายลา้ นคนท่วั โลก
มีไลบรารคี รอบคลมุ การใช้งานตา่ งๆ เน่ืองจากภาษาโปรแกรม Python สามารถนําไปพัฒนาซอฟต์แวรเ์ พ่ือตอบสนองความต้องการในงานทางด้าน ต่างๆ ได้ ทาํ ใหม้ ีนักพัฒนาจาํ นวนมากต้องการแบง่ ปนั ผลงานรว่ มกบั นักพัฒนาคนอ่นื ๆ เพ่ือใหภ้ าษา Python มีค วามสามารถมากข้นึ โดยมี Python Package Index (PyPI) ซ่ึงเปน็ แหลง่ รวบรวมโมดลู และไลบรารคี รอบ คลมุ การใช้งานทางด้านต่างๆ เช่น วทิ ยาศาสตร์ วิทยาศาสตรข์ อ้ มูล พัฒนาเว็บไซต์ ระบบคอมพิวเตอรฝ์ งั ตัว ระบบ เครอื ขา่ ย และอ่นื ๆ อกี มากมาย โดยสามารถเขา้ ไปค้นหาและดาวน์โหลดโมดูลท่ตี ้องการได้ท่ี https://pypi.org/ หลงั จากน้ันก็สามารถนํามาใช้งานในโปรแกรมของเราได้ทนั ที
งานทางด้าน Data Science ในปจั จุบนั งานทางด้านวิทยาศาสตรข์ อ้ มูล (Data Science) ได้รบั ความสนใจเปน็ อย่างมาก เน่ืองจากบนอนิ เทอรเ์ น็ตมีขอ้ มูลใหม่เกดิ ข้นึ ตลอดเวลา และมีปรมิ าณขอ้ มูลระดับมหาศาล (Big Data) ดังน้ันหากเรานําขอ้ มูล เหลา่ น้ีมาทาํ วิเคราะหใ์ นรูปแบบต่างๆ เพ่ือเปน็ ประโยชน์ทางด้านธุรกจิ หรอื ด้านอ่นื ๆ จะทาํ ใหอ้ งค์กรสามารถสรา้ ง ความได้เปรยี บเหนือคู่แขง่ ได้ สําหรบั ภาษาโปรแกรม Python มีไลบรารที ่คี รอบคลมุ การทาํ งานทางด้านวทิ ยาศาสตรข์ อ้ มูลท่มี ีคุณภาพ เปน็ ท่ี นิยม และพรอ้ มใช้งานอยู่จาํ นวนมาก โดยสามารถแสดงขอ้ มูลดังตารางด้านลา่ งน้ี หนา ท่ี รายชอื่ โมดูล การจัดการขอมลู (Data Manipulation) Pandas คณติ ศาสตรและสถิติ (Mathematics and Statistics) NumPy SciPy และ Statsmodels การสรา งโมเดลแบบการเรียนรขู องเคร่ืองจักร (Machine Scikit-Learn TensorFlow Keras และ Learning) PyTorch
มีชุมชนนักพัฒนา ในปจั จุบนั ภาษา Python ได้รบั ความนิยมสูงอย่างต่อน่ือง นอกจากน้ันการเขยี นโปรแกรมไม่ได้จาํ กดั อยู่เฉพาะในแวดวงของ Computer Science เทา่ น้ัน แต่ผู้ท่ที าํ งานสาขาอ่นื ก็อาจมีความต้องการจะนําไปใช้ประโยชน์ในงานทางด้านอ่นื ๆ ด้วย ทาํ ให ชุมชนนักพัฒนาท่ใี ช้งานภาษา Python เกดิ ข้นึ บนอนิ เทอรเ์ น็ตจาํ นวนมาก หากต้องการศึกษาหาความรูเ้ พ่ิมเติม กม็ ีเน้ือหาท คณุ ภาพในรูปแบบต่างๆ เช่น วดิ ีโอ หนังสือ บทความ และเอกสารบนอนิ เทอรเ์ น็ตใหค้ ้นคว้าเพ่ิมเติมได้ ถา้ หากติดปญั หาใดๆ สามารถค้นหาวธิ กี ารแกป้ ญั หาของคนท่เี คยพบปญั หามากอ่ น หรอื อาจจะขอความช่วยเหลอื จากสังคมนักพัฒนาท่ชี อบแบง่ ปนั ขอ้ มูลความรูร้ ะหว่างกนั และกนั บนอนิ เทอรเ์ น็ตได้ เช่น Stack Overflow และ Quora เปน็ ต้น
ทาํ งานได้หลายแพลตฟอรม์ แม้ว่าในช่วงแรกภาษา Python ได้ถูกออกแบบมาใหท้ าํ งานบนระบบปฏบิ ตั ิการ Unix เพียงอย่างเดียว อย่างไรกต็ ามได้มี การพัฒนาใหส้ ามารถนําไปใช้งานได้หลายระบบปฏบิ ตั ิการอ่นื ๆ ได้ด้วย เช่น Windows Mac และ Linux ดังน้ันนัก พัฒนาสามารถเขยี นโปรแกรมเพียงคร้งั เดียว แต่สามารถนําไปใช้งานบนคอมพิวเตอรเ์ คร่อื งใดก็ได้ ทาํ ใหช้ ่วยลดระยะเวลา และค่าใช้จา่ ยในการพัฒนา ทดสอบ และบาํ รุงรกั ษาซอฟต์แวรใ์ หส้ ามารถใช้งานเปน็ ปกติได้ทกุ ระบบปฏบิ ตั ิการ
รายได้ดีและเปน็ ท่ตี ้องการขององค์กรต่างๆ นักพัฒนาโปรแกรมด้วยภาษา Python เปน็ ท่ตี ้องการในสายงานทางด้านพัฒนาซอฟต์แวรอ์ ย่างมาก โดยขอ้ มูลลา่ สดุ ของเว็บไซต์ indeed.com (ขอ้ มูลเดือนตลุ าคม ปี 2018) ในประเทศสหรฐั อเมรกิ า มีอตั ราการจา้ งงานนักพัฒนาด้วย ภาษา Python จาํ นวนมาก โดยมีรายได้เฉล่ยี สูงถงึ ประมาณ $120,432 เหรยี ญ/ปี ดังน้ันผู้ท่เี ขยี นโปรแกรมด้วย ภาษา Python ได้ กจ็ ะสามารถสรา้ งรายได้ใหก้ บั ตัวเอง และมีโอกาสในการทาํ งานกบั องค์กรทกุ ระดับได้
Search
Read the Text Version
- 1 - 22
Pages: