สารบัญ
- การตั้งค่าสภาพแวดล้อม
- การตั้งค่าสภาพแวดล้อมท้องถิ่น
- วิธีรับ 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
- ข้อยกเว้น
- ชั้นเรียนและวัตถุ
- การสร้างคลาส
- คลาส Objects
- การเข้าถึงคุณสมบัติ
- แอตทริบิวต์คลาสที่สร้างขึ้น
- เก็บขยะ
- การสืบทอดคลาส
- วิธีการเอาชนะ
- นิพจน์ทั่วไป
- ฟังก์ชั่นจับคู่
- ฟังก์ชั่นการค้นหา
- ตัวแก้ไขนิพจน์ทั่วไป
- รูปแบบนิพจน์ทั่วไป
- คลาสตัวละคร
- กรณีซ้ำ
- สมอ
- การเขียนโปรแกรม 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
- การจัดการเรขาคณิต
- บทความแนะนำ
ไฟล์ I / O
เรารับข้อมูลจากคอนโซลมาจนถึงตอนนี้ และกำลังเขียนกลับไปที่คอนโซลเพื่อโต้ตอบกับผู้ใช้ บางครั้งการแสดงข้อมูลบนคอนโซลไม่เพียงพอ ข้อมูลที่จะแสดงอาจมีมากมาย สามารถแสดงข้อมูลได้เพียงเล็กน้อยบนคอนโซลเนื่องจากหน่วยความจำมีการปะทุ บางครั้งก็ยากที่จะกู้คืนข้อมูลครั้งแล้วครั้งเล่า
ในไฟล์นี้ การจัดการมีบทบาทสำคัญเมื่อข้อมูลจำเป็นต้องจัดเก็บในไฟล์อย่างถาวร คุณสามารถเข้าถึงข้อมูลที่เก็บไว้ได้หลังจากการยุติโปรแกรม
การเปิดไฟล์
Python มีฟังก์ชัน open() ที่ยอมรับสองอาร์กิวเมนต์ โหมดการเข้าถึง และชื่อไฟล์ที่เข้าถึงไฟล์ ฟังก์ชันจะส่งคืนวัตถุไฟล์ที่สามารถดำเนินการต่างๆ เช่น การอ่าน การเขียน ฯลฯ
ใช่ไม่ใช่ | โหมดการเข้าถึง | คำอธิบาย |
หนึ่ง | r | มันเปิดไฟล์สำหรับโหมดอ่านอย่างเดียว ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น หากไม่ผ่านโหมดการเข้าถึง ไฟล์เป็นค่าเริ่มต้น open ในโหมดนี้ |
สอง | rb | มันเปิดไฟล์สำหรับอ่านอย่างเดียวในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
3 | r+ | มันเปิดไฟล์สำหรับทั้งอ่านและเขียน ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
4 | rb+ | มันเปิดไฟล์สำหรับทั้งอ่านและเขียนในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
5 | ใน | มันเปิดไฟล์เพื่อเขียนเท่านั้น มันเขียนทับไฟล์หรือสร้างใหม่หากไม่มีไฟล์ที่มีชื่อเดียวกัน ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
6 | wb | มันเปิดไฟล์สำหรับเขียนเฉพาะในรูปแบบไบนารี มันเขียนทับไฟล์หรือสร้างไฟล์ใหม่หากไม่มีไฟล์อยู่ ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
7 | ใน + | มันเปิดไฟล์สำหรับทั้งเขียนและอ่าน มันเขียนทับไฟล์ก่อนหน้าหรือสร้างไฟล์ใหม่หากไม่มีไฟล์อยู่ ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
8 | wb+ | มันเปิดไฟล์สำหรับทั้งเขียนและอ่านในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่จุดเริ่มต้น |
9 | ถึง | มันเปิดไฟล์สำหรับการต่อท้าย ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากไม่มีไฟล์ ไฟล์นั้นจะสร้างไฟล์ใหม่สำหรับเขียน |
10 | ห่างออกไป | จะเปิดไฟล์สำหรับการต่อท้ายในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากไม่มีไฟล์ ไฟล์นั้นจะสร้างไฟล์ใหม่สำหรับเขียน |
สิบเอ็ด | a+ | มันเปิดไฟล์สำหรับการต่อท้ายและการอ่าน ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากไม่มีไฟล์ ไฟล์จะสร้างไฟล์ใหม่สำหรับเขียนและอ่าน |
12 | ab+ | มันเปิดไฟล์สำหรับอ่านและต่อท้ายในรูปแบบไบนารี ตัวชี้ไฟล์อยู่ที่ส่วนท้ายของไฟล์ หากไม่มีไฟล์ก็จะสร้างไฟล์ใหม่สำหรับอ่านและเขียน |

