บทเรียน Python

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

จากการทำความรู้จัก Python คืออะไร ไพธอน คือภาษาที่ใช้สำหรับเขียนโปรแกรมคอมพิวเตอร์ภาษาหนึ่ง
บทความนี้มาลองเขียน Python ให้ทำงาน เหมือน Bash บน Linux กัน

ปกติผู้ดูแลระบบ Linux,Unix มักจะคุ้นเคยกับ คำสั่ง Bash วันนี้ มาลองเขียน Python ทำงาน แทน Bash

ตัวอย่าง เขียน python เพื่อแสดง File และ directory

testpy.py

import subprocess
subprocess.call(["ls","-l","/root"])

ลองรัน ด้วยคำสั่ง

python testpy.py 

จะได้ผล

total 4
-rw-r--r-- 1 root root 66 Sep 15 18:11 testpy.py

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive

การค้นหาคำหรือ ตัวอักษร ในไฟล์ ที่ต้องการ สามารถนำมาประยุกต์ใช้งานได้ดังต่อไปนี้

ตัวอย่างการใช้งาน : เป็นการค้นหา อักษรภาษาไทย ที่อยู่ในไฟล์ เมื่อเจอแล้วให้ แสดงผล ชื่อไฟล์และบรรทัดที่มีอักษรนั้นอยู่

ขั้นตอนการทำงาน


1. การค้นหา Path ของไฟล์ทั้งหมด

 

def get_file paths(directory):
    file_paths = [] 
    for root, directories, files in os.walk(directory):
        for filename in files:           
            filepath = os.path.join(root, filename)
            file_paths.append(filepath) 
    return file_paths 


ตัวอย่างการเรียกใช้งาน
ให้โฟลเดอร์ชื่อ python path: /home/mylaptop/work/python
ภายในมีไฟล์ python_file.py, text_file.text, xml_file.xml
ต้องส่งค่า Directory
full_file_paths = get_filepaths("home/mylaptop/work/python")

"/home/mylaptop/work/python" : คือ path ของ directory ที่ต้องการค้นหาคำ หรืออักษร

ผลลัพธ์ :


[/home/mylaptop/work/python/python_file.py, /home/mylaptop/work/python/text_file.text, /home/mylaptop/work/python/xml_file.xml]



2. การกรองประเภทของไฟล์

 

def get_file paths(directory):
  for f in full_file_paths:
    if f.endswith(".py"):
        print f


ต่อเนื่องจาก ข้อ 1. เมื่อได้ path ของแต่ละไฟล์มาแล้ว ก็นำมากรองประเภทของไฟล์ที่ต้องการ จากตัวอย่างต้องการหาจากไฟล์ .py

3. การเปิด และอ่านไฟล์
เมื่อได้ path ของไฟล์มาแล้ว ต้องทำการเปิดและอ่านข้อมูลออกมาทีละบรรทัด


open_file = open(f)
open_file.read
for line in open_file:
        print line
open_file.close




ต่อเนื่องจาก ข้อ 2. ต้องทำการเปิดไฟล์ โดยส่ง path ของไฟล์ลงไป(จากตัวอย่าง path คือ f)
เมื่อเปิดไฟล์แล้ว ก็อ่านไฟล์ และ for ออกมา เพื่อให้อ่านไฟล์ทีละบรรทัด
line ก็คือ ค่าของแต่ละบรรทัด



4. การนำข้อมูลในไฟล์ไปค้นหา อักษร หรือคำที่ต้องการ

def is_ascii(data):
    for i in range(0,len(data)):
        conv = ord(data[i])
        if 161 <= conv <= 251:    
            return False



ต่อ เนื่องจากข้อ 3. เมื่อได้ค่าแต่ละบรรทัดออกมาแล้ว ก็ต้องการนำค่าที่ได้ไปเช็ค โดยส่งค่าแต่ละบรรทัดไปยังฟังก์ชัน โดยสั่งวน for เพื่ออ่านค่าทีละตัว โดยนำค่าแต่ละตัวไปแปลงเป็นค่าของตัวเลขเพื่อ นำไปเช็คกับ รหัส ascii โดยตัวอย่างเช็คภาษาไทย รหัส ascii จะอยู่ในช่วง 161 - 251 ถ้าเจออักษรภาษา ให้ return False



