Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore ภาษาไพทอน

ภาษาไพทอน

Published by papatson.gakheaw, 2021-06-08 14:01:02

Description: ภาษาไพทอนเป็นภาษาที่ง่ายต่อการเริ่มต้นเรียนรู้การเขียนโปรแกรม มีโครงสร้างการทำงานที่ไม่ซับซ้อน มีชุดคำสั่งที่ทำงานทางด้านกราฟิกให้เลือกให้ใช้งานได้สะดวก สามารถทดสอบการทำงานตามคำสั่ง และตรวจสอบผลลัพท์ได้ทันที เนื่องจากภาษา Python เป็นภาษาที่เรียนรู้ได้ง่าย รวดเร็ว มีประสิทธิภาพสูง และรองรับงานด้านต่างๆ เช่น งานวิทยาศาสตร์ วิศวกรรมศาสตร์ และวิทยาศาสตร์ข้อมูล จึงเป็นภาษายอดนิยมสำหรับใช้ในการเขียนโปรแกรม

Search

Read the Text Version

ภาษา Python วิชา การเขียนโปรแกรมพื้นฐาน

แนะนา ภาษา Python

Python เป็นภาษาเขียนโปรแกรมระดับสูงที่ใช้กันอยา่ งกว้างขวางในการเขียนโปรแกรม สาหรับวัตถุประสงค์ทั่วไป ภาษา Python นั้นสร้างโดย Guido van Rossum และถูก เผยแพร่ครั้งแรกในปี 1990 และปัจจุบันถูกดูแลโดย Python Software Foundation (PSF) โดย Version ลา่ สุดตอนนีค้ ือ Python 3.1

Python นน้ั เป็นภาษาแบบ interprete ทถ่ี ูกออกแบบโดยมีปรัญชาที่จะทาให้โค้ดอ่านได้ ง่ายขึ้น และโครงสร้างของภาษาน้ันจะทาให้โปรแกรมเมอร์สามารถเข้าใจแนวคิดการ เขียนโค้ดโดยใช้บรรทัดท่ีน้อยลงกว่าภาษาอย่าง C++ และ Java ซ่ึงภาษาน้ันถูก กาหนดให้มีโครงสร้างที่ต้ังใจให้การเขียนโค้ดเข้าใจง่ายทั้งในโปรแกรมเล็กไปจนถึง โปรแกรมขนาดใหญ่

จดุ เดน่ ของ Python • เปน็ ภาษาทเ่ี ข้าใจงา่ ย เปน็ ระเบยี บ • สามารถใช้งานได้หลายแพลต็ ฟอรม์ • สร้างตัวแปลง่าย • การเขียนทส่ี ้นั ลงกว่าภาษาอื่น ๆ

ตวั อยา่ ง Syntax JAVA Python public class print \"Hello, world!\" { public static void main(String[]args) { System.out.println(\"Hello, world!\") ; } }

ประวัติความเปน็ มา ของภาษา Python

Python เป็นภาษาการเขียนโปรแกรมคอมพิวเตอร์ระดับสูง (High-level programming language) ท่ีได้รับความนิยมมากท่ีสุด ถูกออกแบบมาให้เป็นภาษาให้ อ่านเข้าใจง่าย คล้ายภาษาอังกฤษ โดยตัดความซับซ้อนของโครงสร้างและไวยกรณ์ของ ภาษาออกไป ย้อนกลับไปปี 1980 จากความประสบความสาเร็จในการพัฒนาภาษา ABC หน่ึงในทีมพัฒนา นาย Guido van Rossum เกิดความคิดที่จะนาข้อดีของภาษา ABC ไปตอ่ ยอด และจดั การปญั หาทพ่ี บในภาษา ABC << โครงสรา้ งการเขียนโปรแกรมภาษา ABC

กาเนดิ ภาษาไพทอน 1980 1989 ในปลายปี 1980 นาย Guido แต่เร่ิมต้นการพัฒนา เกิดขึ้นใน van Rossum หน่ึงในทีมพฒั นาภาษา ABC เดือนธันวาคม ปี 1989 หรืออีก 9 ปีต่อมา ท่ี CWI (National Research Institute for นาย Guido van Rossum เร่ิมต้นการ Mathematics and Computer Science) พฒั นาภาษาใหม่ นาย Guido van Rossum ประเทศเนเธอร์แลนด์ มีความคิดริเริ่มท่ีสร้าง กลับเลือกใช้ชื่อตามซีรีส์ตลก “Monty ภาษาใหม่ข้ึ นมา ท่ีเป็นภาษาสคริปต์ Python’s Flying Circus” เป็นที่มาของช่ือ สามารถอ่านเขา้ ใจงา่ ยเหมือนภาษา ABC แต่ ภาษาไพทอน (Python) เขาอ้างว่า Python มีความสามารถในการจัดการข้อผิดพลาด หรืองูหลาม เป็นช่ือที่ส้ัน จาได้ง่าย แล้วยังดู ของโปรแกรม (Exception handling) และ ลึกลับ ดึงลักษณะเด่นๆของภาษาอน่ื ๆเขา้ มาดว้ ย ที่มา หนงั สอื Programming expert with Python , ผศ.สชุ าติ คุม้ มะณี เวบ็ ไซด์ www.9experttraining.com/articles/python-คืออะไร