ผลลัพธ์

คุณสมบัติของวัตถุไฟล์
ใช่ไม่ใช่ | คุณลักษณะ | คำอธิบาย |
หนึ่ง | file.closed | คืนค่า จริง หากไฟล์ถูกปิด มิฉะนั้นเท็จ |
สอง | ชื่อไฟล์ | มันส่งกลับชื่อของไฟล์ |
3 | file.mode | ส่งคืนโหมดการเข้าถึงซึ่งเปิดไฟล์ |
4 | file.softspace | คืนค่าเท็จหากจำเป็นต้องใช้พื้นที่ในการพิมพ์ อย่างอื่นจริง. |
การปิดไฟล์
เมื่อดำเนินการทั้งหมดเสร็จสิ้น คุณต้องปิดไฟล์ผ่านสคริปต์ Python โดยใช้ปุ่ม ปิด() กระบวนการ. ข้อมูลใด ๆ ที่ไม่ได้เขียนจะถูกทำลายเมื่อ ปิด() วิธีการถูกเรียกบนวัตถุไฟล์
คุณสามารถดำเนินการกับไฟล์ภายนอกได้โดยใช้ระบบไฟล์ที่เปิดใน Python ดังนั้นจึงเป็นการดีที่จะปิดไฟล์เมื่อดำเนินการทั้งหมดเสร็จสิ้น
SYNTAX
|_+_|พร้อมถ้อยแถลง
คำสั่ง with จะใช้เมื่อต้องดำเนินการคู่ของคำสั่งโดยมีบล็อกของรหัสอยู่ระหว่างนั้น
ข้อดีของคำสั่ง with คือช่วยให้ปิดไฟล์ได้โดยไม่คำนึงว่าบล็อกที่ซ้อนกันจะออก
แนะนำให้ใช้คำสั่ง with ในไฟล์เสมอ เพราะมันจะปิดไฟล์โดยอัตโนมัติหากมีการส่งคืน ตัวแบ่ง หรือข้อยกเว้นเกิดขึ้นในโค้ด คุณไม่จำเป็นต้องเขียนฟังก์ชัน close() ไม่ให้ไฟล์เสียหาย
SYNTAX
|_+_|วิธีการเขียน
วิธีเขียน () เขียนสตริงไปยังไฟล์ที่เปิดอยู่ จำเป็นอย่างยิ่งที่สตริง Python สามารถมีข้อมูลไบนารีได้ ไม่ใช่แค่ข้อความ วิธีเขียน () ไม่ได้เพิ่มอักขระขึ้นบรรทัดใหม่ (' n') ที่ส่วนท้ายของสตริง
SYNTAX
|_+_|วิธีการอ่าน
เมธอด read() อ่านสตริงจากไฟล์ที่เปิดอยู่ จำเป็นอย่างยิ่งที่สตริง Python สามารถมีข้อมูลไบนารีนอกเหนือจากข้อมูลข้อความ
SYNTAX
|_+_|เปลี่ยนชื่อ() method
วิธีการเปลี่ยนชื่อ () ใช้สองอาร์กิวเมนต์ ชื่อไฟล์ใหม่และชื่อไฟล์ปัจจุบัน
SYNTAX
|_+_|วิธีการลบ ()
วิธีการลบ () ลบไฟล์โดยระบุชื่อไฟล์ที่จะลบเป็นอาร์กิวเมนต์
SYNTAX
|_+_|ตำแหน่งไฟล์
- วิธี tell() จะบอกคุณเกี่ยวกับตำแหน่งปัจจุบันภายในไฟล์
- ค้นหา (offset[, จาก]) วิธีการเปลี่ยนตำแหน่งของไฟล์ปัจจุบัน อาร์กิวเมนต์ออฟเซ็ตแสดงถึงจำนวนไบต์ที่จำเป็นในการย้าย
ข้อยกเว้น
ข้อยกเว้นคืออะไร?
ข้อยกเว้นคือเหตุการณ์ที่มักเกิดขึ้นระหว่างการทำงานของโปรแกรมที่ขัดขวางขั้นตอนปกติของคำสั่งของโปรแกรม กล่าวง่ายๆ เมื่อสคริปต์ Python พบกับสถานการณ์ที่ไม่สามารถรับมือได้ จะทำให้เกิดข้อยกเว้น ข้อยกเว้นคืออ็อบเจ็กต์ Python ที่แสดงข้อผิดพลาด เมื่อสคริปต์ Python ทำให้เกิดข้อยกเว้น สคริปต์นั้นต้องจัดการข้อยกเว้นทันที มิฉะนั้นจะสิ้นสุดและหยุดทำงาน
การจัดการข้อยกเว้น
หากคุณมีบ้าง สงสัย รหัสที่อาจทำให้เกิดข้อยกเว้น คุณสามารถปกป้องโปรแกรมของคุณโดยวางรหัสที่น่าสงสัยในบล็อก try: หลังจากลอง: บล็อก ให้ใส่คำสั่งยกเว้น ตามด้วยบล็อกของโค้ดที่จัดการกับปัญหาอย่างหรูหราที่สุด
SYNTAX
|_+_|
ผลลัพธ์

