การโปรแกรมไพทอน (python)
Home  Contents KMArticlesMembersSponsorsAbout us

ปรับปรุง : 2559-05-08 (เพิ่มหนังสือ)
Python คืออะไร
ภาษาไพทอน (Python Language) คือ ภาษาคอมพิวเตอร์ประเภทโอเพนท์ซอร์ท (Open Source Computer Language) สำหรับพัฒนาเว็บเพจแบบไดนามิก เมื่อเครื่องบริการได้รับคำร้องจากผู้ใช้ก็จะส่งให้กับ ตัวแปลภาษา ทำหน้าที่ประมวลผลและส่งข้อมูลกลับไปยังเครื่องของผู้ใช้ที่ร้องขอ ในรูปเอชทีเอ็มแอล ภาพ หรือแฟ้มดิจิทอลอื่นใด ลักษณะของภาษามีรากฐานคำสั่งมาจากภาษาซี เป็นภาษาที่สามารถพัฒนาให้ใช้งานแบบโต้ตอบกับผู้ใช้ได้ จุดที่แตกต่างกับภาษาอื่น คือ การรวบรวมจุดเด่นของแต่ละภาษามารวมเข้าด้วยกัน
ภาษาไพทอน เป็นภาษาโปรแกรมคอมพิวเตอร์แบบอินเทอร์พรีเตอร์ (Interpreter) ที่สร้างโดย กีโด ฟาน รอสซัม (Guido van Rossum) ชาวเนเธอร์แลนด์ ในธันวาคม พ.ศ. 2532 (ค.ศ.1989) ปัจจุบันดูแลโดย มูลนิธิซอฟต์แวร์ไพทอน ซึ่งที่มาของชื่อ Python น่าจะมาจากรายการโทรทัศน์ Monty Python's Flying Circus ที่ทำให้ผู้ใช้รู้สึกสนุกที่ได้ใช้ (fun to use) แต่ผู้สร้างบอกว่าชื่อนี้ไม่ได้มาจากงู แต่โลโก้ของภาษาเป็นรูปงู 2 ตัว
จุดเด่นของไพทอน (Python)
- การเขียนคำสั่งกระชับกว่าภาษาอื่น ที่อ่าน code ได้ง่าย (Readability)
- มี Library ให้เรียกใช้ได้มากมาย
- มีประสิทธิภาพในการประมวลผลเมื่อเปรียบเทียบกับภาษาอื่น
- เป็น OOP และ Functional
- มีระบบตัวแปรเป็นแบบ Dynamic
+ http://raid6.com.au/~onlyjob/posts/arena/

python/ebook
ProgrammingExpertwithPython.pdf
เทียบเคียงกับภาษาอื่น       ภาษาสำหรับพัฒนาเว็บไซต์มีหลายภาษา เช่น PHP, Perl, Java หรือ Python แล้วภาษา Python ถูกนำมาใช้เป็นเครื่องมือในการสอนนักศึกษาสายคอมพิวเตอร์ ได้อย่างน้อย 3 วิชา คือ 1) การเขียนโปรแกรมเบื้องต้น (Introduction) 2) การเขียนโปรแกรมบนเว็บ (Web-Based Development) และ 3) การเขียนโปรแกรมเชิงวัตถุ (Object-Oriented Programming) แล้วพบว่าสถาบันการศึกษาในไทยหลายแห่งมีความสนใจในภาษา Python เช่น มหิดล และ เกษตรศาสตร์ และ พระจอมเกล้าลาดกระบัง และ มหาวิทยาลัยราชภัฏสงขลา เมื่อดูข้อมูลสถิติความเป็นที่ชื่นชอบ (Popular) ก็ต้องยกให้ Python ร้อยละ 30.3 รองลงมาคือ Java ร้อยละ 22.2 และ C++ เป็นอันดับสามคือร้อยละ 13 ซึ่งสรุปได้ว่า Python เป็นภาษาที่มาแรง ช่วงชิงความเป็นที่ชื่นชอบของนักพัฒนาจนเป็นที่ 1 เมื่อปี 2013 และ 2014
Python บน DOS ranking
+ http://datavirtualizer.com/popularity-vs-productivity-vs-performance/
เริ่มต้นกับ Python
1. ดาวน์โหลดตัวแปลภาษาสำหรับ Windows จาก https://python.org/downloads/
2. เมื่อได้แฟ้ม python-3.4.3.msi ขนาด 23.7 MB แล้วสั่ง run แฟ้มที่ได้
3. กดปุ่ม Next 3 ครั้ง เมื่อติดตั้งเสร็จแล้วก็กด Finish 
4. เปิดโปรแกรม Python 3.4 (command line - 32 bit) ใน Start, Programs, Python 3.4
5. พิมพ์คำสั่ง 9 บรรทัดต่อไปนี้ 
a=5;b=3;
print(a + b);
print(a - b);
print(a * b);
print(a / b);
print(a % b);
print(round(a / b));
print(round((a - 1) / b));
quit();
# ท่านคิดว่าผลลัพธ์จากแต่ละคำสั่งคืออะไร
เขียน function เบื้องต้น
def printme(str):
        print("===\n" + str);
        return;
