สารบัญ
- การตั้งค่าสภาพแวดล้อม
- การตั้งค่าสภาพแวดล้อมท้องถิ่น
- วิธีรับ 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
- ชั้นเรียนและวัตถุ
- การเขียนโปรแกรม CGI
- การท่องเว็บ
- ส่วนหัว HTTP
- ตัวแปรสภาพแวดล้อม CGI
- GET วิธี
- วิธีโพสต์
- การใช้คุกกี้ใน CGI
- มันทำงานอย่างไร?
- การเข้าถึงฐานข้อมูล MySQL
- การสร้างตารางฐานข้อมูล
- INSERT การทำงาน
- อ่านการดำเนินการ
- อัพเดทการทำงาน
- ลบการดำเนินการ
- การทำธุรกรรม
- COMMIT Operation
- การดำเนินการย้อนกลับ
- ยกเลิกการเชื่อมต่อฐานข้อมูล
- การจัดการข้อผิดพลาด
- เครือข่าย
- ซ็อกเก็ตคืออะไร?
- โมดูลซ็อกเก็ต
- โมดูลอินเทอร์เน็ต Python
- กำลังส่งอีเมล
- การส่งอีเมล HTML โดยใช้ Python
- การส่งไฟล์แนบเป็นอีเมล
- การเขียนโปรแกรมมัลติเธรด
- ตั้งกระทู้ใหม่
- โมดูลเกลียว
- การซิงโครไนซ์เธรด
- คิวลำดับความสำคัญแบบมัลติเธรด
- การประมวลผล XML
- XML คืออะไร?
- สถาปัตยกรรม XML Parser และ API
- การแยกวิเคราะห์ XML ด้วย SAX APIs
- เมธอด make_parser
- วิธีการแยกวิเคราะห์
- วิธี parseString
- การเขียนโปรแกรม GUI
- วิดเจ็ต Tkinter
- การจัดการเรขาคณิต
- บทความแนะนำ
ชั้นเรียนและวัตถุ
Python เป็นภาษาเชิงวัตถุเพราะมันมีอยู่แล้ว ด้วยเหตุนี้ การใช้และการสร้างคลาสและอ็อบเจ็กต์จึงกลายเป็นเรื่องง่ายขึ้น บทนี้จะช่วยคุณในการเป็นผู้เชี่ยวชาญในการใช้การสนับสนุนการเขียนโปรแกรมเชิงวัตถุของ Python
หากคุณไม่มีความรู้เพียงพอเกี่ยวกับการเขียนโปรแกรมเชิงวัตถุ นี่เป็นสิ่งเล็กน้อยที่จะเริ่มต้น
- คลาสประกอบด้วยสตริงเอกสาร ซึ่งเข้าถึงได้ผ่าน ClassName.__doc__
- class_suite ประกอบด้วยคำสั่งส่วนประกอบที่กำหนดสมาชิกของคลาส คุณลักษณะของข้อมูล และฟังก์ชัน
- getattr(obj, name[, default]) - ใช้เพื่อเข้าถึงแอตทริบิวต์ของวัตถุ
- hasattr(obj,name) - ใช้เพื่อตรวจสอบว่าแอตทริบิวต์มีอยู่หรือไม่
- setattr(obj,name,value) - ใช้สำหรับตั้งค่าแอตทริบิวต์ หากไม่มีแอตทริบิวต์ก็จะถูกสร้างขึ้น
- delattr(obj, name) −มันถูกใช้เพื่อลบแอตทริบิวต์
การสร้างคลาส
คลาสสร้างนิยามคลาสใหม่ ชื่อของคลาสตามด้วยคลาสคีย์เวิร์ดตามด้วยโคลอน
SYNTAX
|_+_|
คลาส Objects
วัตถุเป็นตัวอย่างของคลาส คลาสเป็นเหมือนพิมพ์เขียวในขณะที่เป็นสำเนาของคลาสที่มีค่าจริง

ผลลัพธ์