ทำให้เกิดข้อยกเว้น
คุณสามารถยกข้อยกเว้นได้หลายวิธีโดยใช้คำสั่งยก
SYNTAX
|_+_|รายการข้อยกเว้นมาตรฐาน
ใช่ไม่ใช่ | ชื่อข้อยกเว้น | คำอธิบาย |
หนึ่ง | มาตรฐานบกพร่อง | คลาสพื้นฐานสำหรับข้อยกเว้นในตัวทั้งหมด ยกเว้น StopIteration และ SystemExit |
สอง | ออกจากระบบ | มันถูกยกขึ้นโดยฟังก์ชัน sys.exit() |
3 | StopIteration | มันถูกยกขึ้นเมื่อเมธอด next() ของ iterator ไม่ชี้ไปที่อ็อบเจกต์ใดๆ |
4 | ข้อยกเว้น | เป็นคลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมด |
5 | OverflowError | จะเพิ่มขึ้นเมื่อการคำนวณเกินขีดจำกัดสูงสุดสำหรับประเภทตัวเลข |
6 | ข้อผิดพลาดทางคณิตศาสตร์ | เป็นคลาสพื้นฐานสำหรับข้อผิดพลาดทั้งหมดที่เกิดขึ้นสำหรับการคำนวณตัวเลข |
7 | ZeroDivisionError | จะเพิ่มขึ้นเมื่อมีการหารหรือโมดูโลด้วยศูนย์สำหรับตัวเลขทุกประเภท |
8 | FloatingPointError | จะเพิ่มขึ้นเมื่อการคำนวณจุดลอยตัวล้มเหลว |
9 | ข้อผิดพลาดแอตทริบิวต์ | จะเพิ่มขึ้นในกรณีที่การอ้างอิงแอตทริบิวต์ล้มเหลว |
10 | ยืนยันข้อผิดพลาด | มันถูกยกขึ้นในกรณีที่ความล้มเหลวของคำสั่งยืนยัน |
สิบเอ็ด | EOFError | จะเพิ่มขึ้นเมื่อไม่มีอินพุตจากฟังก์ชัน raw_input() หรืออินพุต () และคุณถึงจุดสิ้นสุดของไฟล์แล้ว |
12 | ImportError | จะเพิ่มขึ้นเมื่อคำสั่งนำเข้าล้มเหลว |
13 | ค้นหาข้อผิดพลาด | เป็นคลาสพื้นฐานสำหรับข้อผิดพลาดในการค้นหาทั้งหมด |
14 | แป้นพิมพ์ขัดจังหวะ | จะเพิ่มขึ้นเมื่อผู้ใช้ขัดจังหวะการทำงานของโปรแกรม โดยการกด Ctrl+c |
สิบห้า | ข้อผิดพลาดที่สำคัญ | มันถูกยกขึ้นเมื่อไม่พบคีย์ในพจนานุกรม |
16 | ดัชนีข้อผิดพลาด | จะเพิ่มขึ้นเมื่อไม่พบดัชนีในลำดับ |
17 | ข้อผิดพลาดด้านสิ่งแวดล้อม | เป็นคลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมดที่เกิดขึ้นนอกสภาพแวดล้อมของหลาม |
18 | UnboundLocalError | จะเพิ่มขึ้นเมื่อคุณพยายามเข้าถึงตัวแปรท้องถิ่นในฟังก์ชันหรือวิธีการ แต่ไม่มีการกำหนดค่าให้กับตัวแปรนั้น |
19 | ชื่อผิดพลาด | จะเพิ่มขึ้นเมื่อไม่พบตัวระบุในเนมสเปซส่วนกลางหรือส่วนกลางในเครื่อง |
ยี่สิบ | ออกจากระบบ | จะเพิ่มขึ้นเมื่อคุณออกจากล่ามหลามโดยใช้ฟังก์ชัน sys.exit() หากรหัสไม่ได้รับการจัดการทำให้ล่ามออก |
ยี่สิบเอ็ด | ข้อผิดพลาดทางไวยากรณ์ | มันถูกยกขึ้นเมื่อมีข้อผิดพลาดในไวยากรณ์หลาม |
22 | IOError | มันถูกยกขึ้นสำหรับข้อผิดพลาดเกี่ยวกับระบบปฏิบัติการ |
23 | ระบบผิดพลาด | มันถูกยกขึ้นเมื่อล่ามพบปัญหาภายใน แต่เมื่อพบข้อผิดพลาด ล่าม python จะไม่มีอยู่จริง |
24 | IndentationError | มันถูกยกขึ้นเมื่อไม่ได้ระบุการเยื้องอย่างถูกต้อง |
25 | ประเภทข้อผิดพลาด | จะเพิ่มขึ้นเมื่อมีการพยายามดำเนินการและไม่ถูกต้องสำหรับชนิดข้อมูลที่ระบุ |
26 | ValueError | จะเพิ่มขึ้นเมื่อฟังก์ชันในตัวสำหรับชนิดข้อมูลมีชนิดของอาร์กิวเมนต์ที่ถูกต้อง แต่อาร์กิวเมนต์มีค่าที่ไม่ถูกต้องระบุไว้ |
27 | ไม่ได้นำไปใช้ข้อผิดพลาด | มันถูกยกขึ้นเมื่อวิธีการเชิงนามธรรมที่จะนำไปใช้ในคลาสที่สืบทอดมานั้นไม่ได้ถูกนำไปใช้จริง |
28 | การทำงานผิดพลาด | เกิดขึ้นเมื่อข้อผิดพลาดไม่จัดอยู่ในหมวดหมู่ใดๆ |
ผู้ใช้กำหนดข้อยกเว้น
Python อนุญาตให้คุณสร้างข้อยกเว้นโดยรับคลาสจากข้อยกเว้นในตัว
สิ่งนี้มีประโยชน์เมื่อคุณต้องแสดงข้อมูลที่แม่นยำยิ่งขึ้นเมื่อตรวจพบข้อยกเว้น
ในบล็อกการลอง ข้อยกเว้นที่ผู้ใช้กำหนดขึ้นและติดอยู่ในบล็อกยกเว้น ตัวแปรนี้ใช้เพื่อสร้างอินสแตนซ์ของคลาส Networkerror
การยืนยันใน Python
การยืนยันคือการตรวจสอบสติว่าคุณสามารถเปิดหรือปิดได้เมื่อเสร็จสิ้นการทดสอบโปรแกรมของคุณ
วิธีง่ายๆ ในการนึกถึงการยืนยันคือการยกคำสั่ง นิพจน์ได้รับการทดสอบ และหากผลลัพธ์เป็นเท็จ ข้อยกเว้นจะถูกยกขึ้น
โปรแกรมเมอร์โดยทั่วไปจะยืนยันที่จุดเริ่มต้นของฟังก์ชันเพื่อตรวจสอบอินพุตที่ถูกต้อง และหลังจากการเรียกใช้ฟังก์ชันเพื่อตรวจสอบเอาต์พุตที่ถูกต้อง
SYNTAX
|_+_|