printme("boy");
printme("girl");
printme(str = "child");
การสร้าง function จะขึ้นต้นด้วยคำว่า def
แล้วเปิด function ด้วยเครื่องหมาย :
แล้วปิด function ด้วยคำว่า return
ซึ่งจะต้องประกาศ function ก่อนเรียกใช้
+ http://www.tutorialspoint.com/python/python_functions.htm
การเริ่มต้นกับภาษา python บน DOS กับ Webpage
18 พ.ค.57 ได้ทดสอบแปลภาษา python ใน 2 สภาพแวดล้อม
คือ บน dos ที่ใช้ interpreter รุ่น 3.4 โดยนำมาติดตั้งเอง
และบน web server ในเครื่องบริการของ hypermart.net ใช่รุ่น 2.5 
พบว่าการแสดงคำว่า "สวัสดีชาวโลก" ต้องใช้ syntax แตกต่างกัน
เพราะรุ่น 3 กำหนดให้ใช้ function ทั้งหมด 
เช่น print "x" ก็ต้องเปลี่ยนเป็น print ("x")
ตัวอย่าง script ที่เขียนด้วย Python
1. การใช้บน webserver ที่ติดตั้งรุ่น 2.5
 #!/usr/bin/python
 print "Content-type:text/html\n\n"
 print "Hello, world"
2. การใช้บน DOS ใน windows ที่ติดตั้งรุ่น 3.4
 print ("Hello, world")
+ รวมภาพ : การ config iis ให้ยอมรับ python ผ่าน /cgi-bin
ตัวอย่าง การแสดงผลในเว็บเพจ
hello
#!/usr/bin/python
print ("Content-type:text/html\n\n")
print ("Hello, Python!")
ตัวอย่าง การเขียนบน Smartphone
การใช้คำสั่ง for ทำงานกับตัวเลขใน range เพื่อหาผลรวม
ถ้าสร้างแฟ้ม x.py แล้วสั่งบน DOS> py x.py ก็จะได้ 45
แต่ไม่รับเลข 10 มาอยู่ใน loop
sum=0
for i in range(1,10):
     sum+=i
print(sum)
fruits = ['nut', 'apple',  'orange']
for fruit in fruits:        
     print ('Fruit = ' + fruit)
ตัวอย่าง การสร้างฟังก์ชัน
def f1(n):
 a, b = 0, 1
 while b < n:
  print (b),
  a, b = b, a+b 
f1(20)
# https://docs.python.org/release/1.5.1p1/tut/functions.html
# http://www.tutorialspoint.com/python/python_functions.htm
ตัวอย่าง การติดต่อ mysql
#3.3
import mysql.connector
import sys
conn = mysql.connector.connect(
  host="127.0.0.1",
  user="root",
  passwd="",
  db="mysql")
