SlideShare a Scribd company logo
Python 101
 Kiattisak Anoochitarom
     NSC Camp #5
Who’s Invent ?



    Guido van Rossum
    Software Engineer at Google inc.
Programming Structure

 ‣ Indentation
 ‣ strong & dynamic type
 ‣ short and readable code
 ‣ interpreter style
PEP-8

เขียน Python โดยไม่อ่าน PEP-8 ถือว่าเป็น “บาป”
 - อ่านง่าย (Readability)
 - กลมกลืน (Consistency)

Guido บอกว่า Programmer ส่วนใหญ่มักจะอ่าน Code มากกว่า
เขียน ดังนั้นถ้าจะเขียนควรเขียนให้อ่านง่าย
PEP-8 Overview [1]

‣ 4 white spaces or 1 tab for indentation
‣ อย่าให้แต่ละบรรทัดเกิน 79 ตัวอักษร
‣ คั่นส่วนต่างๆ ของโปรแกรมด้วยการเว้นบรรทัด
PEP-8 Overview [2]
import library 1 ตัวต่อ 1 บรรทัด
import ที่ด้านบนของไฟล์เสมอ
import cv
import bs4                                          Yes:
from subprocess import Popen, PIPE                    x=1
                                                      y=2
                  Yes: spam(ham[1], {eggs: 2})        long_variable = 3
                  No: spam( ham[ 1 ], { eggs: 2})   No:
                                                      x            =1
                  Yes: dict[‘key’] = list[index]      y             =2
                  No: dict [‘key’] = list [index]     long_variable = 3

    อย่าใช้ whitespace พร่ําเพรื่อ (1 บรรทัดไม่ควรเกิน 79 ตัวอักษร)
Data Type

    String                 str = ‘message’
   Integer                   number = 20
Floating Point                pi = 3.14159
   Boolean              isParse = True, False
    None                          None
     List                    list = [1, 2, 3]
  Dictionary        me = {“name”: “Bas”, “No”: 1}
Class instance              a = MyClass()
Operator
Basic Operator
 +, -, *, /, %, **, &, |       warning!
                               - int/int == int
                               - int**(-int) == float
Comparison Operator
                               - int/float == float
>, >=, <, <=, ==, !=, is       - string + string == concat string
                               - string * int == multiple string
                               - list + list = list



shortly
i = i + 1 == i += 1
Logical Operator
ใน Python เราจะใช้ & และ | (Pipe) เพื่อทํา and, or Operation
แต่ใน Python ก็มี Operator พิเศษและนิยมใช้กันนั่นคือ


                        and , or

                                       shortly logical operation
                                              x &= (a == b)
                                                   ==
                                           x = x and (a == b)
Control Statement (if)
                                       If
                          condition statement
         เงื่อนไขของ if ไม่ต้องใส่วงเล็บ เว้นแต่ว่าเงื่อนไขจะมีหลายบรรทัด



number = int(input(“Enter Number: “))       number = int(input(“Enter Number: “))
if number > 0:                              if number % 2 == 0 or number % 4 == 0
   print “Number is Positive”                  or number % 5 == 0:
elif number < 0:                                  print ‘Number divided by 2, 4, 5’
   print “Number is Negative”
else:
   print “Number is Zero”
Control Statement (for)
  For (foreach)
    loop statement
                          list = [7, 8, 9, 10]
for x in xrange(10):      for index, value in enumerate(list):
  print x                      print index, value

for x in xrange(3, 20):
  print x
                           x=0                Endless Loop
name = [‘a’, ‘b’, ‘c’]     while (x <= 10):   while True:
for x in name               print x             if condition:
  print x                   x += 1                 break;
Play with List, Dictionary



       string method and slice
     list and list method demo
           dictionary demo
     mixed type list, dictionary
Function
Function Syntax:
   def function_name(set of parameter):
     statement ..
     statement ..

def fibonacci(n):
  fibo = 0;
  for k in xrange(0, int(math.floor((n - 1) / 2)) + 1):
     fibo += math.factorial(n - k - 1) / 
          (math.factorial(k) * math.factorial(n - k - 1 - k))
  return fibo


