การเขียนโปรแกรม

คู่มือสำหรับผู้เริ่มต้นใช้งาน Ultimate Python

30 ตุลาคม 2564

สารบัญ

  • การตั้งค่าสภาพแวดล้อม
    • การตั้งค่าสภาพแวดล้อมท้องถิ่น
    • วิธีรับ Python
    • วิธีการติดตั้ง Python
    • การติดตั้ง Windows
    • การติดตั้ง Unix/Linux
    • การติดตั้ง MAC
    • การตั้งค่าเส้นทางสำหรับ Python
    • การตั้งค่าพาธสำหรับ Unix/Linux
    • การตั้งค่าพาธสำหรับ Windows
  • ตัวแปรสภาพแวดล้อม Python
    • รัน Python
  • ไวยากรณ์พื้นฐาน
    • ตัวระบุ Python
    • คำสั่งหลาม
    • เยื้องใน Python
    • ความคิดเห็นใน Python
    • รับอินพุต
    • แสดงผลลัพธ์
  • ประเภทตัวแปร
    • การกำหนดค่าให้กับตัวแปร
    • ประเภทข้อมูลหลาม
    • เครื่องสาย
    • ทูเปิลส์
    • รายการ
    • ตัวเลข
  • ตัวดำเนินการพื้นฐาน
    • ผู้ปฏิบัติงานที่ได้รับมอบหมาย
    • ตัวดำเนินการระดับบิต
    • ตัวดำเนินการตรรกะ
    • ตัวดำเนินการเลขคณิต
    • ตัวดำเนินการเปรียบเทียบ
    • ตัวดำเนินการข้อมูลประจำตัว
    • ผู้ประกอบการสมาชิก
  • การตัดสินใจ
    • ถ้าคำสั่ง
    • if-else
    • ซ้อนกัน if
    • If-elif-else-บันได
    • ชวเลข if คำสั่ง
    • คำสั่ง if-else แบบย่อ
  • ลูป
    • ในขณะที่ลูป
    • สำหรับวง
    • ลูปซ้อน
    • คำสั่งควบคุมวง
    • ดำเนินการต่อคำสั่ง
    • คำสั่งหยุด
    • ใบแจ้งยอด
  • ตัวเลข
    • การแปลงประเภทตัวเลข
    • ฟังก์ชันตัวเลขสุ่ม
    • ฟังก์ชันตรีโกณมิติ
    • ฟังก์ชันทางคณิตศาสตร์
  • เครื่องสาย
    • การสร้างสตริง
    • ตัวดำเนินการพิเศษสตริง
    • ตัวดำเนินการจัดรูปแบบสตริง
    • ตัวละครหนี
    • สร้างขึ้นในวิธีการสตริง
  • ทูเปิลส์
    • การเข้าถึงค่าในทูเปิลส์
    • กำลังอัปเดต tuples
    • ตัวดำเนินการทูเพิลพื้นฐาน
    • สร้างขึ้นในฟังก์ชันทูเพิล
    • การจัดทำดัชนีและการแบ่งส่วน
    • การลบทูเพิล
  • รายการ
    • การเข้าถึงค่าในรายการ
    • กำลังอัปเดตรายการ
    • ตัวดำเนินการรายการพื้นฐาน
    • ฟังก์ชันและเมธอดของรายการในตัว
    • การจัดทำดัชนีและการแบ่งส่วน
    • ลบรายการองค์ประกอบ
  • พจนานุกรม
    • การสร้างพจนานุกรม
    • การเพิ่มองค์ประกอบในพจนานุกรม
    • การลบองค์ประกอบออกจากพจนานุกรม
    • วิธีพจนานุกรม Python
  • วันและเวลา
    • เวลาทูเปิล
    • โมดูลเวลา
    • โมดูลปฏิทิน
  • ฟังก์ชั่น
    • วิธีการกำหนดฟังก์ชัน
    • เรียกฟังก์ชัน
    • ผ่านโดยการอ้างอิง
    • ผ่านค่า
    • อาร์กิวเมนต์ของฟังก์ชัน
    • อาร์กิวเมนต์ความยาวผันแปร
    • อาร์กิวเมนต์ที่จำเป็น
    • อาร์กิวเมนต์เริ่มต้น
    • อาร์กิวเมนต์ของคีย์เวิร์ด
    • ฟังก์ชั่นนิรนาม
  • โมดูล
    • ใบแจ้งยอดการนำเข้า
    • คำสั่งจากการนำเข้า
    • จากการนำเข้า * Statement
    • ค้นหาโมดูล
    • locals() และ globals() ฟังก์ชั่น
    • เนมสเปซและการกำหนดขอบเขต
    • dir( ) ฟังก์ชัน
    • ฟังก์ชันรีโหลด()
  • ไฟล์ I / O
    • การเปิดไฟล์
    • คุณสมบัติของวัตถุไฟล์
    • การปิดไฟล์
    • พร้อมถ้อยแถลง
    • วิธีการเขียน
    • วิธีการอ่าน
    • เปลี่ยนชื่อ() method
    • วิธีการลบ ()
    • ตำแหน่งไฟล์
  • ข้อยกเว้น
    • ข้อยกเว้นคืออะไร?
    • การจัดการข้อยกเว้น
    • ทำให้เกิดข้อยกเว้น
    • รายการข้อยกเว้นมาตรฐาน
    • ผู้ใช้กำหนดข้อยกเว้น
    • การยืนยันใน Python
  • ชั้นเรียนและวัตถุ
    • การสร้างคลาส
    • คลาส Objects
    • การเข้าถึงคุณสมบัติ
    • แอตทริบิวต์คลาสที่สร้างขึ้น
    • เก็บขยะ
    • การสืบทอดคลาส
    • วิธีการเอาชนะ
    • นิพจน์ทั่วไป
    • ฟังก์ชั่นจับคู่
    • ฟังก์ชั่นการค้นหา
    • ตัวแก้ไขนิพจน์ทั่วไป
    • รูปแบบนิพจน์ทั่วไป
    • คลาสตัวละคร
    • กรณีซ้ำ
    • สมอ
  • การเขียนโปรแกรม CGI
    • การท่องเว็บ
    • ส่วนหัว HTTP
    • ตัวแปรสภาพแวดล้อม CGI
    • GET วิธี
    • วิธีโพสต์
    • การใช้คุกกี้ใน CGI
    • มันทำงานอย่างไร?
  • การเข้าถึงฐานข้อมูล MySQL
    • การสร้างตารางฐานข้อมูล
    • INSERT การทำงาน
    • อ่านการดำเนินการ
    • อัพเดทการทำงาน
    • ลบการดำเนินการ
    • การทำธุรกรรม
    • COMMIT Operation
    • การดำเนินการย้อนกลับ
    • ยกเลิกการเชื่อมต่อฐานข้อมูล
    • การจัดการข้อผิดพลาด
  • เครือข่าย
    • ซ็อกเก็ตคืออะไร?
    • โมดูลซ็อกเก็ต
    • โมดูลอินเทอร์เน็ต Python
  • กำลังส่งอีเมล
    • การส่งอีเมล HTML โดยใช้ Python
    • การส่งไฟล์แนบเป็นอีเมล
  • การเขียนโปรแกรมมัลติเธรด
    • ตั้งกระทู้ใหม่
    • โมดูลเกลียว
    • การซิงโครไนซ์เธรด
    • คิวลำดับความสำคัญแบบมัลติเธรด
  • การประมวลผล XML
  • การเขียนโปรแกรม GUI
  • การจัดการเรขาคณิต
  • บทความแนะนำ

