วันจันทร์ที่ 12 ตุลาคม พ.ศ. 2552
วันอาทิตย์ที่ 4 ตุลาคม พ.ศ. 2552
วันเสาร์ที่ 3 ตุลาคม พ.ศ. 2552
วันพฤหัสบดีที่ 24 กันยายน พ.ศ. 2552
วันอังคารที่ 15 กันยายน พ.ศ. 2552
วันพฤหัสบดีที่ 3 กันยายน พ.ศ. 2552
วันเสาร์ที่ 22 สิงหาคม พ.ศ. 2552
วันศุกร์ที่ 21 สิงหาคม พ.ศ. 2552
วันศุกร์ที่ 14 สิงหาคม พ.ศ. 2552
NLTK
Natural Language Toolkit (NLTK) เป็นโมดูลของไพธอนเกี่ยวกับงานทางด้าน NLP มีฟังก์ชั่นการทำงานที่ครบครัน เช่น Corpus readers, Tokenizers, Parsers, Classifiers, Clusterers, Metrics และอื่นๆ มี Corpus ให้ใช้ทดสอบถึง 60 Corpus
วันศุกร์ที่ 7 สิงหาคม พ.ศ. 2552
Python SDK version 1.2.4 for Google App Engine
วันพฤหัสบดีที่ 23 กรกฎาคม พ.ศ. 2552
วันอาทิตย์ที่ 12 กรกฎาคม พ.ศ. 2552
Edit in place
inputfile.txt
edit.py
inputfile.txt
จาก ubuntuforums
goodbye
hello
see you later!
edit.py
import fileinput
for lines in fileinput.FileInput("inputfile.txt", inplace=1): ## edit file in place
lines = lines.replace("hello","hi")
print lines.replace('\n','') ## although this prints the line, the file will be modified.
inputfile.txt
goodbye
hi
see you later!
จาก ubuntuforums
วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2552
วันอังคารที่ 23 มิถุนายน พ.ศ. 2552
Random in Python
>>> import random
>>> random.random() # เป็นการสุ่ม ตัวเลขที่มีทศนิยม (float) ระหว่าง 0.0 <= x < 1.0
0.37444887175646646
>>> random.uniform(1, 10) # เป็นการสุ่ม ตัวเลขที่มีทศนิยม (float)ระหว่าง 1.0 <= x < 10.0
1.1800146073117523
>>> random.randint(1, 10) # เป็นการสุ่ม ตัวเลขจำนวนเต็ม (Integer) ระหว่าง 1 ถึง 10
7
>>> random.randrange(0, 101, 2) # เป็นการสุ่ม ตัวเลขจำนวนเต็ม (Integer) ระหว่าง 1 ถึง 100 แต่จะสุ่มตามเลขที่เพิ่มค่าทีละ 2
26
>>> random.choice('abcdefghij') # สุ่มเลือกตัวอักษร
'c'
>>> items = [1, 2, 3, 4, 5, 6, 7]
>>> random.shuffle(items) # สลับค่าใน list แบบสุ่ม
>>> items
[7, 3, 2, 5, 6, 4, 1]
>>> random.sample([1, 2, 3, 4, 5], 3) # เลือกค่าใน list มา 3 ค่า
[4, 1, 5]
จาก Python Document
วันพฤหัสบดีที่ 18 มิถุนายน พ.ศ. 2552
วันอังคารที่ 16 มิถุนายน พ.ศ. 2552
วันอาทิตย์ที่ 14 มิถุนายน พ.ศ. 2552
Regular Expression Function
Regular Expression มีฟังก์ชั่นการทำงานดังต่อไปนี้
compile(pat) เป็นการคอมไพล์ข้อความรูปแบบ โดยจะคืนค่ามาเป็น Pattern object
re.findall(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความทั้งหมดที่ตรงกับรูปแบบกำหนดในรูปแบบ list
re.finditer(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความทั้งหมดที่ตรงกับรูปแบบกำหนดเหมือนกับ findall แต่จะคืนในรูปแบบ iterator
re.match(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความในรูปแบบ Match object
re.search(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความในรูปแบบ Match object แต่ต่างจาก match ตรงที่จะรู้ตำแหน่งด้วย
re.split(pat,raw) เป็นการตัดแบ่งข้อความด้วยรูปแบบที่ต้องการ
re.sub(pat, 'new text', raw) เป็นการแทนข้อความที่เรากำหนดตรงตำแหน่งที่เราใส่รูปแบบที่ต้องการ
re.subn(pat,'Sawasdee',raw) เป็นการแทนข้อความที่เรากำหนดตรงตำแหน่งที่เราใส่รูปแบบที่ต้องการ แต่จะคืนเป็น tuple เป็นข้อความใหม่กับ จำนวนข้อความที่ถูกเปลี่ยน
re.template(pat) เป็นการสร้าง object Pattern ตามที่รูปแบบที่เราต้องการ เหมือนการ compile
>>>import re
>>>pat = 'Hello'
>>>raw = 'Hello world. Hello you.'
compile(pat) เป็นการคอมไพล์ข้อความรูปแบบ โดยจะคืนค่ามาเป็น Pattern object
>>>re.compile(pat)
>>><_sre.SRE_Pattern object at 0x01357500>
re.findall(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความทั้งหมดที่ตรงกับรูปแบบกำหนดในรูปแบบ list
>>>re.findall(pat,raw)
>>>['Hello', 'Hello']
re.finditer(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความทั้งหมดที่ตรงกับรูปแบบกำหนดเหมือนกับ findall แต่จะคืนในรูปแบบ iterator
>>>re.finditer(pat,raw)
>>>
re.match(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความในรูปแบบ Match object
>>>re.match(pat,raw)
>>><_sre.SRE_Match object at 0x01FA7BF0>
re.search(pat,raw) เป็นการค้นหาในส่วนของข้อความและจะคืนข้อความในรูปแบบ Match object แต่ต่างจาก match ตรงที่จะรู้ตำแหน่งด้วย
>>>re.search(pat,raw)
>>><_sre.SRE_Match object at 0x01FA7BF0>
re.split(pat,raw) เป็นการตัดแบ่งข้อความด้วยรูปแบบที่ต้องการ
>>>re.split(pat,raw)
>>>['', ' world. ', ' you.']
re.sub(pat, 'new text', raw) เป็นการแทนข้อความที่เรากำหนดตรงตำแหน่งที่เราใส่รูปแบบที่ต้องการ
>>>re.sub(pat,'Sawasdee', raw)
>>>'Sawasdee world. Sawasdee you.'
re.subn(pat,'Sawasdee',raw) เป็นการแทนข้อความที่เรากำหนดตรงตำแหน่งที่เราใส่รูปแบบที่ต้องการ แต่จะคืนเป็น tuple เป็นข้อความใหม่กับ จำนวนข้อความที่ถูกเปลี่ยน
>>>re.subn(pat,'Sawasdee',raw)
>>>('Sawasdee world. Sawasdee you.', 2)
re.template(pat) เป็นการสร้าง object Pattern ตามที่รูปแบบที่เราต้องการ เหมือนการ compile
>>>re.template(pat)
>>><_sre.SRE_Pattern object at 0x013576A0>
วันพุธที่ 20 พฤษภาคม พ.ศ. 2552
Regular Expression Syntax (3)
ชุดสุดท้ายใน Regular Expression Syntax
{m} วางไว้หลังอักษรที่ต้องการบอกจำนวนที่ซ้ำได้
{m,n} วางไว้หลังอักษรที่ต้องการบอกจำนวนที่ซ้ำได้ โดยระบุเป็นช่วงตัวเลข
[] เป็นการระบุช่วงตัวอักษรที่ต้องการ
'|' ใช้ร่วมกับ [] โดยมีความหมายว่า หรือ ใช้คั่นระหว่างตัวอักษรที่ต้องการเลือก
() ใช้จัดกลุ่มให้ข้อความที่อยู่ภายในโดยสามารถใช้ร่วมกับสัญลักษณ์อื่นๆ จากตัวอย่างจะเห็นว่า (ab)+ การซ้ำนั้นจะเป็นการซ้ำของ ab ซึ่งจะแตกต่างกับ ab+ นั้นการซ้ำนั้นจะซ้ำเฉพาะตัว b
{m} วางไว้หลังอักษรที่ต้องการบอกจำนวนที่ซ้ำได้
>>> import re
>>> my_pattern = 'a{2}'
>>> raw_string = 'a aa a aa'
>>> re.sub(my_pattern,'-',raw_string)
'a - a -'
{m,n} วางไว้หลังอักษรที่ต้องการบอกจำนวนที่ซ้ำได้ โดยระบุเป็นช่วงตัวเลข
>>> my_pattern = 'a{2,4}'
>>> raw_string = 'a aa aaa aaaa aaaaa'
>>> re.sub(my_pattern,'-',raw_string)
'a - - - -a'
[] เป็นการระบุช่วงตัวอักษรที่ต้องการ
>>> my_pattern = '[A-Z]'
>>> raw_string = 'Apple Banana'
>>> re.sub(my_pattern,'-',raw_string)
'-pple -anana'
'|' ใช้ร่วมกับ [] โดยมีความหมายว่า หรือ ใช้คั่นระหว่างตัวอักษรที่ต้องการเลือก
>>> my_pattern = '[c|b]at'
>>> raw_string = 'cat rat bat'
>>> re.sub(my_pattern,'-',raw_string)
'- rat -'
() ใช้จัดกลุ่มให้ข้อความที่อยู่ภายในโดยสามารถใช้ร่วมกับสัญลักษณ์อื่นๆ จากตัวอย่างจะเห็นว่า (ab)+ การซ้ำนั้นจะเป็นการซ้ำของ ab ซึ่งจะแตกต่างกับ ab+ นั้นการซ้ำนั้นจะซ้ำเฉพาะตัว b
>>> my_pattern = '(ab)'
>>> raw_string = 'aa ab bb'
>>> re.sub(my_pattern,'-',raw_string)
'aa - bb'
>>> my_pattern = '(ab)+'
>>> raw_string = 'aa ab abab baba'
>>> re.sub(my_pattern,'-',raw_string)
'aa - - b-a'
วันอังคารที่ 19 พฤษภาคม พ.ศ. 2552
Regular Expression Syntax (2)
มาต่อกับสัญลักษณ์ที่เหลือของ regular expression ในภาษาไพธอน
"." หมายถึง แทนตัวอักษรอะไรก็ได้
"^" หมายถึง คำที่อยู่ด้านหน้า โดยวางไว้ข้างหน้าคำที่ต้องการค้นหา เหมือน \A
"$" หมายถึง คำที่อยู่ด้านหลัง โดยวางไว้ข้างหลังคำที่ต้องการค้นหา เหมือน \Z
"*" เอาไว้ท้ายอักษรที่ต้องการสื่อว่าไม่มี หรือ มี และก็ซ้ำได้ด้วย
"+" เอาไว้ท้ายอักษรที่ต้องการสื่อต้องมี และก็ซ้ำได้ด้วย
"?" เอาไว้ท้ายอักษรที่ต้องการสื่อว่าไม่มี หรือ มี แต่ซ้ำไม่ได้
"." หมายถึง แทนตัวอักษรอะไรก็ได้
>>> import re
>>> my_pattern = '.at'
>>> raw_string = 'I love rat and cat'
>>> re.sub(my_pattern,'dog',raw_string)
'I love dog and dog'
"^" หมายถึง คำที่อยู่ด้านหน้า โดยวางไว้ข้างหน้าคำที่ต้องการค้นหา เหมือน \A
>>> my_pattern = '^dog'
>>> raw_string = 'dog dog dog'
>>> re.sub(my_pattern,'cat',raw_string)
'cat dog dog'
"$" หมายถึง คำที่อยู่ด้านหลัง โดยวางไว้ข้างหลังคำที่ต้องการค้นหา เหมือน \Z
>>> my_pattern = 'dog$'
>>> raw_string = 'dog dog dog'
>>> re.sub(my_pattern,'cat',raw_string)
'dog dog cat'
"*" เอาไว้ท้ายอักษรที่ต้องการสื่อว่าไม่มี หรือ มี และก็ซ้ำได้ด้วย
>>> my_pattern = 'ab*'
>>> raw_string = 'aa , abb , abbb , ba , bb , bc'
>>> re.sub(my_pattern,'-',raw_string)
'-- , - , - , b- , bb , bc'
"+" เอาไว้ท้ายอักษรที่ต้องการสื่อต้องมี และก็ซ้ำได้ด้วย
>>> my_pattern = 'ab+'
>>> raw_string = 'aa , abb , abbb , ba , bb , bc'
>>> re.sub(my_pattern,'-',raw_string)
'aa , - , - , ba , bb , bc'
"?" เอาไว้ท้ายอักษรที่ต้องการสื่อว่าไม่มี หรือ มี แต่ซ้ำไม่ได้
>>> my_pattern = 'ab?'
>>> raw_string = 'aa , abb , abbb , ba , bb , bc'
>>> re.sub(my_pattern,'-',raw_string)
'-- , -b , -bb , b- , bb , bc'
วันอาทิตย์ที่ 17 พฤษภาคม พ.ศ. 2552
Regular Expression Syntax
ส่วนประกอบที่สำคัญในการทำ regular expression คือ ตัว patterns ที่ใช้ในการค้นหา จากคราวที่แล้ว จะพบว่า \b นั้นอยู่ในคำที่ต้องการค้นหา ได้แก่ r'\bROAD\b' ซึ่ง \b เป็น syntax ที่มีความหมายพิเศษ ซึ่งในไพธอนนั้นจะมี syntax และวิธีการใช้แต่ต่างกันไปดังนี้ ขั้นแรกก็
\A หมายถึงต้องเป็นต้นประโยค จากตัวอย่าง Mister จะถูกเปลี่ยนเฉพาะคำแรก
\b หมายถึงต้องเป็นขอบของคำ จากตัวอย่างเดิม คำว่า BROAD จะไม่ถูกเปลี่ยนข้างหน้า R ยังมีตัว B ทำให้ R ไม่เป็นขอบของคำ
\B ตรงข้ามกับ \b คือคำนั้นต้องเป็นส่วนข้างใน
\d หมายถึงตัวเลข
\D ตรงข้ามกับ \d คือทุกอย่างที่ไม่ใช่ตัวเลข
\s หมายถึงช่องว่าง
\S ตรงข้ามกับ \s คือทุกอย่างที่ไม่ใช่ช่องว่าง
\w หมายถึงตัวอักษรและตัวเลข โดยจะไม่เอาสัญลักษณ์ต่างๆ
\W ตรงข้ามกับ \w คือพวกสัญลักษณ์ต่างๆ
\z หมายถึงต้องอยู่สุดท้ายของข้อความ
>>>import re
\A หมายถึงต้องเป็นต้นประโยค จากตัวอย่าง Mister จะถูกเปลี่ยนเฉพาะคำแรก
>>>my_pattern = '\AMister'
>>>raw_string = 'Mister python and Mister Thailand'
>>>re.sub(my_pattern,'MR.',raw_string)
'MR. python and Mister Thailand'
\b หมายถึงต้องเป็นขอบของคำ จากตัวอย่างเดิม คำว่า BROAD จะไม่ถูกเปลี่ยนข้างหน้า R ยังมีตัว B ทำให้ R ไม่เป็นขอบของคำ
>>>import re
>>>s = '100 NORTH BROAD ROAD'
>>>re.sub(r'\bROAD\b', 'RD.', s)
'100 NORTH BROAD RD.'
\B ตรงข้ามกับ \b คือคำนั้นต้องเป็นส่วนข้างใน
>>>my_pattern = '\BROAD'
>>>raw_string = 'BROAD ROAD'
>>>re.sub(my_pattern,'RD.',raw_string)
'BRD. ROAD'
\d หมายถึงตัวเลข
>>>my_pattern = '\d'
>>>raw_string = 'credit number 1234-1234-1234'
>>>re.sub(my_pattern,'x',raw_string)
'credit number xxxx-xxxx-xxxx'
\D ตรงข้ามกับ \d คือทุกอย่างที่ไม่ใช่ตัวเลข
>>>my_pattern = '\D'
>>>raw_string = 'credit number 1234-1234-1234'
>>>re.sub(my_pattern,'x',raw_string)
'xxxxxxxxxxxxxx1234x1234x1234'
\s หมายถึงช่องว่าง
>>>my_pattern = '\s'
>>>raw_string = 'a b c d e'
>>>re.sub(my_pattern,'_',raw_string)
'a_b_c_d_e'
\S ตรงข้ามกับ \s คือทุกอย่างที่ไม่ใช่ช่องว่าง
>>>my_pattern = '\S'
>>>raw_string = 'a b c d e'
>>>re.sub(my_pattern,'_',raw_string)
'_ _ _ _ _'
\w หมายถึงตัวอักษรและตัวเลข โดยจะไม่เอาสัญลักษณ์ต่างๆ
>>>my_pattern = '\w'
>>>raw_string = 'a!b#c%d&e.'
>>>re.sub(my_pattern,'_',raw_string)
'_!_#_%_&_.'
\W ตรงข้ามกับ \w คือพวกสัญลักษณ์ต่างๆ
>>>my_pattern = '\W'
>>>raw_string = 'a!b#c%d&e.'
>>>re.sub(my_pattern,'_',raw_string)
'a_b_c_d_e_'
\z หมายถึงต้องอยู่สุดท้ายของข้อความ
>>>my_pattern = 'Mister\Z'
>>>raw_string = 'Mister and Mister'
>>>re.sub(my_pattern,'MR.',raw_string)
'Mister and MR.'
วันศุกร์ที่ 15 พฤษภาคม พ.ศ. 2552
Regular Expression (2)
จากคราวที่แล้วนั้นจะเห็นความจำเป็นที่ต้องให้งาน regular expression ก็มาต่อถึงวิธีการใช้งานโดยขั้นแรกต้องเรียกใช้ module re ก็จะสามารถที่ใช้งานฟังก์ชั่นต่างได้ ซึ่งการเขียน regular expression ในไพธอนนั้นมีรูปแบบในการเขียนแบบเดียวกับภาษา Perl ตัวอย่างต่อเนื่องจากคราวที่แล้วที่ต้องการเปลี่ยนคำว่า ROAD ให้เป็นคำย่อว่า RD
จะพบว่าคำที่เปลี่ยน มีแค่ ROAD เป็น RD. แต่ชื่อถนน BROAD นั้นไม่เปลี่ยนแปลง โดยที่ re.sub เป็นฟังก์ชั่นในการค้นหาและเปลี่ยนคำตามที่เราต้องการซึ่งรับข้อมูล ส่วน r'\bROAD\b' เป็นรูปแบบข้อความที่ค้นหา 'RD.' เป็นคำที่ต้องการนำไปแทนที่และ s คือข้อความต้นฉบับ
reference
http://www.diveintopython.org/regular_expressions/street_addresses.html
>>>import re
>>>s = '100 NORTH BROAD ROAD'
>>>re.sub(r'\bROAD\b', 'RD.', s)
'100 NORTH BROAD RD.'
จะพบว่าคำที่เปลี่ยน มีแค่ ROAD เป็น RD. แต่ชื่อถนน BROAD นั้นไม่เปลี่ยนแปลง โดยที่ re.sub เป็นฟังก์ชั่นในการค้นหาและเปลี่ยนคำตามที่เราต้องการซึ่งรับข้อมูล ส่วน r'\bROAD\b' เป็นรูปแบบข้อความที่ค้นหา 'RD.' เป็นคำที่ต้องการนำไปแทนที่และ s คือข้อความต้นฉบับ
reference
http://www.diveintopython.org/regular_expressions/street_addresses.html
วันพฤหัสบดีที่ 14 พฤษภาคม พ.ศ. 2552
Regular Expression
regular expression คือการสร้างรูปแบบของข้อความ เพื่อใช้ในการหา,เปลี่ยนแปลง หรือ ตรวจสอบความถูกต้อง
ทำไมต้องใช้ regular expression
ยกตัวอย่าง เมื่อเราต้องการเปลี่ยนคำบางคำเป็นคำย่อ เช่น '100 NORTH MAIN ROAD'
อย่างนี้เราสามารถใช้ replace ในการเปลี่ยนได้ดังนี้
แต่ถ้าถนนไม่ใช่ MAIN ROAD แต่เป็น BROAD ROAD ผลที่เกิดคือ
ทำให้ชื่อของถนนนั้นผิด ดังนั้นจึงต้องให้ regular expression ช่วยจัดการครับ
reference
http://www.diveintopython.org/regular_expressions/street_addresses.html
Next >>
ทำไมต้องใช้ regular expression
ยกตัวอย่าง เมื่อเราต้องการเปลี่ยนคำบางคำเป็นคำย่อ เช่น '100 NORTH MAIN ROAD'
อย่างนี้เราสามารถใช้ replace ในการเปลี่ยนได้ดังนี้
>>> s = '100 NORTH MAIN ROAD'
>>> s.replace('ROAD', 'RD.')
'100 NORTH MAIN RD.'
แต่ถ้าถนนไม่ใช่ MAIN ROAD แต่เป็น BROAD ROAD ผลที่เกิดคือ
>>> s = '100 NORTH BROAD ROAD'
>>> s.replace('ROAD', 'RD.')
'100 NORTH BRD. RD.'
ทำให้ชื่อของถนนนั้นผิด ดังนั้นจึงต้องให้ regular expression ช่วยจัดการครับ
reference
http://www.diveintopython.org/regular_expressions/street_addresses.html
Next >>
วันอังคารที่ 12 พฤษภาคม พ.ศ. 2552
วันจันทร์ที่ 11 พฤษภาคม พ.ศ. 2552
Compile Python
เนื่องจากไพธอนเป็นภาษาแบบ script ซึ่งสามารถทำงานได้เลย โดยไม่จำเป็นที่จะต้องคอมไพล์ก่อน ส่วนมากเมื่อเขียนโปรแกรมเสร็จก็จะสั่งรันโปรแกรมเลยทันทีซึ่งเป็นข้อดีของภาษาแบบนี้ แต่ถ้าจะคอมไพล์ก็ได้ซึ่งมีวิธีการดังต่อไปนี้
เมื่อเขียนโปรแกรมเสร็จแล้ว ก็ลองรันดูก่อนว่าไม่มีข้อผิดพลาด เสร็จแล้ว
ใช้ python shell พิมพ์คำสั่งดังนี้
ก็จะพบว่ามีไฟล์เพิ่มขึ้นมาชื่อเดียวกันแต่นามสกุลเป็น .pyc คำสั่งนี้เป็นการคอมไพล์แค่ไฟล์เดียว
แต่ถ้าต้องการที่จะคอมไพล์หลายๆไฟล์นั้นก็จะมีอีกคำสั่งได้แก่
ซึ่ง dir_name นั้นก็เป็นชื่อโฟลเดอร์ที่เก็บไพธอนไฟล์ที่ต้องการคอมไพล์
โดยคำสั่งนี้จะคอมไพล์ได้ทีละหลายไฟล์
เมื่อเขียนโปรแกรมเสร็จแล้ว ก็ลองรันดูก่อนว่าไม่มีข้อผิดพลาด เสร็จแล้ว
ใช้ python shell พิมพ์คำสั่งดังนี้
>>>import py_compile
>>>py_compile.compile("a1.py")
ก็จะพบว่ามีไฟล์เพิ่มขึ้นมาชื่อเดียวกันแต่นามสกุลเป็น .pyc คำสั่งนี้เป็นการคอมไพล์แค่ไฟล์เดียว
แต่ถ้าต้องการที่จะคอมไพล์หลายๆไฟล์นั้นก็จะมีอีกคำสั่งได้แก่
>>>import compileall
>>>compileall.compile_dir("dir_name", force=1)
ซึ่ง dir_name นั้นก็เป็นชื่อโฟลเดอร์ที่เก็บไพธอนไฟล์ที่ต้องการคอมไพล์
โดยคำสั่งนี้จะคอมไพล์ได้ทีละหลายไฟล์
วันเสาร์ที่ 9 พฤษภาคม พ.ศ. 2552
Python SDK version 1.2.2 for Google App Engine
วันศุกร์ที่ 8 พฤษภาคม พ.ศ. 2552
วันพฤหัสบดีที่ 7 พฤษภาคม พ.ศ. 2552
Python 3.1
ไพธอนเวอร์ชั่นใหม่ออกแล้วเป็นเวอร์ชั่น 3.1 กระโดดจาก 3.0.1
มีรายละเอียดต่างๆดังนี้
มีรายละเอียดต่างๆดังนี้
- เพิ่มคลาสใหม่คือ Ordered Dictionaries ซึ่งคล้ายกับ Dictionaries แต่ว่าจะมีการเรียงลำดับโดย key ตั้งแต่เพิ่มข้อมูลเข้าไปเลย
- เพิ่มรูปแบบในการแบ่งหลักพันของตัวเลข
- เพิ่มฟังก์ชั่น bit_length ของตัวแปร int
- ฟิลด์ในฟังก์ชั่น format() จะเรียงลำดับอัตโนมัติ
- ฟังก์ชั่น round() จะคืนชนิดข้อมูลเป็น int ถ้าใส่ข้อมูลชนิด int จากเดิมจะคืน float
- และมีการเพิ่มเติมปรับเปลี่ยนและปรับปรุงฟังก์ชั่นอื่นๆอีก
วันพุธที่ 6 พฤษภาคม พ.ศ. 2552
install module
ไพธอนนั้นมีโมดูลเสริมมากมายให้เลือกแล้วแต่ผู้ใช้งานต้องการทำงานอะไรพิเศษเพิ่มเติม เช่น Graphical interface, Database,Image processing, Game, Web, XML และอื่นๆ ซึ่งเราสามารถหาโมดูลมาลงเสริมได้ตามต้องการซึ่งการลงโปรแกรมเสริมใน Window นั้นก็แล้วแต่ผู้ทำโมดูล ถ้าเป็นรูปแบบ exe ก็สามารถรันได้เลยโดยเลือก path ที่ลงไพธอนไว้ แต่ส่วนมากโปรแกรมจะหา path ให้อัตโนมัติ แต่ยังมีอีกรูปแบบคือการลงผ่านคำสั่งในไพธอน ยกตัวอย่าง โมดูล เช่น BeautifulSoup, webmodules นั้นเมื่อดาวโหลดและแตกไฟล์แล้วจะไม่มีไฟล์ exe ให้รันแต่จะมีไฟล์ชื่อ setup.py ซึ่งไฟล์นี้แหละที่จะเป็นตัว install แต่ต้องทำผ่านไพธอน วิธีการคือ เมื่อแตกไฟล์เรียบร้อย ก็ใช้โปรแกรม command ใน Window ไปที่ไดเรกทอรีที่แตกไฟล์ไว้จากนั้นก็ใช้คำสั่ง
โปรแกรมก็จะทำการลงโมดูลเสริมต่างๆ ซึ่งรายละเอียดลึกๆสามารถหาอ่านเพิ่มเติมได้ที่นี่
เว็บที่รวบรวมโมดูลที่ยอดนิยม http://www.catswhocode.com/blog/python-50-modules-for-all-needs
python setup.py install
โปรแกรมก็จะทำการลงโมดูลเสริมต่างๆ ซึ่งรายละเอียดลึกๆสามารถหาอ่านเพิ่มเติมได้ที่นี่
เว็บที่รวบรวมโมดูลที่ยอดนิยม http://www.catswhocode.com/blog/python-50-modules-for-all-needs
วันอังคารที่ 5 พฤษภาคม พ.ศ. 2552
วันจันทร์ที่ 4 พฤษภาคม พ.ศ. 2552
Python Editor (2)
Editor ที่มากับ python นั้นยังมี tool ให้ใช้น้อยทำให้การเขียน
โปรแกรมทำได้ไม่ค่อยสะดวกจึงมี Editor ต่างๆขึ้นมาซึ่งมีทั้งฟรี
และเสียเงิน ลองดูรายละเอียดแต่ละโปรแกรมได้ที่
http://wiki.python.org/moin/PythonEditors
เพื่อความคล่องตัวในการเขียนโปรแกรม
โปรแกรมทำได้ไม่ค่อยสะดวกจึงมี Editor ต่างๆขึ้นมาซึ่งมีทั้งฟรี
และเสียเงิน ลองดูรายละเอียดแต่ละโปรแกรมได้ที่
http://wiki.python.org/moin/PythonEditors
เพื่อความคล่องตัวในการเขียนโปรแกรม
วันพฤหัสบดีที่ 30 เมษายน พ.ศ. 2552
Python Editor
ต่อจากคราวที่แล้ว เป็นการเขียนคำสั่งที่รันแสดงผลเลย คราวนี้จะทำการเขียนโปรแกรมหลายๆคำสั่งโดยใช้ตัว Editor ที่มากับโปรแกรมไพธอน ซึ่งขั้นแรกก็ทำการเปิด python shell ขึ้นมาและเลือกเมนู File -> New window ดังรูป

จากนั้นก็จะมีหน้าจอ Editor ขึ้นมาลองเขียนโปรแกรม
จากนั้นให้ save และตั้งชื่อว่า helloWorld.py
เสร็จแล้วให้เลือกเมนู Run -> Run Module หรือจะกด F5 ก็ได้
python shell ก็จะแสดง
Hello python
Hello python
Hello python
Hello python
Hello python
เป็นอันถูกต้อง

จากนั้นก็จะมีหน้าจอ Editor ขึ้นมาลองเขียนโปรแกรม
for i in range(0,5):
print 'Hello python'
จากนั้นให้ save และตั้งชื่อว่า helloWorld.py
เสร็จแล้วให้เลือกเมนู Run -> Run Module หรือจะกด F5 ก็ได้
python shell ก็จะแสดง
Hello python
Hello python
Hello python
Hello python
Hello python
เป็นอันถูกต้อง
วันพุธที่ 29 เมษายน พ.ศ. 2552
Python Install
ไพธอนเป็นภาษาโปรแกรมมิ่ง ที่มีการทำงานเป็นภาษาสคริปต์เหมือน เช่น perl, php
ซึ่งมีการใช้งานที่ง่าย สามารถเรียนรู้ได้รวดเร็ว มีเครื่องมือที่รองรับมากมาย
ซึ่งสามารถทำงานได้บน Windows, Linux, Mac และอื่นๆ
ก่อนจะเขียนโปรแกรมต้อง download โปรแกรมที่ python.org
โดยเลือกเวอร์ชั่นและ platfrom ที่ต้องการ โดยในตัวอย่างใช้ window นะครับ เมื่อลงโปรแกรมแล้วจะมีเมนูดังนี้

เมื่อเลือก IDLE(Python GUI) ก็จะมี python shell ขึ้นมาจากนั้นทดลองเขียนโปรแกรม
ก็จะมีข้อความขึ้นว่า Hello python ครับ เป็นอันเสร็จสิ้นการทดสอบลงโปรแกรมว่าใช้งานได้
ซึ่งมีการใช้งานที่ง่าย สามารถเรียนรู้ได้รวดเร็ว มีเครื่องมือที่รองรับมากมาย
ซึ่งสามารถทำงานได้บน Windows, Linux, Mac และอื่นๆ
ก่อนจะเขียนโปรแกรมต้อง download โปรแกรมที่ python.org
โดยเลือกเวอร์ชั่นและ platfrom ที่ต้องการ โดยในตัวอย่างใช้ window นะครับ เมื่อลงโปรแกรมแล้วจะมีเมนูดังนี้

เมื่อเลือก IDLE(Python GUI) ก็จะมี python shell ขึ้นมาจากนั้นทดลองเขียนโปรแกรม
print 'Hello python'
ก็จะมีข้อความขึ้นว่า Hello python ครับ เป็นอันเสร็จสิ้นการทดสอบลงโปรแกรมว่าใช้งานได้
วันอังคารที่ 28 เมษายน พ.ศ. 2552
สมัครสมาชิก:
บทความ (Atom)