Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Python Programming for Lecturer_RUS_Nonthaburi 17may2019

226 views

Published on

Python Programming for Lecturer
เอกสารประกอบการบรรยาย ให้อาจารย์และบุคคลากรสาขาวิชาระบบสารสนเทศ คณะบริหารธุรกิจและเคโนโลยีสารสนเทศ
มหาวิทยาลัยเทคโนโลยีราชมงคลสุวรรณภูมิ
วันที่ 17 พฤษภาคม 2562

Published in: Education
  • Be the first to comment

Python Programming for Lecturer_RUS_Nonthaburi 17may2019

  1. 1. Page 1 Powerpoint Templates ผศ.ดร.อาณัติ รัตนถิรกุล www.arnut.com May 17, 2019 Python Programming for Lecturer
  2. 2. Page 2 วิวัฒนาการของเทคโนโลยีสารสนเทศและการสื่อสาร Mainframe PC Client- Server Web SOA Cloud IoT 1970s 1980s 1990s 2000s 2010s 2015+ 2004: Facebook 2010: Instagram 2006: Twitter 2005: YouTube 2011: LINE 1998: Google 1994: Yahoo, Amazon 1999: Alibaba Big Data Digital Age Web Programming Database Networking Programming Database Desktop Service Offline Web Services Smart Service Source: https://www.arnut.com 1865: Nokia 1888: Kodak 1984: BlackBerry 1987: Huawei 2003: Tesla 1988: Tencent 1976: Apple 1975: Microsoft Cloud Computing
  3. 3. Page 3 Technology CurveTechnology Curve AI
  4. 4. Page 4 Technology for Transformational Learning  Movement and location controlled interface  Mobile Learning  Cloud Computing  Social Connect Media
  5. 5. Page 5 หัวใจสาคัญของการทาธุรกิจในยุคดิจิทัล Social Media Smart Devices Life Style Cloud Computing BIG DATA ความคิดสร้างสรรค์- นวัตกรรม
  6. 6. Page 6 LINE Chatbot / Facebook Chatbot
  7. 7. Page 7 Smart Services
  8. 8. Page 8 Big Data
  9. 9. Page 9 A Single View to the Customer Customer Social Media Gaming Entertai n Our Known History Purch ase Learner Storage Banking Finance
  10. 10. Page 10 สาขาวิชาที่ เรียน สายงานที่ ต้องการทา ความรู้ที่มี บุคลากรที่ องค์กรต้องการ ทาอย่างไรจึงจะตามเทคโนโลยีได้ทัน เครื่องมือ เทคนิควิธีความรู้ ประสบการณ์
  11. 11. Page 11 สาขาที่เปิ ดสอนด้านคอมพิวเตอร ์ และเทคโนโลยีสารสนเทศ ในประเทศไทย
  12. 12. Page 12 เว็บตรวจสอบภาษาการเขียนโปรแกรมยอดนิยม www.githut.info
  13. 13. Page 13 Top 10 programming languages 2019 https://codinginfinite.com/best-programming-languages-to-learn-2019/
  14. 14. Page 14 Top 10 programming languages 2019
  15. 15. Page 15 Developer Survey Results 2019 with Stack Overflow http://tiny.cc/insights-stackoverflow
  16. 16. Page 16 Topic o รู้จักภาษา Python o การติดตั้งและปรับแต่งภาษา Python o เรียนรู้ทางลัดในการเขียนโปรแกรมภาษา Python o การติดตั้ง Python Libraries o การพัฒนาโปรแกรม GUI o การทางานร่วมกับฐานข้อมูล MySQL, MongoDB o การพัฒนา Web Application ด้วย Python (Django Framework) o การเขียน Python บนคอมพิวเตอร ์แบบฝังตัว
  17. 17. Page 17 รู ้จักภาษา Python  Python เป็นภาษาระดับสูง ที่นาข้อดีของภาษาต่างๆ มารวมไว้ด้วยกัน เป็ นภาษาที่มีความสามารถสูง เรียนรู้เข้าใจและเขียนได้ง่าย รวดเร็ว กะทัดรัด เขียนโค้ดได้สั้นกว่าภาษาอื่นๆ พัฒนาขึ้นโดย กีโด ฟาน รอสซัม (Guido van Rossum) ในปี 1990 ปัจจุบันดูแลโดยมูลนิธิซอฟต์แวร ์ ไพธอน (Python Software Foundation)  ภาษา Python เป็ นภาษาที่พัฒนาขึ้นในรูปแบบ OpenSource ที่ทุกคน สามารถดาวน์โหลดไปติดตั้งใช้งานได้ฟรีโดยไม่ต้องจ่ายค่าลิขสิทธิ์ จึงทา ให้มีผู้ช่วยกันพัฒนาต่อยอดภาษา Python ให้มีความสามารถสูงขึ้น และ ถูกนาไปใช้ในการพัฒนาโปรแกรมที่มีขนาดใหญ่และมีความซับซ ้อน สามารถใช้งานคลอบคลุมงานเกือบทุกด้านไม่ว่าจะเป็ นงานด้าน วิทยาศาสตร ์วิศวกรรมศาสตร ์เว็บไซต์ฐานข้อมูล กราฟิก เกม เครือข่าย บิ๊กดาต้า และปัญญาประดิษฐ ์
  18. 18. Page 18 รู้จักภาษา Python  เป็ น Open Source  มีไวยากรณ์ที่อ่านง่าย  มีความเป็ นภาษาตัวเชื่อม (Glue language)  ใช้ได้ทุกระบบปฏิบัติการ Windows, Linux Mac  สนับสนุนการทางานเชิงวัตถุ OOP  สนับสนุนเทคโนโลยี COM ของ Ms-windows  รองรับการทางานแบบ Client/Server  ใช้พัฒนา Web Services, Content Management Framework … Plone  อนุญาตให้ฝังชุดคาสั่งของ Python เอาไว้ภายในโค๊ดภาษา C/C++ ได้ จุดเด่น
  19. 19. Page 19 รู้จักภาษา Python  อนุญาตให้โปรแกรมเมอร ์สร้าง Dynamic Link Library (DLL) เพื่อใช ้ร่วมกับ Python  รองรับการทางานระบบคอมพิวเตอร ์แบบฝังตัวผ่านเครือข่าย IoT (Arduino board, Raspberry Pi)  สามารถจัดการพื้นที่หน่วยความจาอย่างอัตโนมัติ(พื้นที่ที่ได้ใช ้งานอย่างมีประสิทธิภาพ)  มีฟังก์ชันสนับสนุนฐานข้อมูล เช่น SQLite, MySQL, Sybase, Oracle, Informix, ODBC และอื่นๆ  มีไลบรารีให้เลือกใช ้งานที่หลากหลาย อาทิ web services, networking, numerical, GUI, 3D graphics  สามารถประมวลผลทางด้านวิทยาศาสตร ์วิศวกรรมศาสตร ์ได้อย่างมีประสิทธิภาพ  มีไลบรารีสาหรับสร ้างเอกสาร PDF โดยไม่ต้องติดตั้ง Acrobat Writer  มีไลบรารีสนับสนุนด้านปัญญาประดิษฐ ์(AI)  มีชุมชนออนไลน์ใช ้งานจานวนมาก ปัจจุบันมีเว็บสอนและเรียนรู้เพิ่มเติมได้ง่าย จุดเด่น
  20. 20. Page 20 Python Editor  Spyder - Matlab-like environment, good for beginners.  Gedit with plugins  NinjaIDE  Geany (Linux/Windows)  Notepad++ (Windows)  Textmate (Mac)  Kod (Mac)  Python IDLE  Python Charm - Community Edition  PyDev - Python IDE for Eclipse  Jupyter Notebook  Anaconda (IDE)  Notepad++  SublimeText  Zed  Atom  Brackets  LightTable  VSCode  AWS Cloud9 Modern Old school
  21. 21. Page 21 การติดตั้งและการปรับ สภาพแวดล้อมภาษา Python
  22. 22. Page 22 https://www.python.org
  23. 23. Page 23 การติดตั้งภาษา Python
  24. 24. Page 24 ทดสอบการทางานของภาษา Python 1. Start > Run > cmd 2. พิมพ์ python
  25. 25. Page 25 ทดสอบการทางานของภาษา Python >>> print (“Python Hello World”) >>> print (“I am programmer”) >>> print (“*****************”) ตัวอย่างที่ 1
  26. 26. Page 26 ทดสอบการทางานของภาษา Python >>> a = 20 >>> b = 10 >>> c = 3 >>> d = (a-b)*c >>> print d ตัวอย่างที่ 2
  27. 27. Page 27 เครื่องมือหลักในการเขียนโปรแกรมด้วย Python • Python (command line) • IDLE (Python GUI) Interactive Development Environment
  28. 28. Page 28 IDLE (Python GUI)
  29. 29. Page 29 การเขียน Comment # Program by : Member list “”” Program : Member list Write by : Arnut Ruttanatirakul Create date: 17 May 2019 “”” หมายเหตุหลายบรรทัด ใช้Double quotes 3 ตัว หมายเหตุบรรทัดเดียว
  30. 30. Page 30 คาสั่งแสดงผล • รูปแบบ print (ข้อมูล) print (ข้อมูล1, ข้อมูล2, ข้อมูล3, …) ตัวอย่าง >>> print (20) 20 >>> print(‘’I am Programmer”) I am Programmer
  31. 31. Page 31 คาสั่งในการรับข้อมูล variable = input (‘arg’) variable : ตัวแปรที่ใช้เก็บข้อมูลอินพุตที่มาจาคีย์บอร ์ด arg : ข้อความที่ให้แสดงบนหน้าจอก่อนการรับข้อมูลจากคีย์บอร ์ด ตัวอย่าง >>> a = input ('Enter a Employee Salary : ') Enter a Employee Salary: 25 >>> print('Your a Salary', a) Your Salary is 25 รูปแบบ
  32. 32. Page 32 Keyword ในภาษา Python import keyword print (keyword.kwlist) ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']
  33. 33. Page 33 การล้างหน้าจอบน Python Shell >>> import os >>> os.system('cls') #windows Source: http://www.arnut.com/huntra/node/29 >>> import os >>> clear = lambda: os.system('cls') >>> clear() >>> import os >>> os.system('clear') #linux / os x
  34. 34. Page 34 การเรียกใช ้งาน Module & Package
  35. 35. Page 35 การเรียกใช้งาน Module & Package print (dir()) การเรียกใช้งานโมดูลด้านคณิตศาสตร ์ >>> import math >>> print (dir()) ['__builtins__', '__doc__', '__name__', '__package__', 'keyword', 'math']
  36. 36. Page 36 การติดตั้ง Package ด้วย PIP PIP is a package manager for Python packages pip --version การตรวจสอบเวอร ์ชั่น pip list การตรวจแพ็กเกจที่ติดตั้งอยู่
  37. 37. Page 37 ทดสอบ 1. ติดตั้งแพ็กเกจ camelcase (easy package) pip install camelcase 2. เรียกใช้งาน Package import camelcase c = camelcase.CamelCase() txt = "hello world" print(c.hump(txt))
  38. 38. Page 38 การยกเลิกการติดตั้ง Package • pip uninstall camelcase • pip list
  39. 39. Page 39 การพัฒนาโปรแกรม GUI
  40. 40. Page 40 การพัฒนาโปรแกรม GUI o Tkinter (ค่า default) o PyQT o PyGTK o wxPython o IronPython o Jpython o Kivy o PyOpenGL o FxPy ไลบรารีสาหรับพัฒนา GUI
  41. 41. Page 41 การสร ้าง GUI ด้วย Tkinter
  42. 42. Page 42 การทางานร่วมกับฐานข้อมูล MySQL, MongoDB
  43. 43. Page 43 การทางานร่วมกับฐานข้อมูล MySQL • ดาวน์โหลดและติดตั้ง MySQL Connector import mysql.connector • ทดสอบการเชื่อมต่อ mysql_test.py pip install PyMySQL pip install mysql-connector
  44. 44. Page 44 การทางานร่วมกับฐานข้อมูล MySQL • เขียนโค้ดเชื่อมต่อฐานข้อมูล mysql_connection.py: import mysql.connector mydb = mysql.connector.connect( host="localhost", user="yourusername", passwd="yourpassword" ) print(mydb)
  45. 45. Page 45 พัฒนา Web Application กับภาษา Python ด้วย Django Framework
  46. 46. Page 46 Django ? Django (อ่านว่าจังโก้ หรือแจงโก้ โดยไม่ออกเสียงตัว D) เป็ น framework ที่ใช้ในการสร ้าง Web Application ในฝั่งของ Back End ที่พัฒนาด้วยภาษา Python โดยในตัว framework จะมี ส่วนประกอบทุกอย่างที่จาเป็ นตั้งแต่การเชื่อมต่อฐานข้อมูล ไปจนถึงการ render ข้อมูลออกมาให้ฝั่ง Front End แสดงผลข้อมูลเหล่านั้นได้ ซึ่ง framework ในรูปแบบนี้ในภาษาอื่นๆ เช่น Ruby on rails สาหรับ ภาษา Ruby, Play Framework สาหรับภาษา Java หรือ Scala, Groovy on Grails สาหรับภาษา Groovy, Laravel สาหรับภาษา PHP, หรือ Express สาหรับภาษา Javascript ของ Node.js เป็ นต้น
  47. 47. Page 47 พัฒนา Web Application กับภาษา Python ด้วย Django Framework Source: http://hotframeworks.com
  48. 48. Page 48 พัฒนา Web Application กับภาษา Python ด้วย Django Framework Source: http://hotframeworks.com
  49. 49. Page 49 การติดตั้ง Django Framework 1. ติดตั้ง Django • pip3 install django 2. ตรวจสอบการติดตั้ง • django-admin
  50. 50. Page 50 สร้าง Django Project 1. เข้าไปยัง Folder ที่ต้องการเก็บ project จากนั้น เริ่มสร ้าง project ชื่อ “my_library” (ห้องสมุดของฉัน) ด้วยคาสั่ง django-admin startproject my_library 2. จะทาให้ได้โฟลเดอร ์my_library ซึ่งด้านในจะเก็บไฟล์project ของ Django ดังนี้
  51. 51. Page 51 สร้าง Django Project (ต่อ)  manage.py คือไฟล์script สาหรับรันคาสั่งต่างๆ ที่เกี่ยวข้องกับ Django โดยปกติไฟล์นี้จะไม่ถูกแก้ไขใด ๆ ทั้งสิ้น  __init__.py คือไฟล์ว่างๆ (ลองเปิดด้วย text editor ดูได้นะครับ) ไฟล์นี้มีไว้เพื่อให้ภาษา Python รู้ว่าโฟลเดอร ์ที่อยู่นี้เป็ นโฟลเดอร ์ที่ใช้ เก็บ Python Package โดยปกติไฟล์นี้จะถูกปล่อยเป็ นไฟล์ว่าง ๆ ไว้ แต่เราสามารถใส่ Python script เข้าไปได้  settings.py คือไฟล์ที่ใช้เก็บ configuration ทั้งหมดของ project  urls.py คือไฟล์ที่ใช้เก็บการ routing ของ HTTP request ซึ่งจะ กล่าวถึงในหัวข้อถัดไป  wsgi.py คือไฟล์ที่ใช้เก็บข้อมูลของ Django project ของเรา ใช้ สาหรับการ deploy project เมื่อต้องการเชื่อมต่อกับ Web Server
  52. 52. Page 52 ทดสอบ Django • ทดลองรัน Django Project ที่ port 8000 ด้วยคาสั่ง py manage.py runserver 0.0.0.0:8000 1. py manage.py คือการสั่งรัน Python script ในไฟล์manage.py ซึ่งเป็นคาสั่งเริ่มต้น ในการรัน Django command ทุกคาสั่ง 2. runserver คือ parameter เพื่อบอกว่าต้องการ start web server ขึ้นมา 3. 0.0.0.0:8000 คือ parameter ของ web server ที่เราจะสร ้างขึ้นมา โดย 0.0.0.0 หมายถึงให้ web server ของเรา bind กับทุก ๆ IP ในเครื่องของเรา และ 8000 คือ port ที่ ต้องการรัน
  53. 53. Page 53 ทดสอบ Django • http://localhost:8000
  54. 54. Page 54 Reference  Python Tutorial - W3Schools (https://www.w3schools.com/python/)  https://www.learnpython.org/  https://scipy- lectures.org/intro/language/python_language.html  http://tiny.cc/DjangoFramework  http://tiny.cc/insights-stackoverflow  http://www.arnut.com

×