การประมวลผล XML

XML เป็นภาษาโอเพ่นซอร์สที่ช่วยให้โปรแกรมเมอร์สามารถ พัฒนาซอฟต์แวร์ ที่สามารถอ่านได้โดยแอปพลิเคชันอื่น

XML คืออะไร?

XML (Extensible Markup Language) เป็นภาษามาร์กอัปเช่น HTML XML มีประโยชน์สำหรับการติดตามข้อมูลโดยไม่ต้องใช้ a SQL .

สถาปัตยกรรม XML Parser และ API

ไลบรารี Python มีชุดอินเทอร์เฟซที่เป็นประโยชน์สำหรับการทำงานกับ XML

ข้อมูล API สองรายการไปยัง XML คืออินเทอร์เฟซ DOM และ SAX

  • Document Object Model (DOM) API - เป็นคำแนะนำของ World Wide Web Consortium ที่ไฟล์ทั้งหมดจะถูกอ่านในหน่วยความจำและจัดเก็บในรูปแบบต้นไม้เพื่อแสดงคุณสมบัติทั้งหมดของเอกสาร XML
  • Simple API for XML (SAX) - ในที่นี้ คุณลงทะเบียนการโทรกลับสำหรับเหตุการณ์ที่น่าสนใจ จากนั้นให้ parser ดำเนินการผ่านเอกสาร มีประโยชน์เมื่อเอกสารมีข้อจำกัดด้านหน่วยความจำ แยกวิเคราะห์ไฟล์จากดิสก์ และไฟล์ทั้งหมดถูกเก็บไว้ในหน่วยความจำ