Muti-Return Data
Python OOP
- Class = แม่พิมพ์ขนม
- Object, Instance = ขนม
- Python Class ก็เช่นเดียวกัน
- Python Class จะ subclass จาก Class object เสมอ


                 Demo:
                 - create class
                 - constructor and destructor
                 - create class instance
                 - using class
Read and Write File
open(‘filename’, ‘mode’)
             r = read # เปิดไฟล์เพื่ออ่าน
             w = write # เปิดไฟล์เพื่อเขียนทับ
             a = append # เปิดไฟล์เพื่อเขียนต่อ

file = open(‘filename.txt’, r)
file.read() # อ่านไฟล์ทั้งหมดเป็น String
file.readline() # อ่านไฟล์ทีละบรรทัด
file.readlines() # อ่านไฟล์ทุกบรรทัดออกมาเป็น List of String

file.write(‘string’) # เขียน String ทั้งหมดลงไฟล์
file.writelines([list of string]) # เขียน List of String ลงไฟล์
1-liner
บรรทัดเดียวก็เสียวได้




                   - sum
                   - list comprehensive
                   - shorten if
Tools

Editor
 - Vim
 - Sublime              Interactive Shell
                         - python shell
                         - ipython
IDE                      - bpython
 - Eclipse + PyDev       - IDLE
 - Eric IDE
 - Komodo
Libraries



Libraries ของ Python มีเยอะมาก
หาได้จาก PyPI - http://pypi.python.org/pypi
It’s Application

Digital Image Processing (Python Imaging Library)
           Computer Vision (OpenCV)
            Web Framework (Django)
          Web Server (Gunicorn, Tornado)
  Web Client (Beautiful Soup, urllib3, html5lib)
       Content Management System (Plone)
       Natural Language Processing (NLTK)
Ad

Recommended

การเขียนฟังก์ชั่นในภาษา C
การเขียนฟังก์ชั่นในภาษา C
Warawut
 
Java Programming: คลาสอินพุตและเอาต์พุต
Java Programming: คลาสอินพุตและเอาต์พุต
Thanachart Numnonda
 
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
โปรแกรมย่อยและฟังก์ชันมาตรฐาน
Prapatsorn Keawnoun
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
JK133
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Sarocha Makranit
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 
ภาษา C#
ภาษา C#
ictyangtalad
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)
Tinnakorn Puttha
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
Thanachart Numnonda
 
Java Programming [12/12] : Thread
Java Programming [12/12] : Thread
IMC Institute
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
ประภาพร เนียมหอม
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
Thanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
Ploy StopDark
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
Ploy StopDark
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาด
Thanachart Numnonda
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 
C lang
C lang
Nattawut Pornonsung
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
Thanachart Numnonda
 
DEVNET-1114 Automated Management Using SDN/NFV
DEVNET-1114 Automated Management Using SDN/NFV
Cisco DevNet
 
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
Cisco DevNet
 

More Related Content

What's hot (20)

การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Sarocha Makranit
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 
ภาษา C#
ภาษา C#
ictyangtalad
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)
Tinnakorn Puttha
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
Thanachart Numnonda
 
Java Programming [12/12] : Thread
Java Programming [12/12] : Thread
IMC Institute
 
โปรแกรมย่อยและฟังก์ชัน
โปรแกรมย่อยและฟังก์ชัน
ประภาพร เนียมหอม
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
Thanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
Ploy StopDark
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
Ploy StopDark
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาด
Thanachart Numnonda
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 
C lang
C lang
Nattawut Pornonsung
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
Thanachart Numnonda
 
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Nookky Anapat
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Sarocha Makranit
 
พื้นฐานภาษาจาวา
พื้นฐานภาษาจาวา
Aeew Autaporn
 
PHP Tutorial (introduction)
PHP Tutorial (introduction)
Tinnakorn Puttha
 