การทำงานก็จะนำทั้ง 4 มารวมกัน เป็นไฟล์ .py สั่งรัน ก็จะสามารถค้นหาค่าที่ต้องการได้

 

 {mdfiles=126}

 

 

 

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
โลโก python

ภาษาไพทอน (Python programming language) เป็นภาษาโปรแกรมแบบอินเทอร์พรีเตอร์ ที่สร้างโดย กีโด ฟาน รอสซัม (Guido van Rossum) ในพ.ศ. 2533 ปัจจุบันดูแลโดย มูลนิธิซอฟต์แวร์ไพทอน

จุดเด่นของภาษาไพทอน

ไพทอนเป็นภาษาสคริปต์ ทำให้ใช้เวลาในการเขียนและคอมไพล์ไม่มาก ทำให้เหมาะกับงานด้านการดูแลระบบ (System administration) เป็นอย่างยิ่ง ได้มีการสนับสนุนภาษาไพทอนโดยเป็นส่วนหนึ่งของระบบปฏิบัติการยูนิกซ์, ลินุกซ์ และสามารถติดตั้งให้ทำงานเป็นภาษาสคริปต์ของวินโดวส์ ผ่านระบบ Windows Script Host ได้อีกด้วย และ Python เองก็ได้ถูกนำมาพัฒนา Web application อย่างแพร่หลาย ซึ่งมี Framework สำหรับทำเว็บของ Python ที่ได้รับความนิยมอย่างมากคือ Django

ไวยากรณ์อ่านง่าย

ไวยากรณ์ของไพทอนได้กำจัดการใช้สัญลักษณ์ที่ใช้ในการแบ่งบล็อกของโปรแกรม และใช้การย่อหน้าแทน ทำให้สามารถอ่านโปรแกรมที่เขียนได้ง่าย นอกจากนั้นยังมีการสนับสนุนการเขียน docstring ซึ่งเป็นข้อความสั้นๆ ที่ใช้อธิบายการทำงานของฟังก์ชัน, คลาส, และโมดูลอีกด้วย

ความเป็นภาษากาว

ไพทอนเป็นภาษากาว (Glue Language) ได้อย่างดีเนื่องจากสามารถเรียกใช้ภาษาโปรแกรมอื่นๆ ได้หลายภาษา ทำให้เหมาะที่จะใช้เขียนเพื่อประสานงานโปรแกรมที่เขียนในภาษาต่างกันได้

ไลบรารีในไพทอน

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

ไพทอนมีชุดไลบรารีมาตรฐานมาให้ตั้งแต่ติดตั้งอินเตอร์พรีเตอร์ นอกจากนั้นยังมีผู้พัฒนาจากทั่วโลกดำเนินการพัฒนาไลบรารีซึ่งช่วยอำนวยความ สะดวกในด้านต่าง ๆ โดยจะเผยแพร่ในรูปแบบของแพ็คเกจต่าง ๆ ซึ่งสามารถติดตั้งเพิ่มเติมได้อีกด้วย

สุดท้าย คือ ภาษาไพทอน ทำงานเร็วที่สุดเมื่อเทียบกับภาษา script ด้วยกัน เช่น php, jsp, asp จะพูดว่า ไพทอน เขียนน้อยได้งานมาก ทำงานเร็วก็ไม่ผิดนัก

ที่มา: wikipedia.org

User Rating: 1 / 5

Star ActiveStar InactiveStar InactiveStar InactiveStar Inactive
ขั้นตอน วิธีการติดตั้ง Python 3.2 บน Windows XP Install Python
โลโก Python
Python (ไพธอน) เป็น Programming language แบบเดียวกับ PHP คือ เป็นภาษาโปรแกรมแบบอินเทอร์พรีเตอร์

ขั้นตอนการติดตั้ง ไพธอน ( Python 3.2 บน Windows XP )