SAX ไม่สามารถประมวลผลข้อมูลได้เร็วเท่ากับ DOM ในทางกลับกัน การใช้ DOM สามารถทำลายทรัพยากรได้

SAX เป็นแบบอ่านอย่างเดียว ในขณะที่ DOM อนุญาตให้เปลี่ยนแปลงไฟล์ XML

การแยกวิเคราะห์ XML ด้วย SAX APIs

SAX เป็นอินเทอร์เฟซสำหรับการแยกวิเคราะห์ XML ที่ขับเคลื่อนด้วยเหตุการณ์ การแยกวิเคราะห์ XML ด้วย SAX คุณต้องสร้าง ContentHandler โดยจัดคลาสย่อย xml.sax.ContentHandler

สองเมธอด startDocument และ endDocument ถูกเรียกที่จุดเริ่มต้นและจุดสิ้นสุดของไฟล์ XML

ContentHandler ถูกเรียกที่จุดเริ่มต้นและจุดสิ้นสุดของทุกองค์ประกอบ ถ้า parser ไม่ได้อยู่ในโหมดเนมสเปซ เมธอด startElement และ endElement จะถูกเรียก แท็กคือแท็กองค์ประกอบ และแอตทริบิวต์เป็นออบเจ็กต์แอตทริบิวต์

ต่อไปนี้คือวิธีทำความเข้าใจสองสามวิธีก่อนดำเนินการต่อ:

เมธอด make_parser

เมธอดนี้สร้างอ็อบเจ็กต์ parser ใหม่และส่งคืน ออบเจ็กต์ parser ที่สร้างขึ้นจะเป็นประเภท parser แรก

|_+_|
  • parser_list - อาร์กิวเมนต์ประกอบด้วยรายการของ parsers ที่จะใช้ซึ่งจะต้องใช้วิธี make_parser

วิธีการแยกวิเคราะห์

มันสร้างตัวแยกวิเคราะห์ SAX และใช้ในการแยกวิเคราะห์เอกสาร

|_+_|
  • xmlfile -เป็นชื่อของไฟล์ XML ที่จะอ่าน
  • contenthandler - มันควรจะเป็นวัตถุ ContentHandler
  • errorhandler - หากกล่าวถึง errorhandler ต้องเป็นวัตถุ SAX ErrorHandler

วิธี parseString

เป็นวิธีสร้างตัวแยกวิเคราะห์ SAX และแยกวิเคราะห์สตริง XML

|_+_|
  • xmlstring - เป็นชื่อของสตริง XML ที่จะอ่าน
  • contenthandler - มันควรจะเป็นวัตถุ ContentHandler
  • errorhandler - หากกล่าวถึง errorhandler ต้องเป็นวัตถุ SAX ErrorHandler

การเขียนโปรแกรม GUI

Tkinter เป็นไลบรารี GUI สำหรับ Python Python เมื่อรวมกับ Tkinter จะทำให้สร้างแอปพลิเคชัน GUI ได้ง่ายและรวดเร็ว Tkinter นำเสนออินเทอร์เฟซเชิงวัตถุที่มีประสิทธิภาพให้กับชุดเครื่องมือ Tk GUI