Java Programming: โครงสร้างควบคุม
Java Programming: โครงสร้างควบคุม
Thanachart Numnonda
 
Java Programming [12/12] : Thread
Java Programming [12/12] : Thread
IMC Institute
 
ความรู้เบื้องต้นภาษาจาวา
ความรู้เบื้องต้นภาษาจาวา
Thanachart Numnonda
 
Java Programming: อะเรย์และคอลเล็กชั่น
Java Programming: อะเรย์และคอลเล็กชั่น
Thanachart Numnonda
 
การเขียนโปรแกรมเพื่องานอาชีพ 6.
การเขียนโปรแกรมเพื่องานอาชีพ 6.
Ploy StopDark
 
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
โปรแกรมย่อยและฟังก์ชัน มาตรฐาน 6
Ploy StopDark
 
Java Programming: การจัดการกับข้อผิดพลาด
Java Programming: การจัดการกับข้อผิดพลาด
Thanachart Numnonda
 
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Java Programming: การสร้างส่วนต่อประสานกราฟิกกับผู้ใช้ (Java GUI)
Thanachart Numnonda
 
Java Programming: หลักการเชิงอ็อบเจกต์
Java Programming: หลักการเชิงอ็อบเจกต์
Thanachart Numnonda
 

Viewers also liked (20)

DEVNET-1114 Automated Management Using SDN/NFV
DEVNET-1114 Automated Management Using SDN/NFV
Cisco DevNet
 
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
Cisco DevNet
 
Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02
Waqar Mughal
 
O lectie de patriotism local
O lectie de patriotism local
lazardiana
 
Git slide
Git slide
Kiattisak Anoochitarom
 
Shasta county mou 2013
Shasta county mou 2013
CUHW Local 4034
 
Proposta di deliberazione prot. n. 259 del 2012 (2)
Proposta di deliberazione prot. n. 259 del 2012 (2)
Fballer77
 
Introduction to Python
Introduction to Python
KHNOG
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
Tessa Mero
 
Simulation training in medicine and technology management
Simulation training in medicine and technology management
MCH-org-ua
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
Cisco DevNet
 
Cisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIs
Private
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjones
Billy jones Monarquia
 
DEVNET-1126 APIC-EM API
DEVNET-1126 APIC-EM API
Cisco DevNet
 
Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD)
KHNOG
 
Network Mapper (NMAP)
Network Mapper (NMAP)
KHNOG
 
WorkShop SDN / ACI - Jeudi 12 Février 2015
WorkShop SDN / ACI - Jeudi 12 Février 2015
Dig-IT
 
Cach giai bai tap dai tu quan he
Cach giai bai tap dai tu quan he
Ngọc Long
 
Policy Based Routing (PBR)
Policy Based Routing (PBR)
KHNOG
 
DEVNET-1114 Automated Management Using SDN/NFV
DEVNET-1114 Automated Management Using SDN/NFV
Cisco DevNet
 
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
DEVNET-2002 Coding 201: Coding Skills 201: Going Further with REST and Python...
Cisco DevNet
 
Manufacturingofmicroprocessor 120813121945-phpapp02
Manufacturingofmicroprocessor 120813121945-phpapp02
Waqar Mughal
 
O lectie de patriotism local
O lectie de patriotism local
lazardiana
 
Proposta di deliberazione prot. n. 259 del 2012 (2)
Proposta di deliberazione prot. n. 259 del 2012 (2)
Fballer77
 
Introduction to Python
Introduction to Python
KHNOG
 
Understanding REST APIs in 5 Simple Steps
Understanding REST APIs in 5 Simple Steps
Tessa Mero
 
Simulation training in medicine and technology management
Simulation training in medicine and technology management
MCH-org-ua
 
Coding 102 REST API Basics Using Spark
Coding 102 REST API Basics Using Spark
Cisco DevNet
 
Cisco CSR1000V, VMware, and RESTful APIs
Cisco CSR1000V, VMware, and RESTful APIs
Private
 
Cisco application infrastracture controller (apic) billyjones
Cisco application infrastracture controller (apic) billyjones
Billy jones Monarquia
 
