Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python
Python
  1. Named Tuple ใน Python: Tuple ที่มีชื่อฟิลด์

    Tuple ธรรมดาใช้ index เข้าถึงค่า ซึ่งอ่านยากและง่ายผิดพลาด Named Tuple แก้ปัญหานี้โดยให้ชื่อฟิลด์แต่ละตำแหน่ง Tuple ธรรมดา vs Named Tuple s1.rollno, s1.name, s1.age, s1.marks (1, Ravi, 23, 546) คุณสมบัติ Named Tuple เข้าถึงค่าได้ทั้ง ชื่อฟิลด์ (s1.name) และ index (s1[1]) Immutable เหมือน tuple ธ

  2. การจับคู่ที่ต้นสตริงใน Python Regex (Anchor ^)

    ใช้ anchor ^ เพื่อจับคู่ที่ ต้นสตริง (หรือต้นบรรทัดในโหมด multiline) ตัวอย่าง: จับคำแรกในสตริง import re s = cheer leaders at the football stadium result = re.search(r^\w+, s) print(result.group()) ผลลัพธ์ cheer คำอธิบายรูปแบบ ^\w+ ^ - ตำแหน่งต้นสตริง \w+ - อักขระคำ 1 ตัวขึ้นไป จับคู่ คำแรก ของ

  3. การจับคู่ที่ท้ายสตริงใน Python Regex (Anchor $)

    ใช้ anchor $ เพื่อจับคู่ที่ ท้ายสตริง (หรือท้ายบรรทัดในโหมด multiline) ตัวอย่าง: จับคำสุดท้ายในสตริง import re s = cheer leaders at the football stadium result = re.search(r\w+$, s) print(result.group()) ผลลัพธ์ stadium คำอธิบายรูปแบบ \w+$ \w+ - อักขระคำ (ตัวอักษร ตัวเลข _) 1 ตัวขึ้นไป $ - ตำแหน

  4. การจับคู่รูปแบบข้ามหลายบรรทัดใน Python Regex (re.DOTALL)

    แฟล็ก re.DOTALL (หรือ re.S) บอกให้ Python ทำให้อักขระพิเศษ . (dot) จับคู่ อักขระทุกตัวรวมถึง newline ด้วย ตัวอย่าง import re paragraph = This is a paragraph. It has multiple lines. match = re.search(r.*, paragraph, re.DOTALL) print(match.group(0)) ผลลัพธ์ This is a paragraph. It has multiple lines

  5. การระบุจำนวนครั้งซ้ำ (Quantifiers) แบบเฉพาะเจาะจงใน Python Regex

    ใช้ curly braces {n}, {n,}, {n,m} เพื่อระบุจำนวนครั้งที่แน่นอนหรือช่วงของการซ้ำ ตัวอย่าง: จับคู่ A 3 ตัว ตามด้วย B 4 ตัว import re foo = AAABBBBBB match = re.search(rA{3}B{4}, foo) print(match.group()) ผลลัพธ์ AAABBBB รูปแบบ Quantifiers แบบเจาะจง รูปแบบความหมายตัวอย่างจับคู่ได้ {n}n ครั้งพอดี

  6. การจับคู่สระเสียงพิมพ์เล็ก (Lowercase Vowels) ใน Python Regex

    ใช้ชุดอักขระ [aeiou] เพื่อจับคู่ สระเสียงพิมพ์เล็ก เพียงตัวเดียว (a, e, i, o, u) ตัวอย่าง import re foo = AefuToiJnmna match = re.findall(r[aeiou], foo) print(match) ผลลัพธ์ [e, u, o, i, a] หมายเหตุ: ตัวอักษรพิมพ์ใหญ่ (A, E, I, O, U) ไม่ถูกจับคู่ เพราะชุดอักขระระบุแค่พิมพ์เล็ก หากต้องการจับคู่ทั้

  7. การจับคู่ตัวอักษรพิมพ์ใหญ่ (Uppercase) ใน Python Regex

    ใช้ชุดอักขระ [A-Z] เพื่อจับคู่ ตัวอักษรภาษาอังกฤษพิมพ์ใหญ่ เพียงตัวเดียว ตัวอย่าง import re foo = MozamBiQuE match = re.findall(r[A-Z], foo) print(match) ผลลัพธ์ [M, B, Q, E] ขยายความครอบคลุม Unicode หากต้องการจับคู่ตัวอักษรพิมพ์ใหญ่ทุกภาษา (รวมภาษาไทย, อารบิก, จีน ฯลฯ) ใช้ \p{Lu} กับแฟล็ก re.UNI

  8. ความแตกต่างของ Semicolon (;) ระหว่าง JavaScript และ Python

    ใน Python semicolon เป็นทางเลือก (optional) ใช้คั่นคำสั่งหลายคำสั่งในบรรทัดเดียวได้ แต่ไม่บังคับ ใน JavaScript semicolon ก็เป็นทางเลือกเช่นกัน (Automatic Semicolon Insertion - ASI) แต่ แนะนำให้ใส่เสมอ เพราะบางครั้งการไม่ใส่จะทำให้ parser แทรก semicolon เองผิดที่ เปลี่ยนความหมายของโค้ด ตัวอย่างปัญห

  9. การจับคู่อักขระที่ไม่ใช่ตัวเลข (Non-digit) ใน Python Regex

    ใช้ escape sequence \D (D พิมพ์ใหญ่) เพื่อจับคู่ อักขระที่ไม่ใช่ตัวเลข (non-digit character) เทียบเท่ากับ [^0-9] ตัวอย่าง import re foo = Mo4zam5Bi6QuE7 match = re.findall(r\D, foo) print(match) ผลลัพธ์ [M, o, z, a, m, B, i, Q, u, E] สรุป Escape Sequences คู่ตรงข้าม Escape Sequenceความหมายเทียบ

  10. การจับคู่อักขระเดี่ยวใน Python ด้วย Regular Expression

    อักขระจุด . ใน regex จับคู่ อักขระใดๆ เพียงตัวเดียว (ยกเว้น newline โดยค่าเริ่มต้น) ตัวอย่าง: จับคู่ทุกอักขระในสตริง import re foo = https://www/twitter/index.php 403 result = re.findall(r., foo) print(result) ผลลัพธ์ [h, t, t, p, s, :, /, /, w, w, w, /, t, w, i, t, t, e, r, /, i, n, d, e, x, ., p

  11. วิธีไม่ให้จับคู่อักขระหลังการซ้ำใน Python Regex (Negative Lookahead)

    ใช้ Negative Lookahead (?!...) เพื่อระบุว่า อย่าจับคู่ถ้าตรงตามรูปแบบนี้ต่อไป การวิเคราะห์รูปแบบ ^(?!2{1,2}5).* ส่วนความหมาย ^ต้นสตริง (?!2{1,2}5)Negative lookahead: ไม่จับคู่ถ้าตรงนี้ตามด้วย 2 จำนวน 1-2 ตัว แล้วตามด้วย 5 .*จับคู่อักขระใดๆ 0 ตัวขึ้นไป (ส่วนที่เหลือ) ตัวอย่าง import re foo =

  12. กรณีการซ้ำ (Repetition) ใน Regular Expression ของ Python: +, *, ?

    การใช้ +, *, ? ระบุจำนวนครั้งของการซ้ำของ pattern ทางซ้าย: + — 1 ครั้งขึ้นไป (one or more) เช่น i+ = i หนึ่งตัวขึ้นไป * — 0 ครั้งขึ้นไป (zero or more) ? — 0 หรือ 1 ครั้ง (zero or one) ทำให้ pattern นั้น optional ตัวอย่าง: จับคู่ he+ (h ตามด้วย e 1 ตัวขึ้นไป) import re s = sheeeeeeeeple match = r

  13. เมธอด groups() ใน Regular Expression ของ Python

    เมธอด re.groups() (บน Match object) คืนค่า tuple ที่มี subgroup ทั้งหมดของการจับคู่ จากกลุ่มที่ 1 ถึงจำนวนกลุ่มใน pattern อาร์กิวเมนต์ default ใช้สำหรับกลุ่มที่ไม่ได้เข้าร่วมการจับคู่ (ค่าเริ่มต้นคือ None) ตั้งแต่เวอร์ชัน 1.5.1 ขึ้นไป คืนค่า singleton tuple ในกรณีดังกล่าว ตัวอย่างพื้นฐาน m.groups(

  14. การทำงานของ Backreferences ใน Regular Expression ของ Python

    Grouping และ Capturing Groups จัดกลุ่ม regex โดยล้อมด้วยวงเล็บ () เพื่อนำออเปอเรเตอร์ไปใช้กับกลุ่ม วงเล็บยังสร้าง backreferences — ส่วนที่จับคู่ได้จะถูกเก็บไว้ เพื่อนำมาใช้ซ้ำใน regex เดียวกันหรือใน replacement string การเข้าถึง Backreferences ใน regex pattern: ใช้ \1, \2, ... (หมายเลขกลุ่ม) ใน re

  15. การทำงานของ Grouping ใน Regular Expression ของ Python

    Grouping (การจัดกลุ่ม) จัดกลุ่มส่วนหนึ่งของ regex โดยล้อมรอบด้วยวงเล็บ () เพื่อให้ออเปอเรเตอร์ทำงานกับกลุ่มทั้งหมด แทนที่จะเป็นอักขระเดี่ยว Capturing Groups (กลุ่มจับคู่) วงเล็บไม่เพียงจัดกลุ่มย่อย แต่ยังสร้าง backreferences ส่วนของสตริงที่จับคู่ด้วยส่วนที่จัดกลุ่ม จะถูกเก็บไว้ใน backreference ช่วย

  16. การทำงานของ Alternation (|) ใน Regular Expression ของ Python

    Alternation (ตัวเลือก) และการประยุกต์ใช้ ในงานจริง เรมักใช้ regex ที่จับคู่ อย่างน้อยหนึ่งในหลายตัวเลือก หรือใช้ quantifier กับหลายๆ นิพจน์ เป้าหมายเหล่านี้ทำได้โดย: จัดกลุ่มด้วยวงเล็บ () ใช้ alternation ด้วยแถบตั้ง | (vertical bar) การใช้แถบตั้ง (|) Alternation ใช้เมื่อต้องการจับคู่ ตัวใดตัวหนึ่

  17. การทำงานของ Anchors (^ และ $) ใน Regular Expression ของ Python

    Anchors (จุดซัก) เป็น token ใน regex ที่ไม่จับคู่อักขระใดๆ แต่ระบุ/ยืนยันสิ่งเกี่ยวกับสตริงหรือกระบวนการจับคู่ Anchors บอกตำแหน่งปัจจุบันของ engine ในสตริงว่าตรงกับตำแหน่งที่กำหนด เช่นต้นสตริง/บรรทัด หรือท้ายสตริง/บรรทัด ประโยชน์ของ Anchors: ระบุให้จับคู่อักขระ/ตัวเลขที่ ต้นหรือท้าย สตริง/บรรทัดเท

  18. การเพิ่มช่องว่างรอบอักขระเฉพาะด้วย Regex ใน Python

    โค้ดด้านล่างแสดงวิธีเพิ่มช่องว่างก่อนและหลังอักขระ pipe | ในสตริงที่กำหนด ตัวอย่าง import re regex = r\b[|:]\b s = abracadabra abraca|dabara | abra cadabra abra ca dabra abra ca dabra abra print(re.sub(regex, \g , s)) ผลลัพธ์ abracadabra abraca | dabara | abra cadabra abra ca dabra abra ca dabra

  19. ทำไม Python 3 จึงไม่รองรับ Tuple Parameter Unpacking ในฟังก์ชัน

    ตั้งแต่ Python 3.0 (PEP 3113) ไม่รองรับการ unpack tuple โดยตรงในพารามิเตอร์ฟังก์ชันอีกต่อไป โค้ดที่ทำงานใน Python 2 แต่ล้มเหลวใน Python 3 # Python 2 เท่านั้น - SyntaxError ใน Python 3 def fn(a, (b, c)): pass Python interpreter จะแสดง Syntax Error ที่วงเล็บเปิดของ tuple วิธีแก้ใน Python 3: รับ

  20. วิธีหาดัชนี (Index) ของสมาชิกในลิสต์ Python

    เมธอด index() ของลิสต์ (และ sequence อื่นๆ เช่น string, tuple) ใช้หา ดัชนีของการปรากฏครั้งแรก ของสมาชิกที่ระบุ ตัวอย่าง: หาดัชนีครั้งแรก L1.index(a) 0 หาดัชนีของทุกครั้งที่ปรากฏ (All Occurrences) ใช้ enumerate() ซึ่งคืน iterator ของ (index, value) คู่กัน for i, j in enumerate(L1): ... if j =

Total 9001 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:33/451  20-คอมพิวเตอร์/Page Goto:1 27 28 29 30 31 32 33 34 35 36 37 38 39