มหาวิทยาลัยราชภัฎลำปาง Lampang Rajarhat university การเขียนไพทอนเบื้องต้น นางสาวณัฎฐณิชา ชัยเขียว คณะครุศาสตร์ สาขาคอมพิวเตอร์ รหัส 65181550106 เอกสารประกอบการสอน ชั้นมัธยมศึกษาปีที่ 1
การเขียนไพทอนเบอ้ื งต้น Python ณัฎฐณชิ า ชัยเขียว รหัสนกั ศึกษา 65181550106 ค.บ.(คอมพวิ เตอร์) คณะครศุ าสตร์ มหาวิทยาลัยราชภัฏลำปาง 2565
ก คำนำ เอกสารประกอบการสอนเรอื่ งการเขียนไพทอนเบือ้ งต้นผูเ้ ขียนได้เรียบเรยี งขน้ึ เพอื่ ใชป้ ระกอบการ เรียนการสอนรายวิชาคอมพวิ เตอรส์ ำหรับนักเรียนระดับช้ันมธั ยมศกึ ษาตอนต้นหรอื บุคคลทส่ี นใจโดยผเู้ ขียนได้ เรียบเรยี งจากแหลง่ ข้อมูลต่างๆผู้เขียนไดแ้ บ่งเนือ้ หาของเอกสารประกอบการสอนเลม่ นไี้ ว้ 6 หัวขอ้ โดยมงุ่ เน้น ให้ผเู้ รียน มีความรู้ความเขา้ ใจไดล้ ำดบั เน้อื หาตง้ั แต่ความหมายภาษาไพทอน การตดิ ตง้ั โปรแกรมไพทอนไอดอี ี โครงสรา้ งของภาษาไพทอน ตัวแปรและประเภทข้อมลู คำสั่งต่างๆในไพทอน ฝกึ เขยี นโปรแกรมกบั เตา่ ไพทอน ขอขอบพระคุณนักวิชาการ เจ้าของหนังสอื ตำรา เอกสารวิชาการตา่ งๆ ทใี่ ชใ้ นการคน้ คว้าและอ้างองิ จึงทำให้ ผลงานเล่มนมี้ คี วามสมบรู ณ์ ควบคลุมเนอื้ หา รวมทั้งผ้ใู ห้การสนับสนุนและอำนวยความสะดวกจนสำเร็จลลุ ่วง เปน็ รปู เลม่ ได้ด้วยดี ผเู้ ขยี นหวงั เปน็ อย่างยงิ่ ว่า เน้อื หาสาระของเอกสารเล่มนี้ จะเป็นประโยชน์และให้ความรแู้ ก่ นักเรยี นและผทู้ ส่ี นใจทว่ั ไป นางสาว ณฎั ฐณชิ า ชัยเขยี ว คณะครศุ าสตร์ สาขาคอมพิวเตอร์ มหาวิทยาลัยราชภฏั ลำปาง
สารบญั ข คำนำ หนา้ สารบัญ ก สารบญั ภาพ ข สารบัญตาราง ข บทที่ 1 การเขยี นไพทอนเบอื้ งตน้ ข 1.1 ความหมายภาษาไพทอน 1 1.2 การติดตั้งโปรแกรมไพทอนไอดีอี 4 1.3 โครงสรา้ งของภาษาไพทอน 7 1.4 ตวั แปรและประเภทขอ้ มูล 13 1.5 คำส่งั ตา่ งๆในไพทอน 21 1.6 ฝึกเขยี นโปรแกรมกับเต่าไพทอน 24 1.7 บทสรปุ 31 1.8 แบบฝกึ หดั ท้ายบท 32 บรรณานกุ รม ค บรรณานกุ รมภาพ ค บรรณานกุ รมตาราง ค
สารบญั ภาพ ข ภาพที่ หนา้ 1 – 1 ภาพไฟล์ทีเ่ ลือกตดิ ต้งั ของโปรแกรมไพทอนไอดีอี 4 1 - 2 ภาพการเลอื กดาวนโ์ หลดไฟล์ 5 1 - 3 ภาพหนา้ ตา่ งของโปรแกรมเมื่อเปดิ ขนึ้ มา 5 1 - 4 ภาพหน้าต่างโปรแกรมเมอื่ ติดต้งั โปรแกรม 6 1 - 5 ภาพหนา้ ตาโปรแกรมเมอ่ื ติดต้งั เสร็จสมบรู ณ์ 6 1 - 6 ภาพการคน้ หาโปรแกรมไพทอนไอดี 7 1 - 7 ภาพแสดงผลลพั ธ์ 8 1 - 8 ภาพแสดงผลลพั ธ์ 24 1 - 9 ภาพแสดงผลลพั ธ์ 25 1 - 10 ภาพแสดงผลลัพธ์ 26 1 - 11 ภาพแสดงผลลพั ธ์ 27 1 - 12 ภาพแสดงผลลัพธ์ 28 1 - 13 ภาพแสดงผลลัพธ์ 29 1 - 14 ภาพแสดงผลลพั ธ์ 30
สารบญั ตาราง ข ตารางที่ หนา้ 1 - 1 ตารางkeyWords ของไพทอน 13
1 บทท่ี 1 การเขียนไพทอนเบื้องต้น Python โลกในยคุ ดิจิทลั (Digital age) ได้มีความก้าวหน้าในการพฒั นาเทคโนโลยอี ย่างรวดเร็วแบบกา้ วกระโดด ทำใหม้ ีบทบาทสำคัญในการพัฒนาขบั เคลื่อนธรุ กจิ และอำนวยความสะดวกในชีวิตประจำวันเชน่ การทำธุรกรร มทางการเงินกับธนาคารแบบออนไลน์การใช้ระบบสง่ั การคอมพวิ เตอร์ดว้ ยเสียงการตรวจสขุ ภาพเบอ้ื งตน้ ด้วย แอปพลิเคชนั บนมือถอื และระบบGoogleSearchทีส่ ามารถรูว้ ่าคุณกำลังค้นหาขอ้ มลู อะไรกอ่ นที่เราจะพิมพ์จบ ประโยคเปน็ ตน้ นอกจากนัน้ ยังมนี วตั กรรมเทคโนโลยที ี่มคี วามลำ้ หนา้ ต่างๆโดยเฉพาะงานทางด้านปญั ญาประดิ ษฐ์ (Artificial Intelligence) เชน่ บริษทั DeepMind ไดพ้ ฒั นาระบบคอมพิวเตอร์ Alpha Go ท่ีสามารถแขง่ ขนั เอาชนะเกมหมากลอ้ มเหนอื แชมปโ์ ลกไดแ้ ละยงั มีระบบคอมพวิ เตอรล์ า่ สดุ ท่ีช่อื ว่าAlphaStar ท่ีสามารถเอาชนะทีมมนุษยใ์ นเกมStarCraftIIไดร้ วมถงึ รถยนตไ์ รค้ นขบั ท่สี ามารถเดนิ ทางบนถนนไดจ้ รงิ และหุ่นยนตค์ อมพิวเตอรท์ ่จี ะสามารถทำงานทดแทนมนุษยไ์ ดใ้ นอนาคต ดงั น้ันในบทนี้ผเู้ ขียนจะไดก้ ลา่ วถึงภาพรวมทีจ่ ำเป็นต้องศึกษาได้แก่ความหมายภาษาไพทอน การตดิ ตั้งโปรแกรมไพทอนไอดีอี โครงสร้างของภาษาไพทอน ตวั แปรและประเภทขอ้ มูล คำสงั่ ต่างๆในไพทอน ฝึกเขียนโปรแกรมกบั เต่าไพทอน ซ่งึ ผูเ้ ขยี นได้สรุปประเด็นตา่ งๆมรี ายละเอียดดังตอ่ ไปนี้ 1.1 ความหมายของภาษาไพทอน ภาษาไพทอน(Python)เปน็ ภาษาการเขียนโปรแกรมระดบั สงู ทนี่ ำข้อดีของภาษาต่างๆมารวมไว้ด้วยกั นถกู ออกแบบมาให้เรียนรู้ไดง้ า่ ยและมีไวยากรณท์ ีช่ ่วยให้เขยี นโคด้ ส้นั กว่าภาษาอนื่ ๆมคี วามสามารถใช้ชนดิ ข้อ มูลแบบไดนามกิ จัดการหนว่ ยความจำอตั โนมัติสนับสนนุ กระบวนทศั น์การเขยี นโปรแกรม (Programming paradigms)ประกอบดว้ ยการเขยี นโปรแกรมเชงิ วตั ถ(ุ OOP:ObjectOrientedProgramming)การเขียนโปรแก รมเชงิ คำสั่ง(ImperativeProgramming)การเขยี นโปรแกรมเชิงฟงั ก์ชั่น(Functional)และการเขยี นโปรแกรมเ ชิงกระบวนการมลี ักษณะเป็นภาษาสครปิ ตท์ ่ที ำงานรว่ มกบั ภาษาอ่ืนได้มไี ลบรารม่ี าตรฐานมากมายและใชอ้ ินเต อร์พรเี ตอรแ์ ปลภาษาโปรแกรมให้ทำงานบนระบบปฎิบตั ิการไดห้ ลากหลาย ท้งั บน Windows, MAC, Linux และUnixนอกจากนน้ั ยังเป็นโปรแกรมแบบOepnsourceทน่ี ำใชไ้ ดฟ้ รเี หมาะสำหรบั โปรแกรมท้ังขนาดเล็กและ ขนาดใหญ่ เช่นการสรา้ งเกม,เฟรมเวิร์ค พัฒนาเวบ็ โปรแกรมท่ใี ชก้ ราฟฟิคติดตอ่ กับผใู้ ชง้ าน(GUI)คำนวนทาง วิทยาศาสตร์และสถิติงานพัฒนาซอฟต์แวรแ์ ละซอฟต์แวรค์ วบคุมระบบเปน็ ต้น (meck,2563)
2 ประวัตคิ วาม Python แต่ละเวอรช์ น่ั เรมิ่ พัฒนาเมอื่ - December, 1989 เผยแพรค่ รั้งแรกที่CentrumWhiskered&Informatica-1990 Python 0.9.0 - February 20, 1991 Python 0.9.1 - February, 1991 Python 0.9.2 - Autumn, 1991 Python 0.9.4 - December 24, 1991 Python 0.9.5 - January 2, 1992 Python 0.9.6 - April 6, 1992 Python 0.9.8 - January 9, 1993 Python 0.9.9 - July 29, 1993 Python 1.0 - January 1994 Python 1.2 - April 10, 1995 Python 1.3 - October 12, 1995 Python 1.4 - October 25, 1996 Python 1.5 - December 31, 1997 Python 1.6 - September 5, 2000 Python 2.0 - October 16, 2000 Python 2.1 - April 15, 2001 Python 2.2 - December 21, 2001 Python 2.3 - July 29, 2003 Python 2.4 - November 30, 2004 Python 2.5 - September 19, 2006 Python 2.6 - October 1, 2008 Python 2.7 - July 3, 2010 ===> เวอรช์ ่นั สุดทา้ ยของ Python 2 ได้รบั ความนยิ มและคนใช้กนั เยอะมาก Python 3.0 - December 3, 2008 Python 3.1 - June 27, 2009 Python 3.2 - February 20, 2011 Python 3.3 - September 29, 2012
3 Python 3.4 - March 16, 2014 Python 3.5 - September 13, 2015 Python 3.6 - December 23, 2016 Python 3.7 - June 27, 2018 Python 3.8 - October 14, 2019 ===> เวอรช์ นั่ ปัจจบุ ันของ Python คุณลักษณะเดน่ ของภาษา Python 1.สนบั สนุนแนวแบบคดิ ออปเจกตโ์ อเรยี นเทด หรอื OOP (Object Oriented Programming) 2.เป็น Open Source 3.โคด้ ทเ่ี ขียนด้วย Python สามารถนำไปรนั บนระบบปฏิบัติการได้หลากหลาย 4.สนบั สนุนเทคโนโลยี COM ของ Ms-windows 5.Python รวมมาตรฐานการอินเตอร์เฟส Tkinter ซง่ึ สนบั สนุนบนระบบ X windows, Ms-windows และ Macintoshการใช้คำสัง่ TkinterAPIช่วยให้โปรแกรมเมอรไ์ มต่ อ้ งแกไ้ ขโค้ดเมอ่ื นำไปรนั บนระบบปฏิบัติการอ่ืนๆ 6.เปน็ Dynamic typing คือ สามารถเปลี่ยนชนิดข้อมลู ไดง้ ่ายและสะดวก 7. มี Buil-in Object Types คือ โครงสรา้ งของข้อมูลทส่ี ามารถใช้ไดใ้ น Python ประกอบดว้ ย ลิสต์, ดิกชันนาร,ี สตรงิ ทีง่ ่ายตอ่ การใช้งานและมีประสทิ ธภิ าพสูง 8.มีเครอื่ งมือตา่ งๆมากมาย เช่น การประมวลผลเทก็ ซไ์ ฟล์ การเรียงข้อมูล การเชื่อมต่อสตริง การตรวจสอบเง่อื นไขของขอ้ ความ การแทนคำ เปน็ ต้น 9.มีโมดลู สำหรับจดั การ Regular Expresion 10.มีมอดูลท่สี รา้ งขึ้นจากนักพฒั นาสนับสนนุ มากมาย ไดแ้ ก่ COM, Image, CORBA, ORBs, XML เปน็ ตน้ 11.จัดการหนว่ ยความจำอยา่ งอตั โนมตั ิสามารถจักการพ้ืนที่หนว่ ยความจำที่ไมต่ ่อเนื่องให้ทำงานไดอ้ ย่างมีประ สิทธิภาพ 12.อนุญาตให้ฝังชุดคำสงั่ ของ Python เอาไวภ้ ายในโคด๊ ภาษา C/C++ ได้ 13.อนุญาตใหโ้ ปรแกรมเมอรส์ รา้ ง Dynamic Link Libray (DLL) เพ่ือใช้รว่ มกับ Python 14.มีมอดูลสนับสนุนเกยี่ วกบั เนต็ เวิรก์ โปรเซส เธรด regular, expression, xml, GUI และอื่นๆ
4 15.ประกอบด้วยมอดูลสำหรบั สร้าง Internet Script และติดตอ่ กบั อนิ เทอรเ์ นต็ ผ่าน Sockets, และทำหน้าทเี่ ป็น CGI Script ตรอดจนใข้งานคำสั่ง FTP , Glopher, XML และอื่นๆอกี มาก 16.สามารถประมาลผมทางด้านวิยาศาสตร์ และวศิ วกรรมศาสตร์ไดอ้ ย่างมีประสทิ ธภิ าพ 17.มฟี งั กช์ ันสนบั สนุนฐานขอ้ มลู เช่น MySQL, Sybase, Oracle , Informix, ODBC และอ่ืนๆ 18.มีไลบรารีสนบั สนุนด้านการสรา้ งภาพกราฟฟิก เชน่ ทำภาพเบลอ หรือภาพชัด หรือเขยี นข้อความบนภาพ ตลอดจนบันถกึ ไฟลใ์ นรปู แบบต่างๆ ไดอ้ ย่างสะดวกและมปี ระสิทธิภาพ 19.มไี ลบรารีสนบั สนุนดา้ นปัญยาประดษิ ฐ์ 20.มไี ลบรารีสำหรบั สร้างเอกสาร PDF โดยไม่ต้องตดิ ต้ัง Acrobat Writer 21.มไี ลบรารีสำหรับสร้าง Shockwaves Flash (SWF) โดยไมต่ ้องติดตงั้ Macromedia Flash(Python,2562) 1.2การติดตั้งโปรแกรมไพทอนไอดีอี 1.ดาวน์โหลดไฟล์ติดตัง้ ของไพทอนจาก https://www.python.org/dowloads/ 2.เลือก“python 3.6.3”จากนั้นกด “download “ ภาพท่ี 1-1 ภาพไฟลท์ ่ีเลือกตดิ ตง้ั ของโปรแกรมไพทอนไอดีอี ท่ีมา : https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html
5 3.เม่อื กดคำว่า \"Download\" แล้วให้เลือก \"Windows x86-64 executable Installer\" ภาพที่ 1-2 ภาพการเลือกดาวนโ์ หลดไฟล์ ท่มี า : https://www.mindphp.com/บทเรียนออนไลน์/83-python/4876-installpython.html 4. เมอ่ื โปรแกรมดาวนโ์ หลดเสรจ็ จะข้นึ หน้าต่างการตดิ ต้งั ใหเ้ ราเลอื ก \"Add Python 3.6 PATH\" และ กดตรง \"Customize installation\" ภาพที่ 1-3 ภาพหนา้ ตาของโปรแกรมเมอื่ เปดิ ข้ึนมา ทม่ี า : https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html
6 5.หลังจากนัน้ ให้คลกิ ตรงคำว่า \"Install for all users\" ภาพที่ 1-4 ภาพหน้าตา่ งการติดต้ังโปรแกรม ทีม่ า : https://www.mindphp.com/บทเรยี นออนไลน/์ 83-python/4876-installpython.html 6.หลังจากนน้ั รอให้โปรแกรมทำการตดิ ตงั้ 7. เมอ่ื โปรแกรมตดิ ต้งั เสรจ็ แลว้ จะขึ้นหนา้ ต่างว่า \"Setup was successful\" เป็นการติดตง้ั อยา่ ง สมบรู ณ์ จากนั้นใหเ้ รากด \"Close\" ภาพที่ 1-5 ภาพหน้าตาโปรแกรมเมื่อตดิ ต้ังเสร็จสมบูรณ์ ท่ีมา : https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html
7 8. หลงั จากน้ัน ทดลองหาโปรแกรม Python ถา้ ขน้ึ ดงั น้ี ก็ถอื วา่ เราติดตัง้ โปรแกรมเสรจ็ สมบูรณ์ ภาพที่ 1-6 ภาพการคน้ หาโปรแกรมไพทอนไอดีอี ท่มี า : https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html (mindphp,มปป) 1.3 โครงสรา้ งของภาษาไพทอน โครงของภาษา Python ในภาษาคอมพิวเตอร์น้นั มโี ครงสร้างของภาษาเชน่ เดยี วกบั ภาษาของมนษุ ย์ เรา ซึง่ สงิ่ เหล่านีถ้ กู กำหนดเพอื่ เป็นรูปแบบและวิธีในการเขยี นโปรแกรมในภาษา Python มนั ใชส้ ำหรบั ควบคมุ วธิ ที เี่ ราจะเขียนโค้ดของคุณเพือ่ ให้เขา้ ใจโดยตัวแปรภาษาหรอื คอมไพเลอร์ ประกอบดว้ ย Simple Python program เพ่อื เรมิ่ ตน้ การเรียนร้ภู าษา Python มาดตู ัวอย่างของโปรแกรมอย่างง่าย โดยเปน็ โปรแกรมทีถ่ ามชอ่ื ผ้ใู ชแ้ ละแสดงขอ้ ความทกั ทายทางหนา้ จอ มาเร่ิมเขยี นโปรแกรมแรกในภาษา Python ของเรา ให้พมิ พ์ โปรแกรมข้างล่างแล้วนำไปรนั ใน IDE first.py # My first Python program name = input('What is your name?\\n') print ('Hi, %s.' % name) print ('Welcome to Python.')
8 ในตวั อย่าง เป็นโปรแกรมในการรบั ช่อื และแสดงขอ้ ความทกั ทายออกทางหน้าจอ ในการรันโปรแกรม คุณสามารถรันได้หลายวธิ ี แตท่ ี่แนะนำคอื การใช้ Python shell ให้คุณเปดิ Python shell ข้นึ มาแล้วกดสรา้ ง ไฟลใ์ หม่โดยไปท่ี File -> New File จะปรากฏกล่อง Text editor ของภาษา Python ขึ้นมา เพอื่ รนั โปรแกรม Run -> Run Module หรือกด F5 โปรแกรมจะเปลย่ี นกลบั ไปยงั Python shell และเรมิ่ ตน้ ทำงาน ภาพที่ 1-7 ภาพแสดงผลลัพธ์ ทีม่ า: http://marcuscode.com/lang/python/program-struct น่ีเป็นผลลัพธ์การทำงานในการรันโปรแกรม first.py จาก Python shell ในตัวอยา่ งเราได้กรอกช่อื เป็น \"Mateo\" หลงั จากน้ันโปรแกรมได้แสดงข้อความทักทายและจบการทำงาน ในตอนนีเ้ รายงั ไม่ตอ้ งกงั วลว่า โปรแกรมในแต่ละบรรทดั ทำงานอยา่ งไร ซ่ึงเราจะอธิบายในต่อไปอกี วิธหี นึง่ สำหรบั การรนั โปรแกรมใน ภาษา Python อยา่ งที่ไดบ้ อกไปในบทก่อนหนา้ คือรนั ผ่าน Command line ดว้ ยคำสงั่ ตอ่ ไปนี้ python first.py Module ในตัวอย่างโปรแกรมรบั ชอ่ื เปน็ โปรแกรมแรกของในบทเรียน Python น้ี เราได้บันทกึ เป็นไฟลท์ ีช่ อ่ื ว่า first.py ซ่ึงไฟล์ของภาษา Python น้นั จะเรยี กวา่ Module ซ่งึ Module จะประกอบไปด้วยคลาส ฟังกช์ นั และตัวแปรตา่ งๆ และนอกจากนเ้ี รายังสามารถ import โมดูลอืน่ เขา้ มาในโปรแกรมได้ ซงึ่ โมดูลอาจจะอยู่ ภายใน package ซึง่ เป็นเหมือนโฟล์เดอรท์ ี่เอาไว้จดั กลมุ่ ของ Module ในตวั อย่าง first.py จงึ เปน็ โมดลู ของ โปรแกรมแรกของเรา
9 Comment คอมเมนต์ในภาษา Python นน้ั เรมิ่ ต้นด้วยเครือ่ งหมาย # คอมเมนต์สามารถเรมิ่ ต้นท่ีตำแหน่งแรก ของบรรทัดและหลังจากนั้นจะประกอบไปด้วย Whilespace หรอื โคด้ ของโปรแกรม หรือคำอธบิ าย ซ่ึง โดยทั่วไปแล้วคอมเมนตม์ ักจะใชส้ ำหรับอธิบายซอสโคด้ ทเี่ ขียนข้ึนและมันไม่มผี ลต่อการทำงานของโปรแกรม นี่ เป็นตวั อย่างการคอมเมนต์ในภาษา Python # My first Python program ''' This is a multiline comment ''' print ('Hello Python.') # Inline comment ในตัวอยา่ ง เราไดค้ อมเมนตส์ ามแบบดว้ ยกัน แบบแรกเปน็ การคอมเมนต์แบบ single line แบบทีส่ อง เปน็ การคอมเมนต์แบบ multi-line และแบบสดุ ท้ายเป็นการคอมมเมนต์แบบ inline หรือการคอมเมนตภ์ ายใน บรรทดั เดยี วกัน Statement คือคำสง่ั การทำงานของโปรแกรม แต่ละคำสั่งในภาษา Python นน้ั จะแบง่ แยกด้วยการขน้ึ บรรทัดใหม่ ซึ่งจะแตกต่างจากภาษา C และ Java ซงึ่ ใชเ้ คร่อื งหมายเซมโิ คลอน (;) ในการจบคำสง่ั การทำงาน แตอ่ ยา่ งไรก็ ตาม ในภาษา Python น้นั เราสามารถมีหลายคำส่งั ในบรรทดั เดยี วกันไดโ้ ดยการใช้เครื่องหมายเซมโิ คลอน name = input('What is your name?\\n') print ('Hi, %s.' % name); print ('Welcome to Python.'); print ('Do you love it?') ในตัวอยา่ ง มี 4 คำสง่ั ในโปรแกรม สองบรรทัดแรกเป็นคำสั่งท่ใี ช้บรรทัดใหม่ในการจบคำส่ัง ซึ่งเปน็ แบบปกติในภาษา Python และบรรทัดสุดท้ายมสี องคำสง่ั ในบรรทดั เดยี วท่ีคัน่ ด้วยเครืองหมายเซมโิ คลอน (;) สำหรับการจบคำสง่ั Indentation and while space ในภาษา Python นั้นใช้ Whilespace และ Tab สำหรบั กำหนดบลอ็ คของโปรแกรม เชน่ คำสัง่ If Else For หรอื การประกาศฟงั ก์ชัน ซึ่งคำส่ังเหล่านี้เป็นคำสั่งแบบล็อค โดยจำนวนช่องว่างท่ีใช้นน้ั ตอ้ งเท่ากนั มาดู ตัวอย่างของบล็อคคำสง่ั ในภาษา Python
10 n = int(input ('Input an integer: ')) if (n > 0): print ('x is positive number') print ('Show number from 0 to %d' % (n - 1)) else: print ('x isn\\'t positive number') for i in range(n): print(i) ในตวั อยา่ ง โปรแกรมน้ันประกอบไปดว้ ย 3 บล็อคท่สี ร้างจาก 3 คำส่งั คำสัง่ แรกคือ If ในบล็อคนี้มีสอง คำส่ังยอ่ ยอยู่ภายใน ที่หวั ของบลอ็ คจะตอ้ งมีเคร่ืองหมายโคลอน (:) กำหนดหลงั คำสง่ั if ในการเรมิ่ ตน้ บลอ็ ค เสมอ อีกสองบล็อคสุดท้ายนัน้ เปน็ คำส่ัง else และ for ซงึ่ แต่ละบล็อคมหี น่ึงคำสงั่ ยอ่ ยอยภู่ ายใน ในภาษา Python น้ันเขม้ งวดกบั ชอ่ งวา่ งภายในบลอ็ คมาก นน้ั หมายความวา่ ทกุ คำสัง่ ย่อยภายในบลอ็ คน้นั ตอ้ งมจี ำนวน ช่องว่างเทา่ กนั เสมอ n = int(input ('Input an integer: ')) # Invalid indent if (n > 0): print ('x is positive number') print ('Show number from 0 to %d' % (n - 1)) # Valid indent else: print ('x isn\\'t positive number') # Valid indent for i in range(n): print(i) นีเ่ ป็นตัวอย่างการใชง้ านชอ่ งว่างที่ถูกตอ้ งและไม่ถกู ต้องภายในบลอ็ ค ในคำสัง่ If นัน้ ไม่ถูกเพราะทั้ง สองคำส่ังมจี ำนวนชอ่ งว่างท่ไี มเ่ ท่ากนั สำหรับในคำส่ัง Else และ For นน้ั ถกู ตอ้ ง
11 Literals ในการเขียนโปรแกรม Literal คอื ตวั อกั ษรหรือเครอื่ งหมายที่ใชแ้ สดงคา่ ของคา่ คงท่ีในโปรแกรม ใน ภาษา Python นน้ั มี Literal ของข้อมูลประเภทต่างๆ เชน่ Integer Floating-point number และ String หรือแม้กระทงั่ ตวั อกั ษรและ boolean นี่เปน็ ตวั อยา่ งของการกำหนด Literal ให้กบั ตัวแปรในภาษา Python a=1 b = -1.64E3 c = True d = \"marcuscode.com\" e = 'A' ในตัวอย่าง เป็นการกำหนด Literal ประเภทตา่ งๆ ให้กบั ตัวแปร ในคา่ ท่ีเปน็ แบบตัวเลขนน้ั สามารถ กำหนดค่าลงไปโดยตรงได้ทันทีและสามารถกำหนดในรูปแบบส้นั ไดอ้ ย่างในตัวแปร b และสำหรบั boolean นน้ั จะเป็น True ส่วน String หรอื Character นนั้ จะตอ้ งอยู่ภายในเคร่ืองหมาย double quote หรือ single quote เสมอ Expressions คือการทำงานร่วมกันระหว่างตวั แปร (หรอื ค่าคงท)่ี และตัวดำเนนิ การ โดยคา่ เหล่านี้จะมตี วั ดำเนนิ การ สำหรบั ควบคมุ การทำงาน ในภาษา Python น้ันมี Expression อย่สู องแบบ แบบแรกคอื Boolean expression เปน็ การกระทำกนั ระหวา่ งตวั แปรและตัวดำเนนิ การเปรียบเทยี บคา่ หรือตวั ดำเนินการ ตรรกศาสตร์ และจะไดผ้ ลลัพธเ์ ป็น Booleanและแบบทีส่ องคอื Expression ทางคณิตศาสตรเ์ ป็นการกระทำ กนั ระหวา่ งตวั แปรและตวั ดำเนนิ การคณติ ศาสตร์ และจะได้รบั คา่ ใหม่เป็นตัวเลขหรอื ค่าท่ีไม่ใช่ Boolean นเ่ี ป็น ตวั อยา่ งของ Expressions ในภาษา Python a=4 b=5 # Boolean expressions print(a == 4) print(a == 5) print(a == 4 and b == 5) print(a == 4 and b == 8) # Non-boolean expressions
12 print(a + b) print(a + 2) print(a * b) print(((a * a) + (b * b)) / 2) print(\"Python \" + \"Language\") ในตวั อยา่ ง มตี ัวแปร a และ b และกำหนดค่าใหก้ ับตวั แปรเหลา่ นี้ และใช้ตัวแปรกบั ตวั ดำเนนิ การ ประเภทต่างๆ ทแ่ี สดง Expression ในรูปแบบของ Boolean expression ทีจ่ ะได้ผลลัพธ์สุดทา้ ยเป็นเพียงคา่ True และ False เท่านนั้ ส่วน Non-Boolean expression นนั้ สามารถเปน็ คา่ ใดๆ ทีไ่ ม่ใช่ Boolean True False True False 9 6 20 20.5 Python Language น่ีเป็นผลลพั ธก์ ารทำงานของโปรแกรมในการทำงานของ Expression ในภาษา Python
13 Keywords เปน็ คำท่ีถกู สงวนไวใ้ นการเขยี นโปรแกรมภาษา Python เราไม่สามารถใช้คำสั่งเหลา่ น้ีในการตั้งชอ่ื ตัว แปร ช่ือฟงั กช์ ัน คลาส หรือตวั ระบุชอื่ ใดๆ ทก่ี ำหนดข้นึ โดยโปรแกรมเมอร์ นีเ่ ป็นรายการของ Keyword ใน ภาษา Python False None True and as assert break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield ตารางท่ี 1-1 ตารางkeywordsของไพทอน ท่ีมา: http://marcuscode.com/lang/python/program-struct (Marcus,2560) 1.4 ตัวแปรและประเภทขอ้ มูล ตวั แปร (Variable) คือชื่อหรอื เคร่อื งหมายทกี่ ำหนดขึน้ สำหรับใช้อา้ งถงึ คา่ ทเ่ี กบ็ ในหนว่ ยความจำ ตัว แปรจะมีช่อื (Identifier) สำหรบั ใช้ในการอ้างถึงขอ้ มลู ของมนั ในการเขยี นโปรแกรม ค่าของตัวแปรสามารถที่ จะกำหนดได้ใน run-time หรอื เปล่ยี นแปลงอยูต่ ลอดเวลาในขณะท่โี ปรแกรมทำงาน (Executing) ในการเขียนโปรแกรมคอมพวิ เตอรน์ น้ั ตวั แปรจะแตกตา่ งจากตัวแปรในทางคณติ ศาสตร์ คา่ ของตวั แปรน้นั ไมจ่ ำเปน็ ต้องประกอบไปดว้ ยสูตรหรือสมการท่สี มบรู ณ์เหมอื นกบั ในคณิตศาสตร์ ในคอมพวิ เตอร์ ตัว แปรนน้ั อาจจะมกี ารทำงานซำ้ ๆ เชน่ การกำหนดค่าในทีห่ นึง่ และนำไปใชอ้ กี ท่หี นงึ่ ในโปรแกรม และนอกจากน้ี ยังสามารถกำหนดค่าใหมใ่ หก้ ับตวั แปรไดต้ ลอดเวลา ต่อไปเปน็ ตวั อย่างของการประกาศตวั แปรในภาษา Python
14 a=3 b = 4.92 c = \"marcuscode.com\" c = 10.5 ในตวั อย่าง เราได้ทำการประกาศ 3 ตัวแปร ในการประกาศตวั แปรในภาษา Python คุณไม่จำเป็นต้อง ระบุประเภทของตัวแปรในตอนที่ประกาศเหมือนในภาษา C ในตัวแปร a มคี า่ เป็น 3 และมีประเภทเป็น Integer ตัวแปร b มีค่าเป็น 4.92 และมีประเภทเป็น Float และตัวแปร c มีคา่ เปน็ \"marcuscode.com\"และ เป็นประเภท String ภายหลังเราไดเ้ ปลี่ยนค่าของตวั แปร c เป็น 10.5 และตัวแปรกลายเปน็ ประเภท Float แทน a, b = 1, 2 x = y = z = 10 print(\"a = \" , a) print(\"b = \" , b) print(\"x = \" , x) print(\"y = \" , y) print(\"z = \" , z) ในภาษา Python นนั้ สนบั สนนุ การกำหนดค่าใหก้ ับตัวแปรหลายคา่ ในคำสัง่ เดยี ว ในตัวอยา่ ง เป็นการ กำหนดค่า 1 และ 2 กบั ตัวแปร a และ b ตามลำดบั และในคำส่งั ตอ่ มาเปน็ การกำหนดค่า 10 ให้กบั ตวั แปร x y และ z ซงึ่ ทำให้การเขียนโปรแกรมสะดวกและรวดเรว็ มากขน้ึ a= 1 b= 2 x = 10 y = 10 z = 10 นเ่ี ปน็ ผลลพั ธก์ ารทำงานของโปรแกรม ตอ่ ไปจะเป็นการพดู ถึงประเภทขอ้ มลู ชนดิ ตา่ งๆ ที่ภาษา Python สนบั สนนุ ซงึ่ จะมีอยูส่ ามประเภท ใหญๆ่ คอื ขอ้ มูลแบบตัวเลข น้นั จะแบง่ ยอ่ ยออกเป็น Integer และ Float ข้อมลู ประเภท String และข้อมลู แบบลำดบั เชน่ List และ Tuple ประเภทขอ้ มูลทงั้ หมดนี้เปน็ Built-in type ในภาษา Python
15 Numbers ในภาษา Python นน้ั สนับสนุนขอ้ มลู แบบตัวเลข ซึง่ ข้อมลู ประเภทน้จี ะแบง่ ออกเปน็ Integer Float Decimal และ Complex อย่างไรกต็ ามเราจะเนน้ ยำ้ ใน Integer ซงึ่ เป็นการเกบ็ ขอ้ มลู แบบจำนวนเตม็ และ Float เปน็ ข้อมลู แบบจำนวนจรงิ สำหรับประเภทแบบ Decimal นน้ั แตกตา่ งไปจาก Float คอื สามารถเกบ็ ความละเอยี ดของจุดทศนิยมได้มากกวา่ นอกจากนี้ Python ยงั สนบั สนุนตัวเลขในรปู แบบ Complex ท่แี สดง ในแบบ a+bj ต่อไปเป็นตวั อย่างในการประกาศและใชง้ านตัวแปรแบบตัวเลขในภาษา Python # Integer a=7 b=3 c=a+b d=a/b print ('a = %d' % a) print ('b = %d' % b) print ('c = %d' % c) print ('d = ', d) ในตัวอย่าง เปน็ การประกาศและใช้งานตัวแปรประเภท Integer เราไดท้ ำการประกาศตัวแปรและ กำหนดค่าใหก้ บั a และ b ในการแสดงผลในรปู แบบของ String format กับฟังก์ชัน print() นน้ั จะใช้ specifier เปน็ %d เราสามารถกำหนดคา่ ให้กบั ตัวแปรไดโ้ ดย Literal หรอื Expression สง่ิ หนง่ึ ท่ีนา่ สงั เกตในการหารตวั เลขในภาษา Python การหารตัวเลขนั้นจะไดค้ า่ เปน็ Float เสมอ ถงึ แมต้ ัวเลขทง้ั สองจะเป็น Integer ก็ตาม เชน่ ในตวั แปร d ซง่ึ แตกตา่ งจากภาษา C ทเี่ มือ่ ตวั เลขท้ังสองเป็น แบบ Integer จะได้ผลลัพธ์เปน็ Integer a=7 b=3 c = 10 d = 2.3333333333333335 นี่เปน็ ผลลพั ธก์ ารทำงานของโปรแกรม
16 # Floating point number speed = 34.12 pi = 22 / 7 height = 2.31E5 length = 1.3E-3 print ('speed = %f' % speed) print ('pi = %f' % pi) print ('height = %f' % height) print ('length = %f' % length) print (pi) ต่อไปเป็นการประกาศและใช้งานตวั แปรประเภท Float หรอื ตัวเลขท่มี ีจุดทศนยิ ม ในการกำหนดค่า ใหก้ บั ตัวแปรนนั้ เม่อื คณุ กำหนดตวั เลขมีจุดมนั จะเปน็ ประเภท Float อัตโนมตั ิ เราสามารถกำหนดคา่ โดยตรง หรือในรูปแบบของ Expression ได้ และนอกจากนี้ ในภาษา Python ยงั สามารถกำหนดในรูปแบบสัญกรณ์ วิทยาศาสตร์ได้เหมอื นในตวั แปร height ซง่ึ หมายถึง 2.31 x 10 ^ 5 และในตวั แปร length ซ่งึ หมายถึง 1.3 x 10 ^ -3 speed = 34.120000 pi = 3.142857 height = 231000.000000 length = 0.001300 3.142857142857143 น่เี ป็นผลลพั ธก์ ารทำงานของโปรแกรม ซงึ่ ในการแสดงผลของข้อมลู ประเภท Float กบั การจัดรปู แบบ ของตวั เลขนนั้ จะใช้ %f และสำหรับการดคู า่ เต็มของตัวเลขจริงๆ น้ันเราจะแสดงคา่ ของตวั เลขผา่ น ฟังกช์ ัน print โดยตรง เหมอื นในคำส่ังแสดงผลคา่ ของ pi ในบรรทัดสดุ ทา้ ย Strings Strings เปน็ ประเภทข้อมูลทสี่ ำคัญและใช้งานท่ัวไปในการเขียนโปรแกรม ในภาษาเขยี นโปรแกรม สว่ นมากแลว้ จะมปี ระเภทข้อมูลแบบ String และในภาษา Python เชน่ กนั String เป็นลำดบั ของตวั อักษร หลายตวั เรยี งตอ่ กนั ซึง่ ในภาษา Python น้นั String จะอยใู่ นเคร่ืองหมาย Double quote หรอื Single quote เท่านัน้ นอกจากนีใ้ นภาษา Python ยงั มฟี งั ก์ชันในการจัดการกบั String มากมาย ซ่งึ เราจะพูดอีกครัง้ ในบท ของ String ในบทนม้ี าทำความรูจ้ กั กบั String เบื้องต้นกนั กอ่ น
17 name = \"Mateo\" country = \"Ukrain\" language = 'Python' interest = 'Mountain Everest' ในตัวอย่าง เปน็ การประกาศตัวแปรประเภท String สองตวั แปรแรกเป็นการประโดยการใช้ Double quote และสองตวั แปรต่อมาเปน็ การใช้ Single quote ซงึ่ คุณสามารถใชแ้ บบไหนก็ได้ แตม่ สี ่ิงทแี่ ตกตา่ งกัน เลก็ น้อยคอื เกยี่ วกับการกำหนดตัวอักษรพเิ ศษหรือเรียกวา่ Escape character sentent1 = \"What's your name?\" sentent2 = 'I\\'m Mateo.' sentent3 = \"He said \\\"I would learn Python first\\\".\" sentent4 = 'His teach replied \"Oh well!\"' print (sentent1) print (sentent2) print (sentent3) print (sentent4) ในตัวอยา่ ง เป็นสง่ิ ทแี่ ตกต่างของการประกาศ String ทงั้ สองแบบกับ Escape character ตวั อกั ษร ' และ \" น้นั เป็น Escape character ดังนัน้ ในการใช้งานตวั อักษรเหล่านี้ เราจะตอ้ งทำการใส่ เครอื่ งหมาย \\ ลงไปข้างหนา้ เสมอ แต่ในภาษา Python เมอื่ คณุ ใช้ Double quote ในการประกาศ String คุณ ไม่ต้องทำการ Escape character สำหรบั Single quote และในทางกลับกัน อยา่ งไรก็ตามเราจะพูดอกี คร้ังใน บทของ String What's your name? I'm Mateo. He said \"I would learn Python first\". His teach replied \"Oh well!\" นเ่ี ปน็ ผลลพั ธก์ ารทำงานของโปรแกรมในการใช้งาน Escape character ในภาษา Python
18 site = 'marcuscode' + '.com' tutorial = 'Python' ' Language' print(site) print(tutorial) การทำงานอยา่ งหนงึ่ ท่ีสำคญั เกย่ี วกับ String ก็คือการเชือ่ มต่อ String ซ่งึ เปน็ การนำ String ตัง้ แตส่ อง อันขนึ้ ไปมาต่อกัน ในภาษา Python คุณสามารถต่อ String ไดโ้ ดยการใชเ้ คร่ืองหมาย +หรอื คน่ั ด้วยชอ่ งวา่ ง หรอื บรรทดั ใหมเ่ หมือนในตัวอย่างขา้ งบน marcuscode.com Python Language น่เี ปน็ ผลลพั ธก์ ารทำงานของโปรแกรม อยา่ งไรกต็ าม นีเ่ ปน็ การแนะนำเกย่ี วกบั String ในเบือ้ งต้นเทา่ นัน้ เพราะว่า String น้ันมเี นอ้ื หาเปน็ จำนวนมาก คุณจะได้เรียนรเู้ กี่ยวกับ String อย่างละเอียด อีกคร้ังในบทของ String Lists Lists เปน็ ประเภทขอ้ มูลทเ่ี กบ็ ข้อมลู แบบเปน็ ชุดและลำดบั กล่าวคือมันสามารถเกบ็ ข้อมูลไดห้ ลายค่า ในตวั แปรเดยี ว และมี Index สำหรับเข้าถงึ ข้อมลู ในภาษา Python น้ัน List จะเปน็ เหมือนอาเรย์ในภาษา C มนั สามารถเก็บข้อมูลไดห้ ลายตัวและยังสามารถเป็นประเภทขอ้ มูลท่แี ตกต่างกันไดอ้ ีกด้วย มาดูการประกาศ และใชง้ าน List ในเบอ้ื งตน้ # Declare lists numbers = [1, 2, 4, 6, 8, 19] names = [\"Mateo\", \"Danny\", \"James\", \"Thomas\", \"Luke\"] mixed = [-2, 5, 84.2, \"Mountain\", \"Python\"] # Display lists print(numbers) print(names) print(mixed) # Display lists using the for loops for n in numbers: print(n, end=\" \") print() for n in names: print(n, end=\" \") print() for n in mixed: print(n, end=\" \") print()
19 ในตวั อย่าง เราไดท้ ำการประกาศ 3 Lists โดยตวั แปรแรกนน้ั เป็น List ของตวั เลข และตัวแปรทส่ี อง เป็น List ของ String และตัวแปรสดุ ท้ายเป็น List แบบรวมกนั ของประเภทข้อมลู เราใชฟ้ ังก์ชนั print() ในการ แสดงผลขอ้ มูลใน List และใช้คำสัง่ For loop ในการอ่านค่าในลสิ ต์และนำมาแสดงผลเชน่ กนั [1, 2, 4, 6, 8, 19] ['Mateo', 'Danny', 'James', 'Thomas', 'Luke'] [-2, 5, 84.2, 'Mountain', 'Python'] 1 2 4 6 8 19 Mateo Danny James Thomas Luke -2 5 84.2 Mountain Python น่เี ปน็ ผลการทำงานของโปรแกรม languages = [\"C\", \"C++\", \"Java\", \"Python\", \"PHP\"] print(\"Index at 0 = \", languages[0]) print(\"Index at 3 = \", languages[3]) languages[0] = \"Scalar\" print(\"Index at 0 = \", languages[0]) Lists นน้ั ทำงานกบั Index ดังนัน้ เราสามารถเขา้ ถึงข้อมูลของ List โดยการใช้ Index ของมันได้ ใน ตวั อย่างเปน็ การเขา้ ถงึ ข้อมูลภายใน Index ซึง่ Index ของ List นน้ั จะเร่มิ จาก 0 ไปจนถึงจำนวนท้งั หมดของ มันลบด้วย 1 ในตัวอยา่ งเราไดแ้ สดงผลข้อมลู ของสอง List ในตำแหนง่ แรกและในตำแหน่งท่ี 4 ด้วย Index 0 และ 3 ตามลำดบั หลังจากนัน้ เราเปลย่ี นคา่ ของ List ที่ตำแหน่งแรกเป็น \"Scalar\" Index 0 = C Index 3 = Python Index 0 = Scalar น่ีเป็นผลลัพธ์การทำงานของโปรแกรม ซึ่งคณุ ได้ทำความรู้จักกับ List ในเบื้องตน้ คณุ จะได้เรียนรู้ เกย่ี วกบั List ในภาษา Python อย่างละเอยี ดอกี ครง้ั ในบทของ List ซึ่งเราจะพดู เกย่ี วกบั การดำเนินการและ การใช้ฟังก์ชันของ List นอกจากนี้ Python ยงั มีประเภทขอ้ มลู แบบ Tuple และ Dictionary ซงึ่ มรี ูปแบบการ เก็บข้อมลู คล้ายกับ List จงึ คุณจะไดเ้ รยี นในบทตอ่ ไป ฟงั ก์ชนั ทใ่ี ช้กบั ตัวแปร ในภาษา Python นัน้ มฟี ังก์ชันท่ีสรา้ งมาเพื่อให้ใชง้ านกบั ตัวแปร เชน่ ฟังกช์ ันสำหรบั หาขนาดของตวั แปร ฟงั กช์ ันในการหาประเภทของตัวแปร ฟังก์ชนั ลบตวั แปรออกไปจากหน่วยความจำ และฟงั กช์ นั ในการ ตรวจสอบวา่ ตัวแปรมอี ยหู่ รอื ไม่ ซง่ึ ในบางครง้ั การเขยี นโปรแกรมก็จำเป็นท่ีคณุ อาจจะต้องมกี ารตรวจสอบสิง่ เหลา่ น้ีในขณะท่ีโปรแกรมทำงาน น่เี ปน็ ตวั อยา่ งการใช้งาน
20 import sys a=8 b = 13.4 c = \"Python\" d = [1, 2, 3, 4] print('Size of a = ', sys.getsizeof(a)) print('Type of a = ', type(a)) print('Size of b = ', sys.getsizeof(b)) print('Type of b = ', type(b)) print('Size of c = ', sys.getsizeof(c)) print('Type of c = ', type(c)) print('Size of d = ', sys.getsizeof(d)) print('Type of d = ', type(d)) del a del b, c, d if 'a' in locals(): print(\"a is exist\") else: print(\"a is not exist\") ในตัวอย่าง เราไดป้ ระกาศตัวแปรประเภทต่างๆ เราได้ฟังกช์ นั getsizeof() สำหรับหาขนาดของตัว แปรทมี่ ีหนว่ ยเป็น Byte และฟังกช์ นั type()สำหรบั ดูประเภทของตวั แปรวา่ อยู่ในคลาสไหน ฟังกช์ นั del() สำหรบั ยกเลกิ หรือลบการประกาศตวั แปรออกไปจากหนว่ ยความจำ และสุดท้ายเปน็ การ ตรวจสอบว่าตวั แปรถกู ประกาศแลว้ หรอื ยงั ในฟงั กช์ นั locals() สำหรับตรวจสอบตวั แปรในโมดลู ปัจจุบัน หรอื globals() สำหรับตรวจสอบตัวแปรในโปรแกรมทั้งหมด Size of a = 14 Type of a = <class 'int'> Size of b = 16 Type of b = <class 'float'> Size of c = 31 Type of c = <class 'str'> Size of d = 52 Type of d = <class 'list'> a is not exist น่ีเป็นผลลพั ธ์การทำงานของโปรแกรมในการใชฟ้ ังกช์ ันท่จี ำเป็นกับตวั แปร (Marcus,2560)
21 1.5 คำสั่งต่างๆในไพทอน print เปน็ คำสงั่ สำหรบั ใช้แสดงผลบนคอมมานดไ์ ลน์มไี วยากรณด์ งั น้ี [python]print(ตวั แปรหรือขอ้ มูล)[/python] ตัวอย่างเช่น >>> print(1,2,3) 123 >>> print(\"Hello\") Hello >>> a = \"python\" >>> print(a) python input เป็นคำสงั่ สำหรับรบั ขอ้ มลู จากแปน้ พิมพ์ โดยรับทางคอมมานดไ์ ลนม์ ไี วยากรณ์ดังน้ี input(ขอ้ ความชนดิ สตริงอธิบาย) ตัวอยา่ งเชน่ >>> a = input(\"Text :\") Text :Hello >>> print(a) Hello id เป็นคำสัง่ สำหรับบอกท่ีอยขู่ องวตั ถุในหน่วยความจำหลัก โดยคนื คา่ ออกมาเป็นจำนวนจรงิ ในการประกาศ เกบ็ ค่าตัวแปร คอมพวิ เตอรจ์ ะนำขอ้ มลู นน้ั ไปเกบ็ ไว้ทีห่ น่วยความจำหลัก โดยจะเกบ็ ขอ้ มลู งหน่วยความจำและ อา้ งองิ ข้อมูลทเ่ี ก็บอยู่ดว้ ยเลข ID ท่เี ก็บบนหนว่ ยความจำ เมอ่ื อา้ งองิ ตัวแปรขอ้ มูลในเขยี นโปรแกรม ตัวแปรจะ อ้างอิง ID บนหน่วยความจำและดงึ ขอ้ มูลจากหนว่ ยความจำมาใชอ้ กี ทมี ไี วยากรณ์ดงั นี้
22 id(ตัวแปร) ตวั อยา่ งเชน่ >>> a = [1,2,3] >>> id(a) 45848712 >>> id(a[0]) 1485616816 >>> id(a[1]) 1485616848 >>> id(a[2]) 1485616880 round เปน็ คำสง่ั สำหรบั ใช้ปดั ตัวเลขในระบบจำนวนจรงิ มไี วยากรณด์ งั นี้ round(ตวั เลขจำนวนจรงิ ) ตวั อยา่ งเชน่ >>> round(4) 4 >>> round(4.5) 4 >>> round(4.6) 5 >>> round(-0.1) 0 >>> round(-0.6) -1
23 sum เป็นคำสั่งสำหรบั ใช้หาผลรวมของ iterable มไี วยากรณด์ งั นี้ sum(List ข้อมูลตวั เลข) sum(List ขอ้ มลู ตวั เลข, ค่าเริ่มต้น) ตวั อยา่ งเช่น >>> sum([1,2,3]) 6 >>> sum([1,2,3],10) 16 type เปน็ คำส่ังสำหรับใชต้ รวจสอบชนิดของขอ้ มูลมีไวยากรณ์ดงั น้ี type(X) ตวั อย่างเช่น >>> a = \"str\" >>> b = 1 >>> c = 1.6 >>> d = [1,2] >>> e = (1,2) >>> type(a) <class 'str'> >>> type(b) <class 'int'> >>> type(c) <class 'float'> >>> type(d) <class 'list'> >>> type(e) <class 'tuple'>
24 1.6 ฝกึ เขียนโปรแกรมกับเต่าไพทอน import turtle t = turtle.Turtle() t.forward(100) # ลากเสน้ ตรงไปขา้ งหน้า 100 พกิ เซล t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมมุ เดิม t.forward(100) # ลากเส้นตรงไปขา้ งหน้า 100 พิกเซล turtle.mainloop() # ลปู ค้างหนา้ จอไว้ ผลลัพธ์ กดปุ่ม Run เพื่อเลน่ โค้ด ภาพท่ี 1-8 ภาพแสดงผลลพั ธ์ ทีม่ า: https://python3.wannaphong.com/2015/06/python-turtle.html
25 วาดรปู สีเ่ หลยี่ มจัตุรัส import turtle t = turtle.Turtle() # มมุ ที่ 1 t.forward(100) # ลากเส้นตรงไปข้างหนา้ 100 พิกเซล # มุมที่ 2 t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมมุ เดมิ t.forward(100) # ลากเสน้ ตรงไปข้างหนา้ 100 พิกเซล # มุมท่ี 3 t.left(90) # หันไปทางขวา ทำมมุ 90 องศาจากมมุ เดมิ t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พกิ เซล # มุมที่ 4 t.left(90) # หันไปทางขวา ทำมมุ 90 องศาจากมมุ เดิม t.forward(100) # ลากเสน้ ตรงไปขา้ งหนา้ 100 พิกเซล turtle.mainloop() # ลูปคา้ งหนา้ จอไว้ ผลลัพธ์ ภาพที่ 1-9 ภาพแสดงผลลัพธ์ ที่มา: https://python3.wannaphong.com/2015/06/python-turtle.html
26 ไปทางซ้าย กับ ทางขวา import turtle t = turtle.Turtle() t.forward(100) # ลากเส้นตรงไปขา้ งหนา้ 100 พิกเซล t.left(90) # หนั ไปทางขวา ทำมมุ 90 องศาจากมมุ เดิม t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พกิ เซล t.right(90) # หนั ไปทางซา้ ย ทำมุม 90 องศาจากมมุ เดมิ t.forward(100) turtle.mainloop() # ลูปค้างหนา้ จอไว้ ผลลัพธ์ ภาพท่ี 1-10 ภาพแสดงผลลพั ธ์ ทม่ี า: https://python3.wannaphong.com/2015/06/python-turtle.html
27 ใสส่ ีให้กับสที ัง้ 4 มุม import turtle t = turtle.Turtle() # มุมที่ 1 t.color('red') # ใสส่ แี ดง ใหก้ ับเส้น t.forward(100) # ลากเส้นตรงไปข้างหน้า 100 พิกเซล # มุมที่ 2 t.color('green') # ใส่สีเขยี ว ใหก้ ับเส้น t.left(90) # หนั ไปทางขวา ทำมุม 90 องศาจากมมุ เดิม t.forward(100) # ลากเส้นตรงไปขา้ งหน้า 100 พกิ เซล # มุมที่ 3 t.color('yellow') # ใสส่ ีเหลือง ใหก้ ับเสน้ t.left(90) # หนั ไปทางขวา ทำมุม 90 องศาจากมมุ เดมิ t.forward(100) # ลากเสน้ ตรงไปข้างหนา้ 100 พิกเซล # มมุ ที่ 4 t.color('blue') # ใส่สีนำ้ เงิน ให้กับเสน้ t.left(90) # หันไปทางขวา ทำมุม 90 องศาจากมมุ เดมิ t.forward(100) # ลากเส้นตรงไปข้างหนา้ 100 พกิ เซล turtle.mainloop() # ลูปค้างหนา้ จอไว้ ผลลพั ธ์ ภาพท่ี 1-11 ภาพแสดงผลลพั ธ์ ท่ีมา: https://python3.wannaphong.com/2015/06/python-turtle.html
28 นำการลูป for ของภาษา Python มาใชว้ าดรูปสีเ่ หลยี่ มจัตรุ ัส import turtle t = turtle.Turtle() # สร้างพน้ื ทสี่ ำหรบั เล่น turtles for c in ['red', 'green', 'yellow', 'blue']: # ลูปค่าตวั แปร c ตามสี t.color(c) # กำหนดสตี ามคา่ ทล่ี ูปได้จากตัวแปร c t.forward(90) # ลากเส้นตรงไปขา้ งหน้า 90 พกิ เซล t.left(90) # หันไปทางขวา ทำมมุ 90 องศาจากมมุ เดิม turtle.mainloop() # ลปู ค้างหนา้ จอไว้ ผลลัพธ์ ภาพที่ 1-12 ภาพแสดงผลลัพธ์ ทีม่ า: https://python3.wannaphong.com/2015/06/python-turtle.html สรุปคำส่ัง • turtle.Turtle() เป็นคำสั่งสำหรับดึงคำสั่งตา่ ง ๆ ที่เกีย่ วกับการวาดรปู มาทำงาน มกั ใชต้ ัวแปรแทนคำสงั่ นี้ • turtle.forward() ลากเสน้ ตรงไปข้างหนา้ มีหนว่ ยเปน็ พกิ เซล • turtle.left() หันไปทางขวา ทำมุมตามองศาทก่ี ำหนดจากมุมเดิม • turtle.right() หันไปทางซา้ ย ทำมมุ ตามองศาทก่ี ำหนดจากมมุ เดิม • turtle.color() เปน็ คำส่งั กำหนดสีใหก้ บั เสน้ (ช่อื สีในภาษาอังกฤษ) • turtle.mainloop() เป็นคำสั่งลูปคา้ งหน้าจอไวส้ ำหรับรอวาดรูปต่อ
29 ใส่ เตา่ turtle เราสามารถใชต้ วั ละครแทนลกู ศรอนั นา่ เบ่ือไดง้ ่าย ๆ • คำส่ัง turtle.shape() สามารถใส่ตัวละคร เชน่ “arrow”, “turtle”, “circle”, “square”, “triangle”, “classic” ลงไป • คำสง่ั turtle.pensize() เป็นคำส่งั สำหรบั ใช้กำหนดขนาดตวั ละครของเราและขนาดของเสน้ เปน็ พกิ เซล เม่อื ใส่ตัวละครเตา่ turtle ลงไปในการวาดรปู ส่เี หลี่ยมจัตุรสั import turtle t = turtle.Turtle() # สร้างพนื้ ทสี่ ำหรับเลน่ turtles t.shape(\"turtle\") # ใสต่ ัวละครเตา่ turtle ลงไป t.pensize(3) # กำหนดขนาด 90 พิกเซล for c in ['red', 'green', 'yellow', 'blue']: # ลูปคา่ ตวั แปร c ตามสี t.color(c) # กำหนดสตี ามคา่ ทล่ี ปู ได้จากตวั แปร c t.forward(90) # ลากเส้นตรงไปข้างหน้า 90 พกิ เซล t.left(90) # หนั ไปทางขวา ทำมมุ 90 องศาจากมมุ เดิม turtle.mainloop() # ลูปค้างหน้าจอไว้ ผลลพั ธ์ ภาพท่ี 1-13 ภาพแสดงผลลัพธ์ ทีม่ า: https://python3.wannaphong.com/2015/06/python-turtle.html
30 คำส่ัง turtle.Screen() หากเราต้องการกำหนดหัวขอ้ หน้าต่าง กำหนดสใี ห้กบั หน้าต่าง ตอ้ งใช้ • คำสง่ั turtle.Screen() เป็นคำสง่ั ตงั้ คา่ หน้าตา่ งให้วตั ถุ ตอ้ งใช้คำสั่งนีก้ ่อนคำส่งั turtle.Turtle() • คำสง่ั Screen.title() เป็นคำสง่ั กำหนดหัวข้อ • คำส่งั Screen.bgcolor() เปน็ คำสัง่ กำหนดสีภาพพน้ื หลงั (ชื่อเป็นภาษาอังกฤษ เชน่ \"yellow\" เป็นตน้ ) • คำสั่ง Screen.screensize(ความกวา้ ง ความสงู ) เป็นคำสัง่ กำหนดขนาดใหก้ ับหนา้ ต่าง มหี น่วยเปน็ พกิ เซล ทำใหเ้ ต่า turtle อยกู่ ับทต่ี ามทก่ี ำหนด ใช้คำสงั่ turtle.stamp() เป็นคำส่งั สัง่ ให้ตวั ละครของเราอยกู่ บั ท่ตี ามท่ีเรากำหนด เช่น import turtle Screen = turtle.Screen() Screen.title(\"Hi\") # กำหนดหัวข้อว่า Hi Screen.bgcolor(\"white\") # กำหนดให้หนา้ ต่างชอื่ ขาว t = turtle.Turtle() # สรา้ งพื้นทีส่ ำหรับเลน่ turtles t.shape(\"turtle\") # ใส่ตัวละครเต่า turtle ลงไป t.pensize(3) # กำหนดขนาด 90 พิกเซล for c in ['red', 'green', 'yellow', 'blue']: # ลปู ค่าตัวแปร c ตามสี t.color(c) # กำหนดสตี ามคา่ ทีล่ ปู ได้จากตัวแปร c t.forward(90) # ลากเสน้ ตรงไปข้างหนา้ 90 พกิ เซล t.left(90) # หันไปทางขวา ทำมมุ 90 องศาจากมุมเดิม t.stamp() turtle.mainloop() # ลูปค้างหนา้ จอไว้ ผลลัพธ์ ภาพท่ี 1-14 ภาพแสดงผลลัพธ์ ท่ีมา: https://python3.wannaphong.com/2015/06/python-turtle.html (วรรณพงษ,์ 2558)
31 1.7 บทสรุป ภาษาไพทอนเปน็ ภาษาการเขียนโปรแกรมระดับสงู ซึง่ จะเขียนในโปรแกรมไพทอนไอดอี โี ปรแกรมไพ ทอนสามารถทำไดท้ ้งั บน windows ,MAC, Linux ,Unix นอกจากน้นั โปรแกรมนยี้ ังใชไ้ ดฟ้ รแี ละนิยมใชส้ ำหรบั การสร้างเกม เฟรมเวริ ค์ พัฒนาเวบ็ โปรแกรมทใี่ ชก้ ราฟฟคิ ติดต่อกับผู้ใช้งาน งานคำนวนทางวิทยาศาสตร์และ สถิติงานพัฒนาซอฟตแ์ วรแ์ ละซอฟตแ์ วร์ควบคุมระบบ ภาษาไพทอนรว่ มพัฒนาเม่อื ธันวาคม 1989 และเผยแพร่คร้งั แรกเมอื่ 1990 โครงสร้างของภาษาไพทอน ไดแ้ ก่Simple python program , Module, Comment, Statement, indentation and while space,Literals,Expressions,Keywords ตวั แปรและประเภทขอ้ มลู ของภาษาไพทอน ตวั แปรของภาษาไพทอนจะแตกตา่ งจากตัวแปรในทาง คณติ ศาสตรค์ า่ ของตวั แปรนน้ั ไม่จำเปน็ ตอ้ งประกอบดว้ ยสตู รหรอื สมการที่สมบูรณเ์ หมือนกบั ในคณติ ศาสตร์ ในคอมพิวเตอร์ตวั แปรนั้นอาจจะมกี ารทำงานซำ้ ๆ ในภาษาไพทอนน้ันสนบั สนุนข้อมูลแบบตวั เลขซ่ึงข้อมูล ประเภทนี้จะแบง่ ออกเปน็ integer,Float,Decimal,Complex Strings เปน็ ประเภทข้อมูลท่สี ำคญั และใชร้ า้ นท่วั ไปในการเขียนโปรแกรม Lists เปน็ ประเภทข้อมูลท่ีเก็บขอ้ มลู แบบชุดและลำดับ คำส่ังต่างๆในไพทอน print เปน็ คำสง่ั สำหรับการใช้แสดงผล input เป็นคำสงั่ สำหรับรบั ข้อมูลจาก แปน้ พมิ พ์ Id เปน็ คำส่งั สำหรบั กรอกทอี่ ยขู่ องวัตถุในหน่วยความจำหลกั และคณุ ค่าออกมาเป็นจำนวนจริง round เป็นคำส่งั สำหรับใช้ปรบั ตัวเลขในระบบจำนวนจริง sum เปน็ คำส่งั สำหรบั ใช้หาผลรวมของ iterable type เป็นคำส่ังสำหรบั ใช้ตรวจสอบชนดิ ของขอ้ มูล
32 1.8 แบบฝึกหดั 1. โปรแกรมทใี่ ชเ้ ขยี นภาษาไพทอน Python 1.Notepad 2.PythonsIDE 3.Netbeans 3.Power point 2. Comments ใชเ้ ครื่องหมายอะไร 1.// 2.+ 3.* 4.# 3. ข้อใดไมใ่ ช่โครงสร้างของภาษาไพทอน 1.Comments 2.Word 3.Statement 4.Module 4. นามสกุลไฟล์ของโปรแกรมPythonIDE 1. .docx 2. .py 3. .png 3. .xls 5.การกำหนดสใี ห้กับเส้นคือคำสง่ั ใด 1.color 2.forward 3.Mainloop 4.turtle 6.คำส่งั ใดทใ่ี ช้กำหนดขนาดเส้น 1.pensize 2.color 3.left 4.screen
33 7.ข้อใดคอื คำส่ังเดนิ หนา้ 1.t = turtle.Turtle() t.left() 2.t = turtle.Turtle() t.pensize() 3.t = turtle.Turtle() t.color () 4.t = turtle.Turtle() t.forward() 8.ภาษาไพทอนเผยแพรเ่ มอ่ื ปีค.ศ. ใด? 9.คำสงั่ print ในภาษาไพทอนใช้สำหรบั อะไร? 10.จงเขียนคำส่ังเดนิ หน้า100พิกเซล 11.หากต้องการเปลีย่ น เต่า turtle สามารถใช้ตวั ละครอะไรไดบ้ า้ งจงยกตวั อย่าง 3 ตัว
ค บรรณานุกรม วรรณพงษ์.//(2558).//ฟงั ก์ชันคำสั่งพื้นฐานในภาษาไพทอน//สืบค้นเมอ่ื 16 สิงหาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ์.//(2558).//เร่มิ ต้นเรียนภาษาไพทอนดว้ ยเต่า.//สืบคน้ เม่ือ 22 สงิ หาคม 2565,/จาก https://python3.wannaphong.com/2015/06/python-turtle.html Marcus code.//(2560).//โครงสร้างของภาษาไพทอน.//สบื ค้นเม่อื 16 กรกฎาคม 2565,/จาก http://marcuscode.com/lang/python/program-struct Marcus code.//(2560).//ตัวแปรและประเภทขอ้ มูล.//สบื ค้นเมือ่ 02 สิงหาคม 2565,/จาก http://marcuscode.com/lang/python/variables-and-types Meck.//(2563).//ไพทอนคืออะไร.//สบื คน้ เม่อื 30 มถิ ุนายน 2565 ,/จาก https://www.borntodev.com/c/xakhrcirthnchotichwalwithy/ทำความรู้จกั กับ-python-ภาษาเปลีย่ นโลก- 5fddbe6484e78 Mindphp.//(มปป.).//การตดิ ตงั้ โปรแกรมไพทอนไอดอี .ี //สบื ค้นเม่อื 07 กรกฎาคม 2565,/จาก https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html Python.//(2562).//ประวัตคิ วาม คณุ ลักษณะ.//สืบค้นเม่อื 30 มิถนุ ายน 2565,/จาก https://mindphp.com/ค่มู อื /73-คอื อะไร/2417-python-คอื อะไร.html
ค บรรณานุกรมภาพ วรรณพงษ์.//(2558).//ภาพการแสดงผลลพั ธ์//สบื ค้นเม่อื 16 สงิ หาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ.์ //(2558).//ภาพการแสดงผลลัพธ์//สืบค้นเมื่อ 16 สงิ หาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ.์ //(2558).//ภาพการแสดงผลลัพธ์//สบื คน้ เม่อื 16 สงิ หาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ.์ //(2558).//ภาพการแสดงผลลพั ธ์//สืบคน้ เมอื่ 16 สิงหาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ.์ //(2558).//ภาพการแสดงผลลพั ธ์//สบื ค้นเมื่อ 16 สิงหาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ์.//(2558).//ภาพการแสดงผลลพั ธ์//สบื ค้นเมื่อ 16 สงิ หาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html วรรณพงษ.์ //(2558).//ภาพการแสดงผลลพั ธ์//สืบคน้ เมื่อ 16 สิงหาคม 2565 ,/จาก https://python3.wannaphong.com/2015/06/python-2-print-input-id-round-sum-type.html Marcus code.//(2560).//ภาพแสดงผลลพั ธ.์ //สบื คน้ เม่อื 16 กรกฎาคม 2565,/จาก http://marcuscode.com/lang/python/program-struct Mindphp.//(มปป.).//ภาพไฟล์ทเ่ี ลอื กตดิ ตั้งโปรแกรมไพทอนไอดีอี.//สบื คน้ เมอ่ื 07 กรกฎาคม 2565,/ จากhttps://www.mindphp.com/บทเรียนออนไลน/์ 83-python/4876-installpython.html Mindphp.//(มปป.).//ภาพการเลอื กดาวนโ์ หลดไฟล์.//สบื ค้นเมอ่ื 07 กรกฎาคม 2565,/จาก https://www.mindphp.com/บทเรยี นออนไลน/์ 83-python/4876-installpython.html Mindphp.//(มปป.).//ภาพหน้าตา่ งการตดิ ตง้ั โปรแกรม.//สืบคน้ เม่อื 07 กรกฎาคม 2565,/จาก https://www.mindphp.com/บทเรียนออนไลน/์ 83-python/4876-installpython.html Mindphp.//(มปป.).//ภาพหน้าตาของโปรแกรมเม่ือเปดิ ข้นึ มา.//สืบค้นเมือ่ 07 กรกฎาคม 2565,/จาก https://www.mindphp.com/บทเรยี นออนไลน์/83-python/4876-installpython.html Mindphp.//(มปป.).//ภาพหน้าตาโปรแกรมเม่ือตดิ ตงั้ เสรจ็ สมบูรณ์.//สืบค้นเมอื่ 07 กรกฎาคม 2565,/ จากhttps://www.mindphp.com/บทเรยี นออนไลน/์ 83-python/4876-installpython.html Mindphp.//(มปป.).//ภาพการค้นหาโปรแกรมไพทอนไอดีอี.//สบื ค้นเมื่อ 07 กรกฎาคม 2565,/จาก https://www.mindphp.com/บทเรียนออนไลน/์ 83-python/4876-installpython.html
ค บรรณานกุ รมตาราง Marcus code.//(2560).//ตารางของkeywords ไพทอน//สืบคน้ เม่อื 16 กรกฎาคม 2565,/จาก http://marcuscode.com/lang/python/program-struc
Search
Read the Text Version
- 1 - 42
Pages: