บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ programming

เย้ จระเข้! Condition ใน Python มีอะไรที่ "ว้าว" กว่า if-else ธรรมดา

หลายคนที่เริ่มเรียน Python มักจะรู้จักแค่ if score >= 50 : print ( "Pass" ) else : print ( "Fail" ) แต่จริง ๆ แล้วระบบ Condition ของ Python มีลูกเล่นที่สวยงามและทรงพลังมาก จนบางครั้งทำให้โค้ดสั้นลงหลายเท่าตัวเมื่อเทียบกับภาษาอื่น 1. เปรียบเทียบหลายเงื่อนไขแบบ Chain ได้ ภาษาอื่นมักเขียนแบบนี้ if ( age >= 18 && age <= 60 ) แต่ Python เขียนได้เหมือนภาษาคณิตศาสตร์ if 18 <= age <= 60 : print ( "Working age" ) อ่านง่ายมาก Python จะตีความเป็น 18 <= age and age <= 60 โดยอัตโนมัติ 2. Membership Condition ตรวจสอบว่าอยู่ในกลุ่มหรือไม่ if fruit in [ "apple" , "banana" , "orange" ]: print ( "Valid fruit" ) หรือ if role not in [ "admin" , "staff" ]: print ( "Access denied" ) อ่านเหมือนภาษาอังกฤษเลย 3. Truthy / Falsy Python ไม่จำเป็นต้องเปรียบเทียบกับ True ภาษาอื่น if ( name != "" ) Python...

อะไรนะ! แค่ for ก็ ทำ Pagination ได้แล้วเหรอ

หลายคนเรียน Python มาสักพักจะใช้ for ได้คล่อง for x in range ( 5 ): print ( x ) แต่มีคำถามที่น่าสนใจมากคือ Python รู้ได้ยังไงว่าต้องเอา 0, 1, 2, 3, 4 ออกมาทีละตัว? มันเรียก next() ให้เราเองหรือเปล่า? คำตอบคือ ใช่ครับ! จริง ๆ แล้ว for ... in เป็นเพียง "น้ำตาลไวยากรณ์" (syntactic sugar) ที่ซ่อนการเรียก iter() และ next() ไว้ให้เรา range คืออะไรกันแน่ หลายคนเข้าใจว่า range ( 5 ) คือ [ 0 , 1 , 2 , 3 , 4 ] แต่จริง ๆ ไม่ใช่ ลองดู r = range ( 5 ) print ( r ) ผลลัพธ์ range ( 0 , 5 ) จะเห็นว่า Python ไม่ได้สร้าง List มันแค่จำข้อมูลว่า start = 0 stop = 5 step = 1 เท่านั้น Iterable คืออะไร Iterable คือวัตถุที่สามารถถูกนำไปวนซ้ำได้ เช่น list tuple dict set str range ทั้งหมดเป็น Iterable เพราะสามารถใช้กับ for x in something : ... ได้ Iterator คืออะไร Iterator คือวัตถุที่มีความสามารถพิเศษคือ next ( iterator ) และจะคืนค่าทีละตัว ตัวอย่าง r = range ( 5 ) it = iter ( r ) ตอนนี้ it คือ Iterator ลองเรียก print ( next ( it ))...

ป้ายดิจิตอลที่โต้ตอบได้