DEVNET-1126 APIC-EM API
DEVNET-1126 APIC-EM API
Cisco DevNet
 
Bidirectional Forwarding Detection (BFD)
Bidirectional Forwarding Detection (BFD)
KHNOG
 
Network Mapper (NMAP)
Network Mapper (NMAP)
KHNOG
 
WorkShop SDN / ACI - Jeudi 12 Février 2015
WorkShop SDN / ACI - Jeudi 12 Février 2015
Dig-IT
 
Cach giai bai tap dai tu quan he
Cach giai bai tap dai tu quan he
Ngọc Long
 
Policy Based Routing (PBR)
Policy Based Routing (PBR)
KHNOG
 
Ad

Similar to Python101 (20)

Java-Chapter 02 Data Operations and Processing
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
 
RTAF_Basic_Python_2022_Cyber_Operation_Contest.pptx
RTAF_Basic_Python_2022_Cyber_Operation_Contest.pptx
nkrafacyberclub
 
Programming
Programming
sa
 
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
 
ตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูล
Kornnicha Wonglai
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
winewic199
 
Java script เบื้องต้น
Java script เบื้องต้น
Samart Phetdee
 
หน่วยการเรียนรู้ที่ 3
หน่วยการเรียนรู้ที่ 3
SubLt Masu
 
Structure Statement VB.NET 2005
Structure Statement VB.NET 2005
Warawut
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
Itslvle Parin
 
Java-Chapter 02 Data Operations and Processing
Java-Chapter 02 Data Operations and Processing
Wongyos Keardsri
 
RTAF_Basic_Python_2022_Cyber_Operation_Contest.pptx
RTAF_Basic_Python_2022_Cyber_Operation_Contest.pptx
nkrafacyberclub
 
Programming
Programming
sa
 
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
กลุ่ม3การเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
 
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Powerpointการเขียนคำสั่งควบคุมแบบมีทางเลือก
Naphamas
 
ตัวแปร การกำหนดค่าและชนิดข้อมูล
ตัวแปร การกำหนดค่าและชนิดข้อมูล
Kornnicha Wonglai
 
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
การพัฒนาโปรแกรม วิชญา เลขที่ 26.2
winewic199
 
Java script เบื้องต้น
Java script เบื้องต้น
Samart Phetdee
 
หน่วยการเรียนรู้ที่ 3
หน่วยการเรียนรู้ที่ 3
SubLt Masu
 
Structure Statement VB.NET 2005
Structure Statement VB.NET 2005
Warawut
 
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
งานที่ #1 ตัวรายงานการเขียนคำสั่งควบคุมแบบมีทางเลือก
Itslvle Parin
 
Ad

