And Or in Python
posted on 26 Feb 2008 22:01 by plynoi in Tech
ผมเป็นคนหนึ่งที่ชินกับการ And Or แบบ Java/C ดังนี้
เกือบทุก obj (python ทุกอย่างคือ obj) มีค่าเป็น true เสมอ
obj ที่มีค่าเป็น false ได้แต่ 0, '', [], (), {}, และ None(null นั่นแหละ)
ใน Python And or เป็นดังนี้
อ้างอิง - หนังสือ Drive into Python
boolean A_t=true;
boolean B_t=true;
boolean C_f=false;
A_t and B_t ได้ true
B_t or C_f ได้ true
A_t and C_f ได้ false
พอมาอ่าน Python ซึ่งใช้อีกระบบ ทำให้งงเป็นไก่ตาแตก เลยเขียน note ตัวเองไว้ดังนี้boolean B_t=true;
boolean C_f=false;
A_t and B_t ได้ true
B_t or C_f ได้ true
A_t and C_f ได้ false
เกือบทุก obj (python ทุกอย่างคือ obj) มีค่าเป็น true เสมอ
obj ที่มีค่าเป็น false ได้แต่ 0, '', [], (), {}, และ None(null นั่นแหละ)
ใน Python And or เป็นดังนี้
'a' and 'b'
ได้ 'b' <--- obj ที่เป็น true and กัน จะคืน obj สุดท้ายที่ true เสมอ
'' and 'b'
ได้ '' <---- obj ที่เป็น false and กับ obj อะไรก็ตาม กัน จะคืน obj แรกที่ false เสมอ
'a' or 'b'
ได้ 'a' <--- obj ที่เป็น true or กัน จะคืน obj แรกที่ true เสมอ
0 or 'b'
ได้ 'b' <---- obj ที่เป็น false or กับ obj true กัน จะคืน obj แรกที่ true เสมอ
0 or []
ได้ [] <---- obj ที่เป็น false or กันเอง จะคืน obj สุดท้ายที่ false เสมอ
อืม งงดีวุ้ย ไม่คุ้นเลย T_T and or กันแล้วคืนเป็น obj แบบนี้ได้ 'b' <--- obj ที่เป็น true and กัน จะคืน obj สุดท้ายที่ true เสมอ
'' and 'b'
ได้ '' <---- obj ที่เป็น false and กับ obj อะไรก็ตาม กัน จะคืน obj แรกที่ false เสมอ
'a' or 'b'
ได้ 'a' <--- obj ที่เป็น true or กัน จะคืน obj แรกที่ true เสมอ
0 or 'b'
ได้ 'b' <---- obj ที่เป็น false or กับ obj true กัน จะคืน obj แรกที่ true เสมอ
0 or []
ได้ [] <---- obj ที่เป็น false or กันเอง จะคืน obj สุดท้ายที่ false เสมอ
อ้างอิง - หนังสือ Drive into Python
Tags: plynoi, python, tech8 Comments







ที่รอยเตอร์มี project ใช้ python ด้วยเหรอครับ
หรือว่านี่ศึกษานอกรอบครับ
#1 By inat : www.66un.net on 2008-02-26 22:30