การสร้างแอปพลิเคชัน GUI ด้วยความช่วยเหลือของ Tkinter เป็นเรื่องง่าย คุณต้องทำตามขั้นตอนต่อไปนี้:

  • นำเข้า Tkinter โมดูล.
  • สร้างหน้าต่างหลักของแอปพลิเคชัน GUI
  • เพิ่มวิดเจ็ตที่กล่าวถึงข้างต้นในแอปพลิเคชัน GUI
  • เข้าสู่เหตุการณ์วนรอบเพื่อดำเนินการกับแต่ละเหตุการณ์

วิดเจ็ต Tkinter

ใช่ไม่ใช่ โอเปอเรเตอร์ คำอธิบาย
หนึ่ง ผ้าใบใช้สำหรับวาดรูปร่าง เช่น เส้น วงรี รูปหลายเหลี่ยม และสี่เหลี่ยมผืนผ้า ในแอปพลิเคชันของคุณ
สอง ปุ่มตรวจสอบใช้เพื่อแสดงจำนวนตัวเลือกเป็นช่องทำเครื่องหมาย
3 เมนูใช้เพื่อจัดเตรียมคำสั่งต่างๆ ให้กับผู้ใช้ คำสั่งมีอยู่ภายใน Menubutton
4 ข้อความใช้เพื่อแสดงฟิลด์ข้อความหลายบรรทัดที่ยอมรับค่าจากผู้ใช้
5 Spinboxเป็นตัวแปรของวิดเจ็ต Tkinter Entry มาตรฐาน ซึ่งสามารถใช้เพื่อเลือกจากค่าจำนวนคงที่
6 ป้ายเฟรมมันเป็นวิดเจ็ตคอนเทนเนอร์ มีวัตถุประสงค์เพื่อทำหน้าที่เป็นตัวเว้นวรรคหรือคอนเทนเนอร์สำหรับเค้าโครงหน้าต่างที่ซับซ้อน
7 PanedWindowเป็นวิดเจ็ตคอนเทนเนอร์ที่มีบานหน้าต่างจำนวนหนึ่ง จัดเรียงในแนวนอนหรือแนวตั้ง
8 ปุ่มใช้สำหรับแสดงปุ่มต่างๆ ในแอพพลิเคชั่น
9 tkMessageBoxใช้เพื่อแสดงกล่องข้อความในแอปพลิเคชันของคุณ
10 ระดับสูงมันถูกใช้เพื่อจัดเตรียมคอนเทนเนอร์หน้าต่างแยกต่างหาก
สิบเอ็ด กรอบมันถูกใช้เป็นวิดเจ็ตคอนเทนเนอร์เพื่อจัดระเบียบวิดเจ็ตอื่น ๆ
12 กล่องรายการใช้เพื่อแสดงรายการตัวเลือกแก่ผู้ใช้
13 ปุ่มเมนูใช้เพื่อแสดงเมนูในแอปพลิเคชันของคุณ
14 Radiobuttonใช้เพื่อแสดงตัวเลือกเป็นปุ่มตัวเลือก
สิบห้า มาตราส่วนมันถูกใช้เพื่อจัดเตรียมวิดเจ็ตตัวเลื่อน
16 รายการใช้เพื่อแสดงฟิลด์ข้อความบรรทัดเดียวสำหรับรับค่าจากผู้ใช้
17 ฉลากใช้เพื่อจัดเตรียมคำอธิบายภาพบรรทัดเดียวสำหรับวิดเจ็ตอื่นๆ นอกจากนี้ยังสามารถมีภาพ
18 ข้อความใช้เพื่อแสดงข้อความในหลายบรรทัด
19 แถบเลื่อนใช้เพื่อเพิ่มความสามารถในการเลื่อนไปยังวิดเจ็ตต่างๆ เช่น กล่องรายการ

การจัดการเรขาคณิต

วิดเจ็ต Tkinter ทั้งหมดมีสิทธิ์เข้าถึงวิธีการจัดการเรขาคณิตบางอย่างที่จัดระเบียบวิดเจ็ตทั่วทั้งพื้นที่วิดเจ็ตหลัก

  • ดิ หีบห่อ() วิธี - บล็อกก่อนวางในวิดเจ็ตหลัก
  • ดิ ตาราง () วิธีการ - โครงสร้างแบบตารางในวิดเจ็ตหลัก
  • ดิ สถานที่() วิธีการ - วางไว้ในตำแหน่งเฉพาะในวิดเจ็ตหลัก