การเข้าถึงคุณสมบัติ
คุณสามารถเข้าถึงแอตทริบิวต์ของวัตถุได้โดยใช้ตัวดำเนินการจุดกับวัตถุ
แอตทริบิวต์คลาสที่สร้างขึ้น
ทุกคลาสของ Python จะติดตามแอตทริบิวต์ที่สร้างขึ้นและเข้าถึงได้โดยใช้ตัวดำเนินการ dot เช่นเดียวกับแอตทริบิวต์อื่น ๆ −
เก็บขยะ
Python ลบวัตถุโดยอัตโนมัติเพื่อเพิ่มพื้นที่หน่วยความจำ กระบวนการที่ python เรียกคืนบล็อกของหน่วยความจำที่ไม่ได้ใช้อีกต่อไปเป็นระยะๆ เรียกว่า Garbage Collection
ตัวรวบรวมขยะของหลามทำงานในระหว่างการดำเนินการของโปรแกรม และจะถูกทริกเกอร์เมื่อจำนวนการอ้างอิงของวัตถุถึงศูนย์
จำนวนอ้างอิงของออบเจ็กต์จะเพิ่มขึ้นเมื่อมีการกำหนดชื่อใหม่หรือใส่ไว้ในคอนเทนเนอร์ (รายการ ทูเพิล หรือพจนานุกรม) จำนวนอ้างอิงของวัตถุลดลงเมื่อลบด้วย ของ การอ้างอิงถูกกำหนดใหม่ หรือการอ้างอิงอยู่นอกขอบเขต เมื่อจำนวนการอ้างอิงของวัตถุถึงศูนย์ python จะรวบรวมโดยอัตโนมัติ

ผลลัพธ์