Python101

  • 1. Python 101 Kiattisak Anoochitarom NSC Camp #5
  • 2. Who’s Invent ? Guido van Rossum Software Engineer at Google inc.
  • 3. Programming Structure ‣ Indentation ‣ strong & dynamic type ‣ short and readable code ‣ interpreter style
  • 4. PEP-8 เขียน Python โดยไม่อ่าน PEP-8 ถือว่าเป็น “บาป” - อ่านง่าย (Readability) - กลมกลืน (Consistency) Guido บอกว่า Programmer ส่วนใหญ่มักจะอ่าน Code มากกว่า เขียน ดังนั้นถ้าจะเขียนควรเขียนให้อ่านง่าย
  • 5. PEP-8 Overview [1] ‣ 4 white spaces or 1 tab for indentation ‣ อย่าให้แต่ละบรรทัดเกิน 79 ตัวอักษร ‣ คั่นส่วนต่างๆ ของโปรแกรมด้วยการเว้นบรรทัด
  • 6. PEP-8 Overview [2] import library 1 ตัวต่อ 1 บรรทัด import ที่ด้านบนของไฟล์เสมอ import cv import bs4 Yes: from subprocess import Popen, PIPE x=1 y=2 Yes: spam(ham[1], {eggs: 2}) long_variable = 3 No: spam( ham[ 1 ], { eggs: 2}) No: x =1 Yes: dict[‘key’] = list[index] y =2 No: dict [‘key’] = list [index] long_variable = 3 อย่าใช้ whitespace พร่ําเพรื่อ (1 บรรทัดไม่ควรเกิน 79 ตัวอักษร)
  • 7. Data Type String str = ‘message’ Integer number = 20 Floating Point pi = 3.14159 Boolean isParse = True, False None None List list = [1, 2, 3] Dictionary me = {“name”: “Bas”, “No”: 1} Class instance a = MyClass()
  • 8. Operator Basic Operator +, -, *, /, %, **, &, | warning! - int/int == int - int**(-int) == float Comparison Operator - int/float == float >, >=, <, <=, ==, !=, is - string + string == concat string - string * int == multiple string - list + list = list shortly i = i + 1 == i += 1
  • 9. Logical Operator ใน Python เราจะใช้ & และ | (Pipe) เพื่อทํา and, or Operation แต่ใน Python ก็มี Operator พิเศษและนิยมใช้กันนั่นคือ and , or shortly logical operation x &= (a == b) == x = x and (a == b)
  • 10. Control Statement (if) If condition statement เงื่อนไขของ if ไม่ต้องใส่วงเล็บ เว้นแต่ว่าเงื่อนไขจะมีหลายบรรทัด number = int(input(“Enter Number: “)) number = int(input(“Enter Number: “)) if number > 0: if number % 2 == 0 or number % 4 == 0 print “Number is Positive” or number % 5 == 0: elif number < 0: print ‘Number divided by 2, 4, 5’ print “Number is Negative” else: print “Number is Zero”
  • 11. Control Statement (for) For (foreach) loop statement list = [7, 8, 9, 10] for x in xrange(10): for index, value in enumerate(list): print x print index, value for x in xrange(3, 20): print x x=0 Endless Loop name = [‘a’, ‘b’, ‘c’] while (x <= 10): while True: for x in name print x if condition: print x x += 1 break;
  • 12. Play with List, Dictionary string method and slice list and list method demo dictionary demo mixed type list, dictionary
  • 13. Function Function Syntax: def function_name(set of parameter): statement .. statement .. def fibonacci(n): fibo = 0; for k in xrange(0, int(math.floor((n - 1) / 2)) + 1): fibo += math.factorial(n - k - 1) / (math.factorial(k) * math.factorial(n - k - 1 - k)) return fibo Muti-Return Data
  • 14. Python OOP - Class = แม่พิมพ์ขนม - Object, Instance = ขนม - Python Class ก็เช่นเดียวกัน - Python Class จะ subclass จาก Class object เสมอ Demo: - create class - constructor and destructor - create class instance - using class
  • 15. Read and Write File open(‘filename’, ‘mode’) r = read # เปิดไฟล์เพื่ออ่าน w = write # เปิดไฟล์เพื่อเขียนทับ a = append # เปิดไฟล์เพื่อเขียนต่อ file = open(‘filename.txt’, r) file.read() # อ่านไฟล์ทั้งหมดเป็น String file.readline() # อ่านไฟล์ทีละบรรทัด file.readlines() # อ่านไฟล์ทุกบรรทัดออกมาเป็น List of String file.write(‘string’) # เขียน String ทั้งหมดลงไฟล์ file.writelines([list of string]) # เขียน List of String ลงไฟล์
  • 17. Tools Editor - Vim - Sublime Interactive Shell - python shell - ipython IDE - bpython - Eclipse + PyDev - IDLE - Eric IDE - Komodo
  • 18. Libraries Libraries ของ Python มีเยอะมาก หาได้จาก PyPI - http://pypi.python.org/pypi
  • 19. It’s Application Digital Image Processing (Python Imaging Library) Computer Vision (OpenCV) Web Framework (Django) Web Server (Gunicorn, Tornado) Web Client (Beautiful Soup, urllib3, html5lib) Content Management System (Plone) Natural Language Processing (NLTK)