cursor = conn.cursor()
sql = """select * from user"""
try:
 cursor.execute(sql)
 results = cursor.fetchone()
 print (results[0]) # write 1 field
 results = cursor.fetchone()
 print (results[0]) # write 1 field in next record
 results = cursor.fetchall()
 print (results) # write rest of all recs in next record
 print (results[0]) # write 1 rec 
except mysql.connector.Error as err:
 print (mysql.Error)
sys.exit (1)
print ("unreachable")
# http://dev.mysql.com/doc/connector-python/en/connector-python-example-connecting.html
ตัวอย่าง คลาส (Class) และเมธอด (method)
#py 3.3
class Employee:
   empCount = 0
   def __init__(self, name, salary):
      self.name = name
      self.salary = salary
      Employee.empCount += 1   
   def displayEmployee(self):
      print ("Name : ", self.name,  ", Salary: ", self.salary)
emp1 = Employee("tom", 100)
em = emp1
em.displayEmployee()
emp2 = Employee("boy", 200)
em = emp2
em.displayEmployee()
emp1.displayEmployee()
emp2.displayEmployee()
print ("Total Employee %d" % Employee.empCount)
# http://www.tutorialspoint.com/python/python_classes_objects.htm
หาเลขคู่ด้วย python บน smartphone ราคาประหยัด 28 พ.ค.58 ได้อ่านข้อความใน status ของ ผศ.ดร.ทรงเกียรติ ภาวดี ที่โพสต์สมการ x = i * (1 + i) / 2 สำหรับใช้หาผลรวมจาก 1 ถึง i ว่าไม่ต้องวนลูปแบบเดิม สามารถใช้สมการหาค่าได้เลย เป็นการเลือกใช้อัลกอริทึมที่ถูกต้อง ผมจึงนำแนวคิดนี้มาเปรียบเทียบกับการหาจำนวนเลขคู่ ในเลข 1 ถึง i ว่ามีกี่ตัวด้วย round(i / 2) แล้วเขียนไว้ 3 แบบ คือ การใช้ round การเขียนแบบเดิม และการตรวจสอบเวลาของการประมวลผล หากใช้แบบเดิม โดยทดสอบบน smartphone F-Phone รุ่น F823 ราคา 2900 บาท ซึ่งนักศึกษาก็น่าจะเขียนได้ยามว่าง เช่น รอเรียน นั่งรถเมย์ รออาหาร เป็นต้น
แนะนำเว็บ (Webguide)
+ https://www.python.org/downloads/release/python-340/
+ http://en.wikipedia.org/wiki/Python_%28programming_language%29
+ http://www.tutorialspoint.com/python/ ***
+ http://www.tutorialspoint.com/python/python_basic_syntax.htm
+ http://www.tutorialspoint.com/python/python_basic_operators.htm
+ http://www.tutorialspoint.com/python/python_for_loop.htm 
+ http://www.youtube.com/watch?v=l9LGTzonwQc (3 นาที)
+ https://sites.google.com/site/dotpython/
+ http://dev.mysql.com/downloads/connector/python/
+ http://www.hypermart.net/controlpanel/cgiManagement/python.bml?frame=1 (สำหรับสมาชิก)
+ คลิ๊ป : การ config IIS ให้ยอมรับ python ผ่าน /cgi-bin
+ คลิ๊ป : การเขียน Python บน Smartphone
"Imagination is more important than knowledge" - Albert Einstein
Home
Thaiabc.com
Thainame.net
Lampang.net
Nation university
PHP
MySQL
Visual basic.NET
TabletPC
Linux
Online quiz
Download
Search engine
Web ranking
Add website
Blog : Education
Blog : ACLA
Blog : Lampang
Facebook.com
Twitter.com
About us
My dream
Site map
Sponsor
http://goo.gl/72BPC