การสืบทอดคลาส
คุณยังสามารถสร้างคลาสโดยรับมาจากคลาสก่อนหน้าโดยกล่าวถึงคลาสพาเรนต์ในวงเล็บหลังชื่อของคลาสใหม่
คลาสย่อยสามารถสืบทอดแอตทริบิวต์ของคลาสพาเรนต์ และคุณสามารถใช้ฟีเจอร์ต่างๆ ได้เสมือนว่าถูกกำหนดไว้ในคลาสย่อย คลาสย่อยยังสามารถแทนที่เมธอดและสมาชิกข้อมูลจากพาเรนต์
SYNTAX
|_+_|วิธีการเอาชนะ
คุณสามารถแทนที่เมธอดคลาสพาเรนต์ของคุณได้ เหตุผลในการแทนที่เมธอดของพาเรนต์เป็นเพราะคุณอาจต้องการฟังก์ชันเฉพาะหรือแตกต่างกันในคลาสย่อยของคุณ ต่อไปนี้เป็นวิธีการโอเวอร์โหลดพื้นฐานบางส่วน
ใช่ไม่ใช่ | วิธี | คำอธิบาย |
หนึ่ง | __repr__( ตัวเอง ) | การแสดงสตริงที่ประเมินค่าได้ |
สอง | __del__( ตัวเอง ) | Destructor ลบวัตถุ |
3 | __cmp__ ( ตัวเอง x ) | การเปรียบเทียบวัตถุ |
4 | __init__ (ตัวเอง [,args…] ) | ตัวสร้าง (พร้อมอาร์กิวเมนต์ที่เป็นตัวเลือก) |
5 | __str__( ตัวเอง ) | การแสดงสตริงที่พิมพ์ได้ |
นิพจน์ทั่วไป
นิพจน์ทั่วไปคือลำดับอักขระที่ไม่ซ้ำกันซึ่งช่วยให้คุณค้นหาหรือจับคู่ชุดของสตริง โดยใช้ไวยากรณ์พิเศษที่มีรูปแบบ นิพจน์ทั่วไปใช้กันอย่างแพร่หลายในโลก UNIX
โมดูล Python ให้การสนับสนุนอย่างเต็มที่สำหรับนิพจน์ทั่วไปที่เหมือน Perl ใน Python โมดูลทำให้เกิดข้อยกเว้น
ฟังก์ชั่นจับคู่
จะพยายามจับคู่รูปแบบ RE กับสตริงด้วยแฟล็กทางเลือก
SYNTAX
|_+_|ใช่ไม่ใช่ | พารามิเตอร์ | คำอธิบาย |
หนึ่ง | ธง | มันระบุแฟล็กต่าง ๆ โดยใช้ bitwise OR (|) |
สอง | ลวดลาย | เป็นนิพจน์ทั่วไปที่จะจับคู่ |
3 | สตริง | เป็นสตริงที่ค้นหาเพื่อให้ตรงกับรูปแบบที่จุดเริ่มต้นของสตริง |
ฟังก์ชั่นการค้นหา
ค้นหารูปแบบ RE ที่เกิดขึ้นครั้งแรกภายในสตริงด้วยแฟล็กทางเลือก
SYNTAX
|_+_|ใช่ไม่ใช่ | พารามิเตอร์ | คำอธิบาย |
หนึ่ง | ธง | มันระบุแฟล็กต่าง ๆ โดยใช้ bitwise OR (|) |
สอง | ลวดลาย | เป็นนิพจน์ทั่วไปที่จะจับคู่ |
3 | สตริง | เป็นสตริงที่ค้นหาเพื่อให้ตรงกับรูปแบบที่จุดเริ่มต้นของสตริง |
ตัวแก้ไขนิพจน์ทั่วไป
ใช่ไม่ใช่ | พารามิเตอร์ | คำอธิบาย |
หนึ่ง | รี.เอ็ม | มันทำให้ $ ตรงกับจุดสิ้นสุดของบรรทัด และทำให้ ^ ตรงกับจุดเริ่มต้นของบรรทัดใดๆ |
สอง | re.L | มันตีความคำตามสถานที่ปัจจุบัน การตีความส่งผลต่อกลุ่มตัวอักษรและพฤติกรรมขอบเขตของคำ |
3 | re.U | มันแปลตัวอักษรตามชุดอักขระ Unicode ค่าสถานะมีผลต่อพฤติกรรมของ w, W, , B |
4 | re.X | อนุญาตให้ใช้ไวยากรณ์นิพจน์ทั่วไปที่น่ารักมาก โดยจะละเว้นช่องว่างและถือว่า # เป็นเครื่องหมายความคิดเห็น |
5 | re.S | ทำให้จุดตรงกับอักขระใด ๆ รวมทั้งขึ้นบรรทัดใหม่ |
6 | อีกครั้งฉัน | มันทำการจับคู่ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ |
รูปแบบนิพจน์ทั่วไป
ใช่ไม่ใช่ | ลวดลาย | คำอธิบาย |
หนึ่ง | . | ตรงกับอักขระตัวเดียวยกเว้นขึ้นบรรทัดใหม่ |
สอง | ก| ข | ตรงกับ a หรือ b |
3 | […] | ตรงกับอักขระตัวเดียวในวงเล็บ |
4 | [^…] | ตรงกับอักขระตัวเดียวที่ไม่อยู่ในวงเล็บ |
5 | $ | ตรงกับส่วนท้ายของบรรทัด |
6 | ^ | ตรงกับจุดเริ่มต้นของบรรทัด |
7 | อีกครั้ง* | ตรงกับ 0 หรือมากกว่าที่เกิดขึ้นของนิพจน์ก่อนหน้า |
8 | รี+ | ตรงกับนิพจน์ก่อนหน้าอย่างน้อยหนึ่งรายการ |
9 | อีกครั้ง? | ตรงกับ 0 หรือ 1 การเกิดขึ้นของนิพจน์ก่อนหน้า |
10 | อีกครั้ง{ n} | ซึ่งตรงกับจำนวนครั้งที่เกิดของนิพจน์ก่อนหน้าพอดี |
สิบเอ็ด | อีกครั้ง{ น, ม.} | โดยจะจับคู่อย่างน้อย n และ m ครั้งของนิพจน์ก่อนหน้า |
12 | อีกครั้ง{ น,} | โดยจะจับคู่นิพจน์ก่อนหน้าอย่างน้อย n ครั้ง |
13 | (อีกครั้ง) | จัดกลุ่มนิพจน์ทั่วไปและจดจำข้อความที่ตรงกัน |
14 | (?imx) | โดยจะสลับระหว่างตัวเลือก i, m หรือ x ชั่วคราวภายในนิพจน์ทั่วไป |
สิบห้า | (?imx: อีกครั้ง) | โดยจะสลับระหว่างตัวเลือก i, m หรือ x ชั่วคราวภายในวงเล็บ |
16 | ?: อีกครั้ง) | จัดกลุ่มนิพจน์ทั่วไปโดยไม่จำข้อความที่ตรงกัน |
17 | (?-imx) | มันปิดตัวเลือก i, m หรือ x ชั่วคราวภายในนิพจน์ทั่วไป |
18 | (?-imx: อีกครั้ง) | มันปิดตัวเลือก i, m หรือ x ชั่วคราวภายในวงเล็บ |
19 | (?#…) | ความคิดเห็น |
ยี่สิบ | (?= อีกครั้ง) | ระบุตำแหน่งโดยใช้รูปแบบ ไม่มีช่วง |
ยี่สิบเอ็ด | (?! อีกครั้ง) | ระบุตำแหน่งโดยใช้การปฏิเสธรูปแบบ มันไม่มีช่วง |
22 | (?> อีกครั้ง) | ตรงกับรูปแบบอิสระโดยไม่ต้องย้อนรอย |
23 | ใน | ตรงกับอักขระคำ |
24 | ใน | ตรงกับอักขระที่ไม่ใช่คำ |
25 | S | ตรงกับที่ไม่ใช่ช่องว่าง |
26 | s | มันตรงกับช่องว่าง |
27 | D | ตรงกับตัวเลขที่ไม่ใช่หลัก |
28 | d | มันตรงกับตัวเลข เทียบเท่ากับ [0-9] |
29 | 10 | ตรงกับนิพจน์ย่อยที่จัดกลุ่มที่ n หากตรงกันแล้ว มิฉะนั้นจะหมายถึงการแสดงรหัสอักขระฐานแปด |
30 | ถึง | ตรงกับจุดเริ่มต้นของสตริง |
31 | กับ | ตรงกับส่วนท้ายของสตริง หากมีการขึ้นบรรทัดใหม่ จะจับคู่ก่อนขึ้นบรรทัดใหม่ |
32 | กับ | ตรงกับส่วนท้ายของสตริง |
33 | G | ตรงกับจุดที่การแข่งขันนัดสุดท้ายจบลง |
3. 4 | , เป็นต้น | ตรงกับการขึ้นบรรทัดใหม่ การขึ้นบรรทัดใหม่ แท็บ ฯลฯ |
35 | B | ตรงกับขอบเขตที่ไม่ใช่คำ |
36 | 1…9 | ตรงกับนิพจน์ย่อยที่จัดกลุ่มที่ n |
37 | ตรงกับแบ็คสเปซ (0x08) เมื่ออยู่ในวงเล็บ |
คลาสตัวละคร
ใช่ไม่ใช่ | ตัวอย่าง | คำอธิบาย |
หนึ่ง | [เออิอุ] | ตรงกับสระตัวใดตัวหนึ่ง |
สอง | [0-9] | มันตรงกับตัวเลขใด ๆ เช่นเดียวกับ [0123456789] |
3 | [Pp] ython | มันตรงกับ Python หรือ python |
4 | [a-z] | ตรงกับตัวอักษร ASCII ตัวพิมพ์เล็ก |
5 | ถู [เจ้า] | ตรงกับทับทิมหรือทับทิม |
6 | [^aeiou] | มันตรงกับอย่างอื่นที่ไม่ใช่สระตัวพิมพ์เล็ก |
7 | [^0-9] | ตรงกับสิ่งอื่นที่ไม่ใช่ตัวเลข |
8 | [a-zA-Z0-9] | ตรงกับข้อใดข้อหนึ่งข้างต้น |
9 | [A-Z] | ตรงกับตัวอักษร ASCII ตัวพิมพ์ใหญ่ |
10 | . | ตรงกับอักขระตัวเดียวยกเว้นขึ้นบรรทัดใหม่ |
สิบเอ็ด | ใน | ตรงกับอักขระคำ |
12 | ใน | ตรงกับอักขระที่ไม่ใช่คำ |
13 | S | ตรงกับที่ไม่ใช่ช่องว่าง |
14 | s | มันตรงกับช่องว่าง |
สิบห้า | D | ตรงกับตัวเลขที่ไม่ใช่หลัก |
16 | d | มันตรงกับตัวเลข เทียบเท่ากับ [0-9] |
กรณีซ้ำ
ใช่ไม่ใช่ | ตัวอย่าง | คำอธิบาย |
หนึ่ง | ทับทิม+ | ตรงกับ rub บวก 1 หรือมากกว่า ys |
สอง | ทับทิม* | ตรงกับ rub บวก 0 หรือมากกว่า ys |
3 | ทับทิม? | ตรงกับ rub หรือ ruby: y เป็นตัวเลือก |
4 | d{3} | ตรงกับ 3 หลักพอดี |
5 | d{3,} | ตรงกับ 3 หลักขึ้นไป |
6 | d{3,5} | ตรงกับ 3, 4 หรือ 5 หลัก |
สมอ
ใช่ไม่ใช่ | ตัวอย่าง | คำอธิบาย |
หนึ่ง | หลาม Z | โดยจะจับคู่กับ Python ที่ส่วนท้ายของสตริง |
สอง | Python$ | โดยจะจับคู่กับ Python ที่ส่วนท้ายของสตริงหรือบรรทัด |
3 | ^หลาม | โดยจะจับคู่ Python ที่จุดเริ่มต้นของสตริงหรือบรรทัดภายใน |
4 | APython | ตรงกับ Python ที่จุดเริ่มต้นของสตริง |
5 | หลาม(?=!) | ตรงกับ Python หากตามด้วยเครื่องหมายอัศเจรีย์ |
6 | ไพทอน(?!!) | ตรงกับ Python หากไม่ตามด้วยเครื่องหมายอัศเจรีย์ |
7 | Python | มันจับคู่ Python ที่ขอบเขตของคำ |