User Rating: 0 / 5

Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
Python เป็นภาษา Script เครื่องมือต่างๆ ที่จะแนะนำความสามารถก็ไม่ต่างกันมาก เลือกใช้ตัวที่ถนัด นะครับ
  • Python IDLE: มีอยู่ในชุดอินเตอร์พรีเตอร์อยู่แล้ว สามารถเลือกติดตั้งได้
  • Aptana Studio 3 ตัวนี้ติดตั้งได้ทั้งแบบแยกและ เป็น plugin ใน Eclipse ถ้าเลือกใช้ตัวนี้เลือกติดตั้งแยกดีกว่า
  • PythonWin: เป็นตัวแก้ไขในชุดของ PyWin32
  • ActivePython: จาก ActiveState (ล่าสุด รุ่น 2.5.1 )
  • SPE (Stani's Python Editor) : เป็นตัวแก้ไขที่มาพร้อมกับตัวออกแบบยูสเซอร์อินเทอร์เฟส wxGlade และเครื่องมือสำหรับ Regular Expression มีระบบ Syntax Highlight และการจัดย่อหน้าตามวากยสัมพันธ์ของไพทอนให้อัตโนมัติพัฒนาขึ้นจากภาษาไพทอน ดาวน์โหลดใช้งานได้ฟรีที่ http://spe.pycs.net
  • WingIDE: ตัวแก้ไขที่มีระบบ Syntax Highlight และการจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติ แต่ไม่ใช่ฟรีแวร์
  • Komodo: ตัวแก้ไขที่มีระบบ Syntax Highlight, การจัดย่อหน้าตามไวยกรณ์ของไพทอนให้อัตโนมัติและเติมคำอัตโนมัติ เป็นตัวแก้ไขจาก ActiveState อีกตัวหนึ่ง ไม่ใช่ฟรีแวร์
  • Pydev: เป็น Python IDE สำหรับ Eclipse สามารถใช้พัฒนา Python, Jython และ Ironpython
  • PyScripter: เป็นชุดเครื่องมือสำหรับพัฒนาภาษาไพธอน บนระบบปฏิบัติการวินโดวน์ ที่ให้ผู้ใช้สามารถนำไปใช้ฟรี (open source)
  • Netbean

ในนี้เลือกเอาตัวหนึ่งตัวใดที่เหมาะกับตัวท่าน ก็พอนะครับ


User Rating: 1 / 5

Star ActiveStar InactiveStar InactiveStar InactiveStar Inactive

ตัวแปร และ คำสงวน ในไพทอน
Python ไม่จำเป็นต้องประกาศตัวแปรก่อนใช้งาน สามารถกำหนดค่าขึ้นมา และเรียกใช้ได้เลย แต่การตัวชื่อตัวแปรของ ไพทอนต้องเป็นไปตามกฏดังนี้

  1. ขึ้นต้นด้วยตัวอักษรตั้งแต่ 1 ตัวขึ้นไป
  2. ตัวแปรห้ามมีช่องว่าง
  3. ห้ามมีสัญลักษณ์พิเศษเช่น #,?,$,...  (คนที่เขียน PHP มาอย่าลงไปใส่ $ เข้านะครับ)
  4. ตัวแปรต้องไม่ซ้ำกับคำสงวน ดูคำสงวนได้ท้ายบทความนี้
  5. ตัวแปรใช้ตัวพิมพ์เล็กพิมพ์ใหญ่ มีึความหมายต่างกัน (case-sensitive แบบเดียวกับ PHP)

ชนิดข้อมูลของไพทอน ไพทอนมีชนิดข้อมูลพืนฐานอยู่ 5 ชนิดดังนี้

  • Numbers เก็บข้อมูลตัวเลข

  • String เก็บข้อมูลตัวอักษร

  • List เก็บข้อมูลได้มากว่า 1 ค่าใน 1 ตัวแปร หรือที่เรียกว่า compound type

  • Tuple อ่านว่า "ทูเพิล" เก็บข้อมูลได้มากว่า 1 ค่าใน 1 ตัวแปร ใช้สำหรับเก็บลำดับ หรือที่เรียกว่า sequence type

  • Dictionary เก็บข้อมูลได้มากว่า 1 ค่าใน 1 ตัวแปรเช่นกัน หรือที่เรียกว่า table type เทียบได้กับตัวแปร array ใน php

  คำสงวน ในภาษาไพทอน

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 

User Rating: 3 / 5

Star ActiveStar ActiveStar ActiveStar InactiveStar Inactive

ตัวดำเนินการ คืออะไร ?  ตัวดำเนินการ (operator) คือถ้าพูดง่ายๆ คือเครื่องหมายที่ไว้จัดการ กับตัวแปร ตัวอย่างเช่น
a=5
b=6
a+b=11
ตัวดำเนินการคือเครื่องหมาย "+"

สำหรับตัวดำเนินการในภาษาไพทอนมีดังนี้

  • ตัวดำเนินการทางคณิตศาสตร์ (Arithmetic Operators)

  • ตัวดำเนินการเปรีบเทียบ (Comparision Operators)

  • ตัวดำเนินการทางตรรกะ ( Logical (or Relational) Operators)

  • ตัวดำเนินการกำหนดค่า (Assignment Operators)

  • ตัวดำเนินการระดับบิท (Bitwise Operators)

  • ตัวดำเนินการสมาชิก (Membership Operators)
  • ตัวดำเนินการตรวจสอบเงื่อนไข (Conditional (or ternary) Operators)

ตัวดำเนินการทางคณิตศาสตร์

สมมุติ
a มีค่า 10
b มีค่า 20

 
ตัวดำเนินการ อธิบาย ตัวอย่าง
+ บวก a + b มีค่า 30
- ลบ a - b มีค่า -10
* คูณ a * b มีค่า 200
/ หาร b / a มีค่า 2
% เศษของการหาร b % a มีค่า 0
** ยกกำลัง a**b หมายถึง 10 ยกกำลัง 20
// หารปัดเศษทิ้ง 9//2 is มีค่า 4 และ 9.0//2.0 มีค่า 4.0

 

ตัวดำเนินการเปรียบเทียบ

ตัวดำเนินการ อธิบาย ตัวอย่าง
== เช็คว่าค่าสองค่าเท่ากันหรือไม่ (a == b) เป็นเท็จ
!= เช็คว่าค่าสองค่าไม่เท่ากันหรือไม่ (a != b) เป็นจริง
<> เช็คว่าค่าสองค่าไม่เท่ากันหรือไม่ (a <> b) เป็นจริง. เหมือนกับตัวดำเนินการ !=
> เช็คว่าค่าทางซ้ายมากกว่าค่าทางขวาหรือไม่ (a > b) เป็นเท็จ
< เช็คว่าค่าทางซ้ายน้อยกว่าค่าทางขวาหรือไม่ (a < b) เป็นจริง
>= เช็คว่าค่าทางซ้ายมากกว่าหรือเท่ากับค่าทางขวาหรือไม่ (a >= b) เป็นเท็จ
<= เช็คว่าค่าทางซ้ายน้อยกว่าหรือเท่ากับค่าทางขวาหรือไม่ (a <= b) เป็นจริง.

 

ตัวดำเนินการกำหนดค่า

ตัวดำเนินการ อธิบาย ตัวอย่าง
= ตัวแปรทางซ้ายถูกกำหนดให้มีค่าเท่ากับทางขวา c = a + b เป็นการกำหนดค่าให้กับ c  โดยให้มีค่าเท่ากับ a + b
+= บวกค่าของทางซ้ายด้วยค่าทางขวา c += a  หมายความว่า c = c + a
-= ลบค่าของทางซ้ายด้วยค่าทางขวา c -= a หมาความว่า c = c - a
*= คูณค่าของทางซ้ายด้วยค่าทางขวา c *= a หมาความว่า c = c * a
/= หารค่าของทางซ้ายด้วยค่าทางขวา c /= a หมาความว่า c = c / a
%= หารเอาเศษค่าของทางซ้ายด้วยค่าทางขวา c %= a หมาความว่า c = c % a
**= ยกกำลังค่าของทางซ้ายด้วยค่าทางขวา c **= a หมาความว่า c = c ** a
//= หารปัดเศษทิ้งค่าของทางซ้ายด้วยค่าทางขวา c //= a หมาความว่า c = c // a



ตัวดำเนินการทางตรรกะ

ตัวดำเนินการ อธิบาย ตัวอย่าง
and and เช็คว่าทั้งสองตัวเป็นจริงถึงจะคืนค่าจริง กรณีอื่นๆเป็น เท็จทั้งหมด (a and b) เป็นจริง.
or or ถ้าทั้งสองตัวหนึ่งเป็นเท็จจะคืนค่า เท็จ กรณีอื่นๆ เป็นจริงทั้งหมด (a or b) เป็นจริง.
not คืนค่าตรงกันข้ามของค่าปัจจุบัน not(a and b) เป็นเท็จ เพราะ a and b เป็นจริง.

 

ตัวดำเนินการสมาชิก

ตัวดำเนินการสมาชิกเป็น ตัวดำเนินการพิเศษของภาษา Python จะไม่พบในภาษาอื่น ไว้สำหรับเช็คว่า ค่าที่เรากำลังสนใจเป็นสมาชิกของตัวแปรนั้นๆ หรือไมจะคืนค่าเป็น จริงหรือเท็จแล้วแต่กรณีใช้กับ such as strings, lists, or tuple

ตัวดำเนินการ อธิบาย ตัวอย่าง
in จะคืนค่าเป็นจริงถ้า พบค่าในตัวแปรที่เราสนใจ ในกรณีอื่นเป็นเท็จทั้งหมด x in y, คือค่าเป็น 1 ถ้า x เป็นสมาชิกของ y.
not in จะคืนค่าเป็นจริงถ้าไม่พบค่าในตัวแปรที่เราสนใจ ในกรณีอื่นเป็นเท็จทั้งหมด x not in y, คือค่าเป็น 1 ถ้า x ไม่เป็นสมาชิกของ y

นอกจากนี้ Python ยังมี  Identity Operators เพื่อเช็คว่ามีตัวแปรที่ต้องการทราบอยู่ใน memory หรือเปล่า คือ is และ not is

User Rating: 1 / 5

Star ActiveStar InactiveStar InactiveStar InactiveStar Inactive

การกำหนดค่าพื้นฐาน ให้ตัวแปร ชนิดต่างๆ ใน ไพทอน Assignment variable

var_int = 100          # กำหนดค่า  integer ให้ตัวแปร
var_float   = 1000.0       # กำหนดค่า floating point ให้ตัวแปร
var_string= "Mindphp"       # กำหดค่า string ให้ตัวแปร

print (var_int)
print (var_float)
print (var_string)

จะได้ผล
100
1000.0
Mindphp

กำหนดค่าเดี๋ยวกันให้หลายตัวแปร


a = b = c = 1
print(a,b,c)

จะได้ผล 

1 1 1

กำหนดค่าหลายๆค่าให้หลายตัวแปร


a, b, c = 1, 2, "mindphp.com"
print(a,b,c)

จะได้ผล
1 2 mindphp.com

การยกเลิกค่าตัวแปร ใน ไพทอน จะใช้ del statement
เช่น


a, b, c = 1, 2, "mindphp.com"
del a
print(a,b,c)

ผลของการรันจะ Error
NameError: name 'a' is not defined
เพราะเราได้ลบหรือยกเลิกตัวแปร a ไปแล้ว

User Rating: 1 / 5

Star ActiveStar InactiveStar InactiveStar InactiveStar Inactive

ลำดับความสำคัญของตัวดำเนินการใน Python Operators Precedence

ในตารางจะแสดง operators ทั้งหมดของ ไพทอน ลำดับความสำคัญจากมากไปน้อย

Operator Description
** ยกกำลัง
~ + - Ccomplement, unary plus and minus
* / % // คูณ, หาร, modulo and floor division
+ - บวก, ลบ
>> << Right and left bitwise shift
& Bitwise 'AND'
^ | Bitwise exclusive `OR' and regular `OR'
<= < > >= Comparison operators
<> == != Equality operators
= %= /= //= -= += *= **= Assignment operators
is is not Identity operators
in not in Membership operators
not or and Logical operators

นอกจากในตารางแล้วยังมีตัวดำเนินการที่มีลำดับความคำคัญสูงสุดคือ "(...)"
ตัวอย่าง


a=2
b=3
c=4
print(a**b+c)


มีค่าเท่ากับ


print (2*2*2+4);

จะได้ผลลัพท์ เป็น 12