กาเนิดภาษาไพทอน (ตอ่ ) 1991 1994 1995 2000 เดือนกมุ ภาพนั ธ์ 1991 เดือนมกราคม 1994 ปี 1995 python เดอื นตลุ าคม ปี 2000 นาย Guido van หรือ 3 ปีต่อมา คอื เวอร์ชนั 1.2 ถกู ปล่อยออกมา เขาและทมี งาน Python Rossum ไดเ้ ผยแพร่ จดุ เริม่ ต้น python ประเทศสหรัฐอเมริกา เขา Core Development team เวอร์ชนั 1.0 ที่มี พฒั นา python เวอรช์ นั ใหม่ ไดย้ ้ายมาทางานรว่ มกับ ภาษา python เวอร์ชนั คณุ สมบัตเิ พ่ิมเติมข้นึ มา BeOpen.com เพอ่ื พฒั นา แรก 0.9.0 คอื lambda, reduce, มาโดยตลอด จนกระทัง้ Python 2.0 ในเวอรช์ นั น้ีได้ filter และmap ซ่งึ python 1.6 ออกมา เขาจึง เพ่ิมชนดิ ข้อมูล List ที่ได้ บางสว่ นได้นาเอา เลียนแบบมาจากภาษา SETL คณุ สมบตั ิมาจากภาษา ลาออกมาเรม่ิ ธรุ กจิ และการจดั การหน่วยความจา คนื ใหร้ ะบบ (Garbage Lisp collection) ที่มา หนังสอื Programming expert with Python , ผศ.สชุ าติ คุม้ มะณี เว็บไซด์ www.9experttraining.com/articles/python-คอื อะไร

กาเนดิ ภาษาไพทอน (ตอ่ ) 2001 2008 ปจั จบุ ัน เดือนเมษายน ปี 2001 เดอื นธันวาคม ปี 2008 ปจั จบุ ัน python ยังมีการใช้ ไดเ้ ปดิ ตัว python 2.1 ได้เปดิ ตัว python 3.0 งานอยทู่ ้งั python 2.0 และ บนลิขสทิ ธข์ อง Python 3.0 โดย python ทั้งสอง หรอื Python3K เวอรช์ ันมคี วามแตกต่างกันใน Software เป็น python ทีป่ รับปรุง การเขียนโปรแกรม เชน่ ชนดิ Foundation (PSF) ซ่ึงเปน็ องค์กรทไ่ี มห่ วัง ข้อบกพร่อง ขอ้ มูล , ฟังกช์ นั และอกี และคุณลักษณะ หลายๆอยา่ ง จนแทบเปน็ คน ผลกาไร ไดเ้ พิ่ม ที่ซา้ ซอ้ นของเวอร์ชัน่ ความสามารถ ละภาษา ของ Nested scopes ก่อนหนา้ ท่มี า หนังสือ Programming expert with Python , ผศ.สุชาติ คมุ้ มะณี เวบ็ ไซด์ www.9experttraining.com/articles/python-คืออะไร

โครงสร้าง การเขยี นโปรแกรมภาษา Python

Comment ในภาษา Python การคอมเมนต์จะใช้เรื่องหมาย # ในการคอมเมนต์ สามารถใช้ โดยการใส่ตาแหน่งแรกของบรรทัดและหลังข้อวามที่ต้องการคอมเมนต์ แต่ถ้าต้องการ คอมเมนต์ทีละหลายบรรทัด multi-line จะใช้เคร่ืองหมาย single quotes (3 ตัว ติดกัน) คลุมข้อความทตี่ ้องการคอมเมนต์ # test comment Python program ''' Multi-line comment '''

Module โมดลู (Module) คือไฟล์ .py ที่วางอยู่ใต้ package directory หรือส่วนของโปรแกรมที่ ใช้สาหรับการกาหนดตัวแปร คลาส หรือฟังก์ช่ัน ท่ีทางานคล้ายๆกันเอามารวมกันไว้ใน ไฟล์เดียว ในภาษา Python เวลาเรียกใช้ โมดลู ตอ้ งใช้ import โมดูลเข้ามาก่อนจึงจะ สามารถใช้งาน ฟงั ก์ช่ัน หรือคลาสทอ่ี ยู่ในโมดูลได้ # import statement example # to import standard module example import example

