เทคนิคการเขียน Python ให้กระชับสั้นได้ใจความ (Tips & Tricks)

Supayut Raksuk
2 min readAug 26, 2019

สวัสดีครับ ไม่ได้เขียนบทความนานเลย วันนี้เดี๋ยวมาพูด เรื่อง วิธีการเขียนภาษาPython ให้มัน สั้นๆ อ่านได้ใจความ ก่อนอื่นต้องบอกก่อนว่า ผมจะแนะนำแค่บางท่านะครับ เอาที่นึกออกเนอะ มันมีเยอะ มากหลายท่า ต้องบอกเลยว่าผมได้แรงบันดาลใจมาจาก วิดีโอนึง Kan Ouivirach — เขียนโค้ดให้เป็น Pythonic — PySomTum #1 ลองไปดูกันได้นะครับ แต่ในบทความของผมเนี่ยไมได้เป็น Pythonic 100% นะครับฮ่าๆๆ แต่ปกติผมก็เขียน ตามสไตล์ PEP8 เนอะใครที่เขียน Python ควรรู้จักไว้นะครับควรอ่านครับ สำคัญ PEP 8 แต่ในบทความนี้ผมอยากให้เห็นท่าแปลกๆ เผื่อบางคนเอาไว้แข่งเขียนโปรแกรมเร็วๆหรือบางทีเขียนสคริปไรสั้นๆใช้เองก็ไม่จำเป็นต้องให้ใครอ่านออก

ก่อนจะเริ่มเข้าสู่เนื้อหาจริงๆจังๆ จะบอกว่าบทความนี้ ผมจะลงเนื้อหา เป็นรูปภาพนะครับ ไม่ใส่เป็น code บน https://gist.github.com เพราะว่าผมอยากให้ทุกคนได้ลองลงมือเขียนด้วยครับ สำหรับมือใหม่ผมอยากให้ ลองเขียนตาม แล้วลอง Run ดูผลลัพธ์ครับ พิษมันจะได้แล่นเข้าสู่หัวใจจจจ เอ้ยไม่ใช่ ความรู้มันจะได้ไหลเข้าไปจดจำในสมอง โอเค 123!!! ไปลุยกันเลยครับ

  1. สลับค่าครับ ภาษาอังกฤษก็คือ Swap
นำตัวแปรไปรับที่ฝั่งซ้าย ได้เลยครับ อะไรที่อยู่ในฝั่งขวา มันจะโยนไปฝั่งซ้าย ตามลำดับ เอง

2. Print string ตามจำนวนครั้ง โดยไม่ต้องใช้ loop

เราสามารถใช้ String มาคูณ กับ Int ได้เลยยยย !!!

3. If else แบบ บรรทัดเดียว (Ternary Operator)

จากรูปบรรทัดที่2 อ่านได้ว่า ให้ x เท่ากับ 10 ถ้า y เท่ากับ 9 แต่ถ้า y ไม่เท่ากับ9 ให้ x เท่ากับ 20

4. Reverse String

ใครอยากรู้ว่า[::-1] เนี่ยคืออะไร ลองไปหาอ่านเพิ่มเติมดูนะครับ หัวข้อ indexing syntax

5. สร้าง String จาก List

“ “ เป็นการสร้าง String เปล่าๆมา ซึ่ง string จะมี function join ให้เราโยน list เข้าไปได้

6. loop แบบบรรทัดเดียว (list comprehension)

ผมสร้าง List a ขึ้นมา แล้ว สร้าง b ที่เก็บค่าทุกค่าใน a หลังจากคูณด้วย 2

จริงๆยังมีอีกเยอะเลยครับ แต่วันนี้ผมให้ไปเท่านี้ก่อน หวังว่าจะเป็นแนวทางให้เพื่อนๆ เขียน Python กันสนุกขึ้นนะครับ จริงๆผมมีเรื่อง Lambda expression ที่คิดว่าจะเขียน หลายครั้งละ แต่ยังไม่ได้เขียนสักที 555 ไว้โอกาสหน้าๆ เจอกันใหม่ครับ ติชมได้ อยากรู้ไรถามได้ครับ อิอิ อยากเรียนรับสอนนะครับ ฮ่าๆ

--

--

Supayut Raksuk

(@nookskill) I'm a software developer, musician, song writer from Thailand supayut.com