Literals literals คือ ข้อมูลที่เป็นค่าคงท่ี ตัวอักษร เครื่องหมาย ในโปรแกรมภาษา python สามารถแบง่ ประเภทของข้อมูลไดใ้ นแบบตา่ งๆ เช่น Integer,Floats, number boolean และ String ค่าคงท่ี (Literal constants)คอื ขอ้ มลู ท่เี ปน็ ค่าคงทไ่ี ม่เปลีย่ นแปลง | ตัวแปร (Variable) คือตัวแปรทเ่ี ราประกาศขน้ึ มา เพอ่ื เก็บขอ้ มูลท่ีตอ้ งการ ตวั อย่าง เปน็ การกาหนด Literals ประเภทต่างๆ ใหก้ ับตวั แปร a = 9 #กาหนดให้ a มคี ่าเท่ากับ 9 b = 22.2 #กาหนดให้ b มีคา่ เทา่ กับ 22.2 c = True #กาหนดให้ c เป็นรูปแบบ boolean มีค่าเปน็ True d = \"Hello\" #กาหนดให้ d เป็นรปู แบบ String มคี ่าเป็น Hello e = 'P' #กาหนดให้ e เป็นรูปแบบ String มีค่าเปน็ P

Indentation ในภาษาอน่ื ส่วนใหญ่อย่างเชน่ ภาษา java การกาหนดขอบเขตของกลุ่มคาส่ัง จะใช้เร่ือง หมาย {} แต่ในภาษา Python น้ันจะใช้การย่อหน้า (indentation) เพือ่ แสดงขอบเขต กลุ่มคาส่ัง if, Else, For หรือการประกาศฟังก์ช่ัน ในท่ีนี้เรียกว่ารูปแบบบล็อค สาหรับการย่อหน้าน้ันโดยปกตใิ ช้ white space 4 ตัวและมักจะนิยมกว่าการใช้ tab ท่ีหวั ของบลอ็ คจะต้องมเี ครอื่ งหมายโคลอน (:) กาหนดหลงั คาสงั่ if score = 95 if (score > 50) : print('pass') else: print('fail')

Expressions Expression คือ การทางานร่วมกันระหว่างตัวแปร (หรือค่าคงที่) และตัวดาเนินการ โดยค่าเหล่าน้ีจะมีตัวดาเนินการสาหรับควบคุมการทางาน ในภาษา Python นั้นมี Expression อยูส่ องแบบ • Expression ทางคณิตศาสตร์เป็นการกระทากันระหว่างตัวแปรและตัวดาเนินการ คณิตศาสตร์ และจะได้รับค่าใหม่เป็นตัวเลขหรือค่าที่ไม่ใช่ Boolean นี่เป็นตัวอย่างของ Expressions ในภาษา Python • Boolean expression เปน็ การกระทากนั ระหวา่ งตวั แปรและตัวดาเนนิ การเปรยี บเทียบค่า หรอื ตัวดาเนนิ การตรรกศาสตร์ และจะไดผ้ ลลพั ธ์เปน็ Boolean ส่วน Regular Expression คือ วธิ กี ารตรวจสอบขอ้ มูล ค้นหา/คดั กรอง ขอ้ ความท่มี ลี กั ษณะและรปู แบบตรงกับที่ ตอ้ งการ เรยี กยอ่ ๆวา่ RegEx แพตเทิรน์ (Pattern)

Expressions ตวั อย่างการทางานของ Expressions ในภาษา Python a=6 b = 10 c=9 # Non-boolean expressions print(a + b) #ผลลพั ธท์ ไ่ี ด้ 16 print(a + 5) #ผลลัพธ์ทไ่ี ด้ 11 print(a * c) #ผลลัพธ์ทีไ่ ด้ 54 print(((a * a) - (b * c)) / 10) #ผลลัพธท์ ่ีได้ 5.4 print(\"Thai\" + \"Dev\") #ผลลพั ธ์ทไ่ี ด้ Thai Dev # Boolean expressions print(a == 6) #ผลลัพธ์ทีไ่ ด้ True print(a == 5) #ผลลพั ธท์ ี่ได้ False print(a == 6 and b == 10) #ผลลัพธท์ ี่ได้ True print(c == 9 and a == 5) #ผลลัพธ์ท่ีได้ False

THANK YOU ครูปภัสสร ก๋าเขียว ครผู ู้สอน วิชา การเขยี นโปรแกรมพนื้ ฐาน

เร่มิ ตน้ เรียนภาษา Python ดว้ ยเต่า turtle

โมดูลเต่า turtle เป็นโมดูลสาหรับใช้เริ่มต้นแนะนาการเรียนการเขียนโปรแกรม โดยมตี น้ ฉบบั มาจากภาษา Logo โดยมีบน Python 2.6 และ Python 3 เป็นตน้ มา import turtle ผลลพั ทท์ ่ีได้ t = turtle.Turtle() t.forward(100) # ลากเสน้ ตรงไปขา้ งหนา้ 100 พกิ เซล t.left(90) # หนั ไปทางขวา ทามมุ 90 องศาจากมมุ เดมิ t.forward(100) # ลากเสน้ ตรงไปขา้ งหนา้ 100 พกิ เซล turtle.mainloop() # ลปู คา้ งหนา้ จอไว้

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() # ลปู คา้ งหนา้ จอไว้

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() # ลูปคา้ งหนา้ จอไว้

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() # ลปู คา้ งหนา้ จอไว้

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() # ลปู คา้ งหนา้ จอไว้

•สรปุ คาสง่ั turtle.Turtle() เป็นคำส่งั สำหรับดงึ คำสงั่ ตำ่ ง ๆ ทเี่ กย่ี วกบั กำรวำดรปู มำทำงำน มกั ใชต้ ัวแปรแทนคำสัง่ น้ี •turtle.forward() ลำกเส้นตรงไปข้ำงหน้ำมีหนว่ ยเปน็ พิกเซล •turtle.left() หนั ไปทำงขวำ ทำมมุ ตำมองศำทีก่ ำหนดจำกมุมเดิม •turtle.right() หันไปทำงซำ้ ย ทำมุมตำมองศำทก่ี ำหนดจำกมุมเดมิ •turtle.color() เป็นคำสง่ั กำหนดสีให้กับเสน้ (ชือ่ สีในภำษำองั กฤษ) •turtle.mainloop() เป็นคำสงั่ ลูปค้ำงหน้ำจอไวส้ ำหรบั รอวำดรปู ต่อ

•ให้นักเรียนเขียนโค้ดข้างบนที่จดลงในสมุด ลงในเว็บ repl.it ในคอมพวิ เตอร์หรือโทรศพั ท์ แล้วเขียนผลลัพธ์ ท่ีได้เม่อื กด RUN แล้ว ลงในช่องว่างของแตล่ ะคาสั่ง ส่งสมุดท้ายคาบ

สรปุ คำสั่งเบ้อื งตน้ ของภำษำไพทอน















ทอนเทา่ ไหร่ นักเรียนซื้อแฟลชไดรฟ์ ขนาด 32 GB ราคา 117 บาท ท่ีร้านสะดวกซ้ือ โดย จ่ายเงินด้วยธนบัตร หน่ึงร้อยบาท 2 ใบ ในลิ้นชักเก็บเงินของร้าน มีแต่ธนบัตร 20 บาท และเหรียญหนึ่งบาท พนักงานจะต้อง ทอนเงินเป็นธนบัตร 20 บาท จานวนกี่ใบ และ เหรียญหนึ่งบาทจานวนกี่เหรยี ญ ให้ใช้คาสงั่ ไพทอนแสดง วิธีหาคาตอบทล่ี ะลาดับ







การเขียนโปรแกรมจากโจทยป์ ญั หา การเขยี นโปรแกมดว้ ยภาษาไพทอน

1. ถา้ นกั เรยี นไปรบั ประทานอาหารฉลองวนั ปิดเทอมกบั เพอ่ื น และตกลงกนั วา่ จะจ่ายค่าอาหารคนละ เท่า ๆ กนั นกั เรียนแต่ ตวั อยา่ ง ละคนจะตอ้ งจ่ายค่าอาหารคนละเท่าใด ใหใ้ ชค้ าสงั่ ไพทอน แสดงวิธีหาคาตอบท่ีละลาดบั แนวคิดการแกป้ ัญหา จาก แนวทางการแกป้ ญั หาน้ใี นบทท่ี 1

แนวทางการแกป้ ญั หา แนวคิดการแกป้ ญั หาจากแนวทางการแก้ปัญหานี้ใน บทที่ 1 แนวทางการแก้ปัญหาอาจเขียนเปน็ รหัสลาลองได้ ดังนี้ 1. totalPrice ----> รบั คา่ อาหารทัง้ หมด 2. number ----> รบั จานวนผู้รบั ประทานอาหาร 3. res ----> ค่าอาหารทั้งหมด/จานวนผ้รู ับประทานอาหาร 4. แสดงผล res

การเขียนโปรแกรมจาก totalPrice=int(input (“คา่ อาหารท้ังหมด”) โจทยด์ ว้ ยภาษาไพทอน number=int(input(“จานวนผู้รับประทานอาหาร”) res=totalPrice/number print(\"จ่ายค่าอาหารคนละ, res, \"บาท\")


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook