ภาษาง่ายๆ เกี่ยวกับการเขียนโปรแกรมใน python 3 ภาษาโปรแกรม Python สำหรับผู้เริ่มต้น คำแนะนำในการควบคุมการไหล - if, for, while

เมื่อสองสามทศวรรษก่อน โปรแกรมเมอร์ดูเหมือนจะเป็นหมอผีประเภทหนึ่งที่รู้ว่าคนอื่นไม่มีสิ่งใดให้บ้าง บางครั้งผู้คนเรียนรู้การเขียนโปรแกรมคุกเข่า การเขียนโค้ดบนแผ่นกระดาษ เพราะ "ความเข้มข้นของอุปกรณ์คอมพิวเตอร์ต่อหัว" ต่ำมาก ตอนนี้เป็นการยากที่จะหาคนที่ไม่มีคอมพิวเตอร์เดสก์ท็อปหรือแล็ปท็อปที่บ้าน เทคโนโลยีการศึกษายังไม่หยุดนิ่ง

เกร็ดประวัติศาสตร์

ภาษาการเขียนโปรแกรม Python ได้รับการพัฒนาโดย Guido van Rossum ในช่วงปลายทศวรรษที่แปด ในขณะนั้นกุยโดเป็นพนักงานของสถาบัน Dutch CWI เขาเขียนภาษานี้ในเวลาว่าง โดยใส่แนวคิดบางอย่างเกี่ยวกับภาษา ABC ซึ่งเขาสนับสนุน

ภาษาไม่ได้ตั้งชื่อเพื่อเป็นเกียรติแก่สัตว์เลื้อยคลาน อันที่จริง แนวคิดสำหรับชื่อนี้เป็นการแสดงตลกยอดนิยมของอังกฤษในยุค 70 ที่เรียกว่า "Monty Python's Flying Circus" แม้ว่า Python จะยังคงมักจะถูกเปรียบเทียบกับงู แม้กระทั่งสัญลักษณ์บนเว็บไซต์ทางการ (แสดงงูสองตัว หัว) แสดงให้เห็น

ไม่ใช่แค่สัญชาตญาณการออกแบบของ Van Rossum เท่านั้นที่ได้รับการยกย่องว่าเป็นเหตุผลว่าทำไมภาษาโปรแกรม Python จึงเป็นที่นิยม การเรียนรู้ตั้งแต่เริ่มต้นจะกลายเป็นประสบการณ์ที่น่าพึงพอใจและง่ายดาย เนื่องจากมีชุมชนผู้ใช้ที่เป็นมิตร

ไม่นานมานี้ในปี 2008 Python 3000 (3.0) เวอร์ชันแรกซึ่งได้รับการทดสอบมาเป็นเวลานานได้เปิดตัวแล้ว โดยที่ข้อบกพร่องทางสถาปัตยกรรมจำนวนมากถูกขจัดออกไป ในเวลาเดียวกัน นักพัฒนาพยายามรักษาความเข้ากันได้กับภาษาเวอร์ชันก่อนหน้า แม้ว่าจะมีเวอร์ชันที่ใหม่กว่า ทั้งสองสาขา (2.x และ 3.x) ได้รับการสนับสนุน

ภาษาโปรแกรมกระชับ

Python มีข้อได้เปรียบหลายประการเหนือภาษาอื่นๆ เป็นที่เข้าใจได้ง่ายเกือบจะเป็นสัญชาตญาณ มีไวยากรณ์ "โปร่งใส" ซึ่งหมายความว่ารหัสโปรแกรมในภาษานี้อ่านง่ายกว่ามาก ซึ่งช่วยลดเวลาไม่เพียง แต่สำหรับการเขียนเท่านั้น แต่ยังสำหรับการปรับปรุงและการตรวจสอบต่างๆ

แน่นอน โปรแกรมเมอร์ "โรงเรียนเก่า" จะบอกว่าคุณจำเป็นต้องรู้หลายภาษาหรือคุณสามารถเริ่มต้นด้วยการเรียนรู้รหัสเครื่อง แต่หลังจากจบหลักสูตรการเขียนโปรแกรมในภาษา Python แล้ว บุคคลจะได้รับไม่เพียงความรู้เฉพาะ แต่ยังได้รับโอกาสในการตระหนักถึงธรรมชาติที่สร้างสรรค์ของพวกเขาด้วยการสร้างแอปพลิเคชันและโปรแกรมที่เป็นประโยชน์สำหรับตนเอง บางทีในไม่ช้าการเขียนโปรแกรมก็จำเป็นพอๆ กับความรู้ภาษาต่างประเทศ

ขาดความภาคภูมิใจในตนเอง

มันคุ้มค่าที่จะละทิ้งความเข้าใจผิดที่ว่าการเขียนโปรแกรมนั้นยาก ไม่ การเขียนโปรแกรมน่าสนใจกว่าที่คิด กิจกรรมอื่น ๆ และที่เรียกว่า "ไม่มีเวลา" หรือความเกียจคร้านสามารถรบกวน

วรรณกรรมพื้นฐานจะช่วยให้คุณเรียนรู้การเขียนโปรแกรมในภาษา Python ได้อย่างรวดเร็ว หลักสูตรฝึกอบรมควรเริ่มต้นด้วยการอ่านหนังสือสองเล่มซึ่งคุณสามารถเรียนรู้พื้นฐานได้ อันแรกคือ "Python Programming" โดย Mark Lutz และอันที่สองคือ "Python 3 Programming" โดย Mark Summerfield หนังสือของ Lutz อธิบายรายละเอียด บางครั้งก็มากเกินไป ถึงหลักการพื้นฐานทั้งหมดในการสร้างภาษา บางคนแนะนำให้อ่าน Mark Lutz ไม่ใช่เพื่อการเรียนรู้ แต่สำหรับความรู้พื้นฐานที่ลึกซึ้งยิ่งขึ้น หนังสือของ Summerfield อธิบายทุกอย่างให้กระชับยิ่งขึ้น ผู้เขียนไม่ได้ทำให้ผู้อ่านตกใจเมื่อมีปัญหาใดๆ มีวรรณกรรมอื่น ๆ แต่ตำราเหล่านี้มีประโยชน์และให้ข้อมูลมากที่สุด

หลักสูตรเบื้องต้น

ลองคิดย้อนกลับไปที่โรงเรียนประถม ตามกฎแล้วแม้แต่เด็ก ๆ ก็มาถึงชั้นประถมศึกษาปีที่ 1 ด้วยความรู้เพียงเล็กน้อย: พ่อแม่เรียนกับใครสักคนบางคนไปที่ "ศูนย์" เช่นเดียวกับการเรียนรู้ภาษาโปรแกรม Python สะดวกและ "โปร่งใส" จริง ๆ แต่หากไม่มีความรู้ขั้นต่ำเกี่ยวกับหลักการพื้นฐานของโปรแกรม การฝึกอบรมจะเป็นเรื่องยาก เหมือนเรียนดนตรีโดยไม่ได้ยินเสียงดนตรี ดังนั้นผู้ที่ไม่เคยพบกับการเขียนโปรแกรมเลยควรทำความคุ้นเคยกับ "ขั้นต่ำเบื้องต้น"

การบรรยาย CS50 จะเป็นความช่วยเหลือที่เป็นประโยชน์ นี่คือหลักสูตรของมหาวิทยาลัยฮาร์วาร์ดเกี่ยวกับการเขียนโปรแกรม Java Script แต่การบรรยายครั้งแรกจะอธิบายการโต้ตอบระหว่างคอมพิวเตอร์และโปรแกรมโดยทั่วไปในลักษณะที่เข้าถึงได้และเข้าใจได้ ผู้ใช้ที่พูดภาษารัสเซียสามารถเข้าถึงการบันทึกวิดีโอของหลักสูตรนี้พร้อมการแปล เนื้อหาเพิ่มเติม เวอร์ชันข้อความของการบรรยาย และงานภาคปฏิบัติ วิดีโอสามารถพบได้เกือบทุกที่ เช่น YouTube แต่เนื้อหาทั้งหมดอยู่ในไซต์ Java Script

ในอินเตอร์เน็ต

ภาษาโปรแกรม Python กำลังได้รับความนิยม จึงมีพอร์ทัลหลายแห่งที่มีสื่อการเรียนรู้ด้วยตนเองเป็นจำนวนมาก ตัวอย่างเช่น "Python 3 สำหรับผู้เริ่มต้น" ไซต์นี้มีเนื้อหามากมายสำหรับผู้เริ่มต้น สามารถใช้เป็นข้อมูลสรุปได้ นอกจากนี้ยังมีข้อมูลจำนวนมากในหัวข้อนี้พร้อมการเข้าถึงฟรีบนเว็บไซต์ Codecademy

การสื่อสารในฟอรัมมีความสำคัญ การเรียนรู้เพียงอย่างเดียวนั้นยากกว่าเสมอ ดังนั้นอย่าละเลยชุมชนต่างๆ

หลักสูตรแบบชำระเงิน

คุณสามารถใช้หลักสูตรแบบชำระเงินได้ตลอดเวลา แต่บางครั้งต้องใช้เงินเป็นจำนวนมาก และผลลัพธ์อาจไม่เป็นที่น่าพอใจ ดังนั้นจึงแนะนำให้เลือกหลักสูตรที่เสนองานเบื้องต้นฟรี ตัวอย่างเช่น มีเนื้อหาเข้มข้นในหัวข้อ "Python Programming Fundamentals" ใน GeekBrains ชั้นเรียนฟรีและจะมีขึ้นทุกๆ 10 วัน ในการลงทะเบียน คุณต้องลงชื่อเข้าใช้เว็บไซต์

เคล็ดลับ: ไม่ว่าคุณจะเลือกหลักสูตรใด ให้เรียนรู้พื้นฐานของภาษาก่อน คุณจะได้ไม่ต้องเสียเวลากับบางสิ่งที่คุณสามารถเลือกเองได้ง่ายๆ มันจะเพียงพอที่จะอ่านหนังสือข้างต้น

แน่นอนว่าเมื่อเข้าใจทฤษฎีแล้ว ฉันก็อยากฝึกฝน ต้องกล่าวถึงการบรรยายของ Nick Parlante ที่นี่ พวกเขาเป็นภาษาอังกฤษ แม้ว่าโดยทั่วไปแล้ว วรรณกรรมเพื่อการศึกษาที่ดีในภาษาอังกฤษมีมากมาย แต่ก็ไม่น่าแปลกใจเลย ในการบรรยาย Nick ไม่เพียงแต่สอนภาษาการเขียนโปรแกรม Python เท่านั้น แต่ยังให้งานปฏิบัติที่ยอดเยี่ยมอีกด้วย

การใช้งาน

ภาษาโปรแกรม Python ถูกใช้เพื่อสร้างแอพพลิเคชั่นมากมายที่หลายคนใช้ในแต่ละวัน ตัวอย่างเช่น นี่เป็นไคลเอนต์ BitTorrent torrent รุ่นที่หก นอกจากนี้ "Python" ("Pyton") ยังใช้ในโปรแกรมแก้ไขกราฟิกบิตแมป Gimp ด้วยโมดูลเพิ่มเติมตัวกรองเช่นจะถูกสร้างขึ้น Civilization IV และ Batterfield 2 ส่วนใหญ่เขียนในภาษานี้

Python ถูกใช้โดยบริษัทต่างๆ เช่น Google, Facebook, Instagram, Dropbox, Pinterest มันยังทำงานในแกนหลักของแอปพลิเคชัน Yandex Disk พนักงานของบริษัทประมาณ 10% เขียนด้วยภาษา Python และโปรแกรมเมอร์หลายคนเรียกภาษานี้ว่าภาษาโปรด

เริ่มต้นอย่างไร

ไม่มีรหัสใดทำงาน "ในอากาศ" ภาษาการเขียนโปรแกรม Python ก็ปฏิบัติตามกฎนี้เช่นกัน การเรียนรู้ตั้งแต่เริ่มต้น แม้ว่าจะเริ่มต้นด้วยทฤษฎี แต่ในความเป็นจริง เราสามารถพูดได้ว่ามันเริ่มต้นด้วยการติดตั้งสภาพแวดล้อมการทำงานบนคอมพิวเตอร์ส่วนบุคคล ทำอย่างไร? ง่ายมาก คุณต้องทำตามลิงก์ของเว็บไซต์ Python อย่างเป็นทางการ ดาวน์โหลดและเรียกใช้โปรแกรมติดตั้ง จากนั้นทำตามขั้นตอนที่แนะนำอย่างระมัดระวัง

โปรดทราบว่าคุณต้องดาวน์โหลดไฟล์ที่เหมาะสมกับระบบปฏิบัติการที่ติดตั้งบนคอมพิวเตอร์ของคุณ!

หากการติดตั้งสำเร็จ ให้เปิดคอนโซล (โดยปกติ สามารถทำได้โดยใช้แป้นพิมพ์ลัด "ctrl + alt + T") ตอนนี้คุณสามารถเขียนโปรแกรมแรกของคุณ ตัวอย่างเช่น ป้อน "python3" หากคอนโซลแสดง "คำทักทาย" โดยระบุเวอร์ชันของโปรแกรม (เช่น 3.4.0) แสดงว่าทุกอย่างเป็นไปตามลำดับ หากไม่เป็นเช่นนั้น คุณต้องติดตั้ง "Python" เวอร์ชันที่สามด้วยคำสั่ง: "sudo apt-get ติดตั้ง python3"
อย่างไรก็ตาม สิ่งนี้ไม่จำเป็น คุณสามารถเขียนโค้ดในโปรแกรมแก้ไขข้อความที่สะดวก แล้วเรียกใช้ผ่านคอนโซล หรือคุณสามารถใช้สภาพแวดล้อมการพัฒนา IDLE ที่มาพร้อมกับการแจกจ่าย

เริ่มว่าง ใช้โค้ดเพียงบรรทัดเดียวเพื่อสร้างโปรแกรมขนาดเล็ก

พิมพ์ ("สวัสดีชาวโลก!")

พิมพ์รหัสนี้ลงในหน้าต่าง IDLE แล้วกด Enter สภาพแวดล้อมจะตอบสนองทันทีด้วยการกระทำ - จะแสดงข้อความที่ต้องการบนหน้าจอ โปรแกรมแรกพร้อมแล้ว

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

ส่วนที่ 1 คุณสมบัติภาษาและไวยากรณ์พื้นฐาน

ชุดเนื้อหา:

มันคุ้มค่าที่จะเรียนรู้ Python หรือไม่?

Python เป็นหนึ่งในภาษาโปรแกรมสมัยใหม่ที่ได้รับความนิยมมากที่สุด เหมาะสำหรับการแก้ปัญหาที่หลากหลายและมีคุณสมบัติเช่นเดียวกับภาษาโปรแกรมอื่นๆ: ไดนามิก, รองรับ OOP และข้ามแพลตฟอร์ม การพัฒนา Python เริ่มต้นโดย Guido Van Rossum ในช่วงกลางทศวรรษ 1990 ดังนั้น ณ ตอนนี้ มันสามารถกำจัดโรคมาตรฐาน "ในวัยเด็ก" ได้ พัฒนาแง่มุมที่ดีที่สุดของภาษาอย่างมีนัยสำคัญ และดึงดูดโปรแกรมเมอร์จำนวนมากที่ใช้ Python เพื่อปรับใช้ โครงการต่างๆ

โปรแกรมเมอร์หลายคนรู้สึกว่าจำเป็นต้องเรียนรู้เฉพาะภาษาการเขียนโปรแกรม "คลาสสิก" เช่น Java หรือ C++ เนื่องจากภาษาอื่น ๆ จะไม่มีความสามารถเช่นเดียวกัน อย่างไรก็ตาม เมื่อเร็ว ๆ นี้ มีความเชื่อว่าควรที่โปรแกรมเมอร์ต้องรู้มากกว่าหนึ่งภาษา เนื่องจากสิ่งนี้ทำให้ขอบเขตของเขากว้างไกลขึ้น ทำให้เขาสามารถแก้ปัญหาได้อย่างสร้างสรรค์มากขึ้น และเพิ่มความสามารถในการแข่งขันในตลาดแรงงาน

การเรียนรู้สองภาษาเช่น Java และ C++ เพื่อความสมบูรณ์แบบนั้นค่อนข้างยากและใช้เวลานาน นอกจากนี้ หลายแง่มุมของภาษาเหล่านี้ขัดแย้งกันเอง ในเวลาเดียวกัน Python เหมาะอย่างยิ่งสำหรับบทบาทของภาษาที่สอง เนื่องจากมันถูกหลอมรวมทันทีเนื่องจากความรู้ที่มีอยู่แล้วใน OOP และความจริงที่ว่าความสามารถของมันไม่ขัดแย้งกัน แต่เสริมประสบการณ์ที่ได้รับขณะทำงานกับโปรแกรมอื่น ภาษา.

หากโปรแกรมเมอร์เพิ่งเริ่มต้นในด้านการพัฒนาซอฟต์แวร์ Python จะเป็นภาษาการเขียนโปรแกรม "เบื้องต้น" ในอุดมคติ ด้วยความกระชับ มันจะช่วยให้คุณเชี่ยวชาญไวยากรณ์ของภาษาได้อย่างรวดเร็ว และการไม่มี "มรดก" ในรูปแบบของสัจพจน์ที่เกิดขึ้นตลอดหลายปีที่ผ่านมาจะช่วยให้คุณเชี่ยวชาญ OOP ได้อย่างรวดเร็ว เนื่องจากปัจจัยเหล่านี้ เส้นโค้งการเรียนรู้ของ Python จึงค่อนข้างสั้น และโปรแกรมเมอร์จะสามารถย้ายจากกรณีศึกษาไปเป็นโครงการเชิงพาณิชย์ได้

ดังนั้น ไม่ว่าผู้อ่านบทความนี้จะเป็นโปรแกรมเมอร์ที่มีประสบการณ์หรือเป็นมือใหม่ในด้านการพัฒนาซอฟต์แวร์ คำตอบสำหรับคำถามที่เป็นชื่อหัวข้อนี้ก็น่าจะใช่

บทความชุดนี้ออกแบบมาเพื่อช่วยให้คุณประสบความสำเร็จในการก้าวข้ามเส้นการเรียนรู้โดยการให้ข้อมูลอย่างสม่ำเสมอตั้งแต่หลักการพื้นฐานของภาษาไปจนถึงความสามารถขั้นสูงในแง่ของการผสานรวมกับเทคโนโลยีอื่นๆ ในบทความแรก เราจะพูดถึงคุณสมบัติหลักและไวยากรณ์ของ Python ในอนาคต เราจะพิจารณาแง่มุมที่ซับซ้อนมากขึ้นในการทำงานกับภาษายอดนิยมนี้ โดยเฉพาะการเขียนโปรแกรมเชิงวัตถุใน Python

สถาปัตยกรรม Python

ภาษาใด ๆ ไม่ว่าจะเป็นการเขียนโปรแกรมหรือการสื่อสาร ประกอบด้วยอย่างน้อยสองส่วน - คำศัพท์และไวยากรณ์ ภาษา Python ถูกจัดระเบียบในลักษณะเดียวกัน โดยให้ไวยากรณ์สำหรับการสร้างนิพจน์ที่สร้างโปรแกรมปฏิบัติการ และพจนานุกรม ซึ่งเป็นชุดของฟังก์ชันการทำงานในรูปแบบของไลบรารีมาตรฐานและปลั๊กอิน

ดังที่ได้กล่าวไปแล้ว ไวยากรณ์ของ Python นั้นค่อนข้างกระชับ โดยเฉพาะอย่างยิ่งเมื่อเปรียบเทียบกับ Java หรือ C++ ในแง่หนึ่งนี่เป็นสิ่งที่ดีเพราะไวยากรณ์ที่ง่ายกว่ายิ่งเรียนรู้ได้ง่ายขึ้นและความผิดพลาดน้อยลงที่คุณสามารถทำได้ในกระบวนการใช้งาน อย่างไรก็ตาม ภาษาดังกล่าวมีข้อเสียเปรียบ - สามารถใช้เพื่อถ่ายทอดข้อมูลที่ง่ายที่สุดและไม่สามารถแสดงโครงสร้างที่ซับซ้อนได้

สิ่งนี้ใช้ไม่ได้กับ Python เนื่องจากเป็นภาษาที่เรียบง่ายแต่เรียบง่าย ความจริงก็คือว่า Python เป็นภาษาที่มีระดับนามธรรมที่สูงกว่า เช่น สูงกว่า Java และ C ++ และช่วยให้คุณสามารถถ่ายโอนข้อมูลจำนวนเท่ากันในซอร์สโค้ดจำนวนน้อยลง

นอกจากนี้ Python ยังเป็นภาษาที่ใช้งานทั่วไป ดังนั้นจึงสามารถใช้ได้ในเกือบทุกด้านของการพัฒนาซอฟต์แวร์ (แบบสแตนด์อโลน ไคลเอนต์ - เซิร์ฟเวอร์ เว็บแอปพลิเคชัน) และในสาขาวิชาใดก็ได้ นอกจากนี้ Python ยังผสานรวมกับส่วนประกอบที่มีอยู่ได้อย่างง่ายดาย ซึ่งทำให้สามารถฝัง Python ในแอปพลิเคชันที่เขียนไว้แล้วได้

อีกส่วนหนึ่งของความสำเร็จของ Python คือโมดูลส่วนขยายทั้งแบบมาตรฐานและแบบเฉพาะ ส่วนขยายมาตรฐานของ Python ได้รับการออกแบบมาเป็นอย่างดีและได้รับการพิสูจน์แล้วว่ามีฟังก์ชันการทำงานสำหรับการแก้ปัญหาที่เกิดขึ้นในทุกโครงการพัฒนาซอฟต์แวร์ การประมวลผลสตริงและข้อความ การโต้ตอบกับระบบปฏิบัติการ การสนับสนุนสำหรับเว็บแอปพลิเคชัน โมดูลเหล่านี้เขียนด้วยภาษา Python ดังนั้นจึงมีคุณสมบัติที่สำคัญที่สุด - ข้ามแพลตฟอร์ม ซึ่งช่วยให้คุณถ่ายโอนโปรเจ็กต์จากระบบปฏิบัติการหนึ่งไปยังอีกระบบปฏิบัติการหนึ่งได้อย่างรวดเร็วและง่ายดาย

หากฟังก์ชันที่จำเป็นไม่อยู่ในไลบรารีมาตรฐาน Python คุณสามารถสร้างโมดูลส่วนขยายของคุณเองเพื่อใช้ซ้ำได้ในภายหลัง เป็นที่น่าสังเกตว่าโมดูลส่วนขยายสำหรับ Python สามารถสร้างได้ไม่เฉพาะใน Python เท่านั้น แต่ยังใช้ภาษาโปรแกรมอื่นๆ ด้วย ในกรณีนี้ มีความเป็นไปได้ที่จะใช้งานที่เน้นทรัพยากรอย่างมีประสิทธิภาพมากขึ้น เช่น การคำนวณทางวิทยาศาสตร์ที่ซับซ้อน แต่ข้อได้เปรียบของข้ามแพลตฟอร์มจะสูญหายไป หากภาษาของโมดูลส่วนขยายนั้นไม่ใช่ตัวข้ามแพลตฟอร์ม เช่น Python

Python รันไทม์

ดังที่คุณทราบ ภาษาการเขียนโปรแกรมข้ามแพลตฟอร์มทั้งหมดถูกสร้างขึ้นตามรุ่นเดียวกัน: นี่คือซอร์สโค้ดแบบพกพาอย่างแท้จริงและสภาพแวดล้อมรันไทม์ ซึ่งไม่สามารถพกพาได้และเฉพาะเจาะจงสำหรับแต่ละแพลตฟอร์ม รันไทม์นี้มักจะมีล่ามที่รันซอร์สโค้ดและยูทิลิตี้ต่างๆ ที่จำเป็นต่อการบำรุงรักษาแอปพลิเคชัน เช่น ดีบักเกอร์ แอสเซมเบลอร์ย้อนกลับ และอื่นๆ

Java Runtime Environment รวมคอมไพเลอร์เพิ่มเติมเนื่องจากต้องคอมไพล์ซอร์สโค้ดเป็น bytecode สำหรับ Java Virtual Machine รันไทม์ของ Python มีเฉพาะล่าม ซึ่งเป็นคอมไพเลอร์ด้วย แต่จะคอมไพล์ซอร์สโค้ดของ Python โดยตรงไปยังโค้ดเนทีฟของแพลตฟอร์มเป้าหมาย

ปัจจุบันมีการใช้งานรันไทม์ที่รู้จักกันดีสามรายการสำหรับ Python: CPython, Jython และ Python.NET ตามชื่อที่แนะนำ สภาพแวดล้อมแรกถูกนำมาใช้ใน C สภาพแวดล้อมที่สองใน Java และสุดท้ายใน .NET

CPython รันไทม์มักจะเรียกง่ายๆ ว่า Python และเมื่อมีคนพูดถึง Python การใช้งานนี้มักถูกอ้างถึง การใช้งานนี้ประกอบด้วยล่ามและโมดูลส่วนขยายที่เขียนด้วยภาษา C และสามารถใช้ได้กับทุกแพลตฟอร์มที่มีคอมไพเลอร์ C มาตรฐาน นอกจากนี้ยังมีเวอร์ชันรันไทม์ที่คอมไพล์แล้วสำหรับระบบปฏิบัติการต่างๆ รวมถึง OC Windows เวอร์ชันต่างๆ และลินุกซ์รุ่นต่างๆ ในบทความนี้และบทความต่อๆ ไป CPython จะได้รับการพิจารณา เว้นแต่จะระบุไว้เป็นอย่างอื่นแยกกัน

รันไทม์ Jython เป็นการนำ Python ไปใช้งานสำหรับการทำงานกับ Java Virtual Machine (JVM) รองรับ JVM เวอร์ชันใดก็ได้ โดยเริ่มจากเวอร์ชัน 1.2.2 (เวอร์ชันปัจจุบันของ Java คือ 1.6) Jython ต้องการเครื่อง Java ที่ติดตั้ง (สภาพแวดล้อมรันไทม์ Java) และความรู้บางอย่างเกี่ยวกับภาษาการเขียนโปรแกรม Java คุณไม่จำเป็นต้องรู้วิธีเขียนซอร์สโค้ด Java แต่คุณจะต้องคุ้นเคยกับไฟล์ JAR และ Java applets ตลอดจนเอกสารประกอบในรูปแบบ JavaDOC

สภาพแวดล้อมรุ่นใดให้เลือกขึ้นอยู่กับความชอบของโปรแกรมเมอร์เท่านั้นโดยทั่วไปแนะนำให้เก็บทั้ง CPython และ Jython ไว้ในคอมพิวเตอร์เนื่องจากไม่ขัดแย้งกัน แต่เสริมซึ่งกันและกัน สภาพแวดล้อม CPython นั้นเร็วกว่าเพราะไม่มีเลเยอร์กลางในรูปแบบของ JVM นอกจากนี้ Python เวอร์ชันที่อัปเดตแล้วยังได้รับการเผยแพร่เป็นสภาพแวดล้อม CPython เป็นครั้งแรกอีกด้วย อย่างไรก็ตาม Jython สามารถใช้คลาส Java เป็นโมดูลส่วนขยายและทำงานบนแพลตฟอร์มใดก็ได้ที่มีการใช้งาน JVM

รันไทม์ทั้งสองเปิดตัวภายใต้ใบอนุญาตที่เข้ากันได้กับ GPL ที่เป็นที่รู้จัก ดังนั้นจึงสามารถใช้ในการพัฒนาซอฟต์แวร์เชิงพาณิชย์และซอฟต์แวร์ฟรี โมดูลส่วนขยาย Python ส่วนใหญ่จะเผยแพร่ภายใต้ลิขสิทธิ์ GPL และสามารถใช้ได้อย่างอิสระในทุกโครงการ แต่มีส่วนขยายเชิงพาณิชย์หรือส่วนขยายที่มีใบอนุญาตที่เข้มงวดมากขึ้น ดังนั้น เมื่อใช้ Python ในโครงการเชิงพาณิชย์ คุณต้องระวังว่ามีข้อจำกัดใดบ้างในใบอนุญาตปลั๊กอินของส่วนขยาย

เริ่มต้นใช้งาน Python

ก่อนที่คุณจะเริ่มใช้ Python ได้ คุณต้องติดตั้งสภาพแวดล้อมรันไทม์ก่อน - ในบทความนี้คือ CPython และตัวแปลไพ ธ อนตามลำดับ มีวิธีการติดตั้งที่หลากหลาย: ผู้ใช้ขั้นสูงสามารถคอมไพล์ Python เองจากซอร์สโค้ดสาธารณะ คุณยังสามารถดาวน์โหลดไฟล์ปฏิบัติการสำเร็จรูปสำหรับระบบปฏิบัติการเฉพาะได้จากเว็บไซต์ www.python.org และสุดท้ายลีนุกซ์หลายรุ่นมาพร้อมกับ ล่าม Python ติดตั้งไว้ล่วงหน้าแล้ว บทความนี้ใช้ Python 2.x เวอร์ชัน Windows แต่ตัวอย่างที่ให้ไว้สามารถเรียกใช้ใน Python เวอร์ชันใดก็ได้

หลังจากที่โปรแกรมติดตั้งปรับใช้ไฟล์เรียกทำงาน Python กับไดเร็กทอรีที่ระบุ คุณต้องตรวจสอบค่าของตัวแปรระบบต่อไปนี้:

  • เส้นทาง. ตัวแปรนี้ต้องมีพาธไปยังไดเร็กทอรีที่ติดตั้ง Python เพื่อให้ระบบปฏิบัติการสามารถค้นหาได้
  • หลามโฮม ตัวแปรนี้ควรมีเฉพาะพาธไปยังไดเร็กทอรีที่ติดตั้ง Python ไดเร็กทอรีนี้ควรมีไดเร็กทอรีย่อย lib ที่จะค้นหาโมดูล Python มาตรฐาน
  • ไพธอนพาธ ตัวแปรที่มีรายการไดเร็กทอรีที่มีโมดูลส่วนขยายที่จะเชื่อมต่อกับ Python (องค์ประกอบของรายการจะต้องแยกจากกันโดยตัวแยกระบบ)
  • PYTHONSTARTUP ตัวแปรทางเลือกที่กำหนดเส้นทางไปยังสคริปต์ Python ที่ควรดำเนินการทุกครั้งที่เริ่มเซสชันล่าม Python แบบโต้ตอบ

บรรทัดคำสั่งสำหรับการทำงานกับล่ามมีโครงสร้างดังต่อไปนี้

PYTHONHOME\python (ตัวเลือก) [ -c command | ไฟล์สคริปต์ | - ] (ข้อโต้แย้ง)

โหมดโต้ตอบหลาม

หากคุณเริ่มล่ามโดยไม่ระบุคำสั่งหรือไฟล์สคริปต์ ล่ามจะทำงานในโหมดโต้ตอบ ในโหมดนี้ เชลล์ Python พิเศษจะเปิดใช้งาน ซึ่งคุณสามารถป้อนคำสั่งหรือนิพจน์แต่ละรายการ และค่าของคำสั่งนั้นจะถูกคำนวณทันที สิ่งนี้สะดวกมากเมื่อเรียนรู้ Python เนื่องจากคุณสามารถตรวจสอบความถูกต้องของโครงสร้างเฉพาะได้ทันที

ค่าของนิพจน์ที่ประเมินจะถูกเก็บไว้ในตัวแปรพิเศษที่ชื่อว่า Single Underscore (_) เพื่อให้สามารถใช้ในนิพจน์ที่ตามมาได้ คุณสามารถสิ้นสุดเซสชันแบบโต้ตอบได้โดยกด Ctrl-Z บน Windows หรือ Ctrl-D บน Linux

ตัวเลือกคือค่าสตริงเสริมที่สามารถเปลี่ยนพฤติกรรมของล่ามในระหว่างเซสชัน ความสำคัญของพวกเขาจะกล่าวถึงในบทความนี้และบทความต่อ ๆ ไป ตัวเลือกจะตามด้วยคำสั่งเดียวที่ล่ามควรดำเนินการ หรือเส้นทางไปยังไฟล์ที่มีสคริปต์เพื่อดำเนินการ เป็นที่น่าสังเกตว่าคำสั่งสามารถประกอบด้วยหลายนิพจน์ คั่นด้วยเครื่องหมายอัฒภาค และต้องอยู่ในเครื่องหมายคำพูดเพื่อให้ระบบปฏิบัติการสามารถส่งผ่านไปยังล่ามได้อย่างถูกต้อง อาร์กิวเมนต์คือพารามิเตอร์ที่ส่งผ่านสำหรับการประมวลผลเพิ่มเติมไปยังสคริปต์ที่เรียกใช้งานได้ พวกเขาถูกส่งไปยังโปรแกรมเป็นสตริงและคั่นด้วยช่องว่าง

คุณสามารถเรียกใช้คำสั่งต่อไปนี้เพื่อตรวจสอบว่า Python ได้รับการติดตั้งและทำงานอย่างถูกต้อง:

c:\>python-v
c:\> python –c “เวลานำเข้า; พิมพ์ time.asctime()”

อ็อพชัน -v จะแสดงเวอร์ชันของการนำ Python ไปใช้และออก ในขณะที่คำสั่งที่สองจะพิมพ์ค่าเวลาของระบบไปที่หน้าจอ

คุณสามารถเขียนสคริปต์ Python ในโปรแกรมแก้ไขข้อความใดก็ได้ เนื่องจากเป็นไฟล์ข้อความธรรมดา แต่มีสภาพแวดล้อมการพัฒนาพิเศษที่ออกแบบมาเพื่อทำงานกับ Python

พื้นฐานไวยากรณ์ Python

สคริปต์ซอร์สโค้ดของ Python ประกอบด้วยสิ่งที่เรียกว่า สตริงตรรกะซึ่งแต่ละอันประกอบด้วย สายกายภาพ. สัญลักษณ์ # ใช้เพื่อแสดงถึงความคิดเห็น ความคิดเห็นและบรรทัดว่างจะถูกละเว้นโดยล่าม

ต่อไปนี้เป็นส่วนสำคัญที่อาจดูแปลกสำหรับโปรแกรมเมอร์ที่เรียนรู้ Python เป็นภาษาโปรแกรมที่สอง ประเด็นคือไม่มีสัญลักษณ์ใน Python ที่มีหน้าที่แยกนิพจน์ออกจากกันในซอร์สโค้ด เช่น อัฒภาค (;) ใน C++ หรือ Java อัฒภาคอนุญาตให้คุณแยกคำสั่งหลายคำสั่งหากอยู่ในบรรทัดเดียวกัน นอกจากนี้ยังไม่มีโครงสร้างเช่นวงเล็บปีกกา () ซึ่งช่วยให้คุณสามารถรวมกลุ่มคำสั่งไว้ในบล็อกเดียวได้

สตริงกายภาพถูกคั่นด้วยอักขระที่สิ้นสุดบรรทัด แต่ถ้านิพจน์ยาวเกินไปสำหรับหนึ่งสตริง สตริงทางกายภาพทั้งสองสามารถรวมกันเป็นหนึ่งตรรกะได้ ในการทำเช่นนี้ คุณต้องป้อนอักขระแบ็กสแลช (\) ที่ท้ายบรรทัดแรก จากนั้นล่ามจะตีความบรรทัดถัดไปว่าเป็นความต่อเนื่องของบรรทัดแรก อย่างไรก็ตาม อักขระอื่นไม่สามารถ ปรากฏในบรรทัดแรกหลังอักขระ \ ตัวอย่างเช่น ความคิดเห็นที่มี # การเยื้องใช้เพื่อเน้นกลุ่มของรหัส เส้นลอจิกที่มีขนาดเยื้องเท่ากันก่อตัวเป็นบล็อก และบล็อกจะสิ้นสุดลงเมื่อเส้นลอจิคัลที่มีการเยื้องเล็กกว่าปรากฏขึ้น นี่คือเหตุผลที่ไม่ควรเยื้องบรรทัดแรกในสคริปต์ Python การเรียนรู้กฎง่ายๆ เหล่านี้จะช่วยให้คุณหลีกเลี่ยงข้อผิดพลาดส่วนใหญ่ที่เกี่ยวข้องกับการเรียนภาษาใหม่ได้

ไม่มีความแตกต่างอย่างสิ้นเชิงจากภาษาโปรแกรมอื่นในไวยากรณ์ของ Python มีชุดโอเปอเรเตอร์และคีย์เวิร์ดมาตรฐาน ซึ่งส่วนใหญ่คุ้นเคยกับโปรแกรมเมอร์อยู่แล้ว แต่จะมีเนื้อหาเกี่ยวกับไพธอนเฉพาะเจาะจงในบทความนี้และบทความต่อๆ ไป นอกจากนี้ยังใช้กฎมาตรฐานสำหรับการตั้งค่าตัวระบุของตัวแปร เมธอด และคลาส - ชื่อต้องขึ้นต้นด้วยขีดล่างหรืออักขระละตินของตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ และต้องไม่มี @, $, % นอกจากนี้ ไม่สามารถใช้อักขระขีดล่างเพียงตัวเดียวเป็นตัวระบุได้ (โปรดดูเชิงอรรถสำหรับโหมดโต้ตอบ)

ชนิดข้อมูลที่ใช้ใน Python

ชนิดข้อมูลที่ใช้ใน Python นั้นเหมือนกับในภาษาอื่น - ชนิดข้อมูลจำนวนเต็มและจำนวนจริง นอกจากนี้ ประเภทข้อมูลที่ซับซ้อนได้รับการสนับสนุน - ด้วยส่วนจริงและส่วนจินตภาพ (ตัวอย่างของตัวเลขดังกล่าวคือ 1.5J หรือ 2j โดยที่ J คือรากที่สองของ -1) Python รองรับสตริงที่สามารถอยู่ในเครื่องหมายคำพูดเดี่ยว สองหรือสาม ในขณะที่สตริง เช่นใน Java เป็นอ็อบเจ็กต์ที่ไม่เปลี่ยนรูป เช่น ไม่สามารถเปลี่ยนค่าได้หลังจากการสร้าง

นอกจากนี้ยังมีชนิดข้อมูลตรรกะบูลใน Python ที่มีตัวเลือกค่าสองค่า - จริงและเท็จ อย่างไรก็ตาม Python เวอร์ชันเก่าไม่มีประเภทข้อมูลนี้ และนอกจากนี้ ประเภทข้อมูลใดๆ ก็สามารถแปลงเป็นค่าบูลีนเป็น True หรือ False ตัวเลขที่ไม่ใช่ศูนย์และสตริงหรือคอลเล็กชันข้อมูลที่ไม่ว่างเปล่าทั้งหมดจะถือว่าเป็น True ในขณะที่ค่าว่างและศูนย์จะถือเป็นเท็จ คุณลักษณะนี้ได้รับการเก็บรักษาไว้ใน Python เวอร์ชันใหม่ อย่างไรก็ตาม เพื่อเพิ่มความสามารถในการอ่านโค้ด ขอแนะนำให้ใช้ประเภทบูลสำหรับตัวแปรบูลีน ในเวลาเดียวกัน หากคุณต้องการรักษาความเข้ากันได้แบบย้อนหลังกับการใช้งาน Python รุ่นเก่า คุณควรใช้ 1 (True) หรือ 0 (False) เป็นตัวแปรบูลีน

ฟังก์ชันการทำงานกับชุดข้อมูล

Python กำหนดคอลเลกชันสามประเภทสำหรับการจัดเก็บชุดข้อมูล:

  • ทูเพิล;
  • รายการ (รายการ);
  • พจนานุกรม.

ทูเพิลคือลำดับข้อมูลที่ไม่เปลี่ยนรูปแบบ มันสามารถมีองค์ประกอบประเภทต่างๆ เช่น ทูเพิลอื่นๆ ทูเพิลถูกกำหนดในวงเล็บ และองค์ประกอบจะถูกคั่นด้วยเครื่องหมายจุลภาค ฟังก์ชันพิเศษในตัว tuple() ช่วยให้คุณสร้างทูเพิลจากลำดับข้อมูลที่กำหนด

รายการคือลำดับขององค์ประกอบที่เปลี่ยนแปลงได้ องค์ประกอบของรายการยังคั่นด้วยเครื่องหมายจุลภาค แต่มีการตั้งค่าไว้ในวงเล็บเหลี่ยมแล้ว ฟังก์ชัน list() ใช้สำหรับสร้างรายการ

พจนานุกรมคือตารางแฮชที่เก็บองค์ประกอบพร้อมกับตัวระบุที่สำคัญ การเข้าถึงองค์ประกอบในภายหลังยังดำเนินการโดยคีย์ ดังนั้นหน่วยของการจัดเก็บในพจนานุกรมจึงเป็นคู่อ็อบเจ็กต์คีย์และอ็อบเจ็กต์ค่าที่เกี่ยวข้อง พจนานุกรมเป็นคอลเล็กชันที่เปลี่ยนแปลงได้แต่ไม่ได้เรียงลำดับ ดังนั้นลำดับขององค์ประกอบในพจนานุกรมจึงสามารถเปลี่ยนแปลงได้เมื่อเวลาผ่านไป พจนานุกรมระบุไว้ในวงเล็บปีกกา คีย์แยกจากค่าด้วยเครื่องหมายทวิภาค และตัวคู่คีย์/ค่าจะถูกคั่นด้วยเครื่องหมายจุลภาค ฟังก์ชัน dict() พร้อมใช้งานสำหรับการสร้างพจนานุกรม

รายการ 1 แสดงตัวอย่างคอลเลกชันต่างๆ ที่มีอยู่ใน Python

รายการ 1. ประเภทคอลเลกชันที่มีอยู่ใน Python
('w','o','r','l','d') # ทูเพิลของห้าองค์ประกอบ (2.62,) # ทูเพิลของหนึ่งองค์ประกอบ [“ทดสอบ”, "ฉัน"] # รายการของสององค์ประกอบ # รายการว่าง ( 5:'a', 6:'b', 7:'c' ) # พจนานุกรม 3 องค์ประกอบพร้อมคีย์ int

การกำหนดฟังก์ชันใน Python

แม้ว่า Python จะสนับสนุน OOP แต่คุณลักษณะหลายอย่างของมันก็ถูกนำไปใช้เป็นฟังก์ชันแยกจากกัน นอกจากนี้ โมดูลส่วนขยายส่วนใหญ่มักจะทำในรูปแบบของไลบรารีฟังก์ชัน ฟังก์ชันยังใช้ในคลาสซึ่งเรียกตามธรรมเนียมว่าเมธอด

ไวยากรณ์สำหรับการกำหนดฟังก์ชันใน Python นั้นง่ายมาก ภายใต้ข้อกำหนดข้างต้น:

def FUNCTION_NAME(พารามิเตอร์): expression #1 expression #2 ...

อย่างที่คุณเห็น จำเป็นต้องใช้ def คีย์เวิร์ด ทวิภาค และการเยื้อง การเรียกใช้ฟังก์ชันนั้นง่ายมากเช่นกัน:

FUNCTION_NAME(พารามิเตอร์)

มีเพียงไม่กี่สิ่งที่ต้องพิจารณาเฉพาะกับ Python เช่นเดียวกับใน Java ค่าดั้งเดิมจะถูกส่งผ่านโดยค่า (สำเนาของพารามิเตอร์จะเข้าสู่ฟังก์ชันและไม่สามารถเปลี่ยนค่าที่ตั้งไว้ก่อนที่จะเรียกใช้ฟังก์ชัน) และประเภทวัตถุที่ซับซ้อนจะถูกส่งผ่านโดยการอ้างอิง (การอ้างอิงถูกส่งผ่าน กับฟังก์ชันและอาจเปลี่ยนวัตถุได้)

พารามิเตอร์สามารถส่งผ่านอย่างง่าย ๆ โดยลำดับการแจงนับหรือตามชื่อ ในกรณีนี้ เมื่อโทร คุณไม่จำเป็นต้องระบุพารามิเตอร์เหล่านั้นซึ่งมีค่าเริ่มต้น แต่ส่งผ่านเฉพาะค่าที่ต้องการหรือเปลี่ยนลำดับของพารามิเตอร์เมื่อเรียกใช้ฟังก์ชัน :

#a ฟังก์ชันที่ทำการหารจำนวนเต็ม - ใช้ตัวดำเนินการ // def foo(delimoe, delitel): return delimoe // delitel print divide(50,5) # ผลงาน: 10 แบ่งพิมพ์ (delitel=5, delimoe=50) # ผลงาน: 10

ฟังก์ชันใน Python ต้องส่งคืนค่าอย่างชัดเจนโดยใช้คำสั่ง return ตามด้วยค่าที่ส่งคืน หรือในกรณีที่ไม่มีคำสั่ง return ให้คืนค่าคงที่ None เมื่อถึงจุดสิ้นสุดของฟังก์ชัน ดังที่คุณเห็นจากตัวอย่างการประกาศฟังก์ชัน ใน Python ไม่จำเป็นต้องระบุว่ามีบางสิ่งที่ส่งคืนจากฟังก์ชันหรือไม่ อย่างไรก็ตาม หากฟังก์ชันมีคำสั่ง return หนึ่งคำสั่งที่คืนค่า คำสั่ง return อื่นในฟังก์ชันนี้ ต้องส่งกลับค่า และถ้ามีค่าดังกล่าว no คุณต้องเขียน return None อย่างชัดเจน

หากฟังก์ชันนั้นเรียบง่ายมากและประกอบด้วยบรรทัดเดียว ก็สามารถกำหนดได้ ณ สถานที่ใช้งาน ใน Python โครงสร้างดังกล่าวเรียกว่าฟังก์ชันแลมบ์ดา (แลมบ์ดา) ฟังก์ชันแลมบ์ดาเป็นฟังก์ชันที่ไม่ระบุชื่อ (ไม่มีชื่อของตัวเอง) ซึ่งเนื้อหาเป็นคำสั่งส่งคืนที่คืนค่าของนิพจน์บางอย่าง วิธีนี้สะดวกในบางสถานการณ์ แต่น่าสังเกตว่าการใช้ฟังก์ชันดังกล่าวซ้ำเป็นไปไม่ได้ (“ที่ที่คุณเกิด มันสะดวก”)

นอกจากนี้ยังควรค่าแก่การอธิบายทัศนคติของ Python ต่อการใช้การเรียกซ้ำ โดยค่าเริ่มต้น ความลึกของการเรียกซ้ำจะจำกัดไว้ที่ 1,000 ระดับ และเมื่อผ่านระดับนี้ ข้อยกเว้นจะถูกส่งออกไปและโปรแกรมจะหยุด อย่างไรก็ตาม ขีดจำกัดนี้สามารถเปลี่ยนแปลงได้หากจำเป็น

ฟังก์ชันใน Python มีคุณลักษณะที่น่าสนใจอื่นๆ เช่น เอกสารประกอบ หรือความสามารถในการกำหนดฟังก์ชันที่ซ้อนกัน แต่จะกล่าวถึงในบทความต่อไปนี้ในซีรีส์พร้อมตัวอย่างที่ซับซ้อนยิ่งขึ้น

อู๋ Python(ดีกว่าที่จะพูดว่า "python" แม้ว่าบางคนจะพูดว่า "python") - หัวข้อของการศึกษานี้ ผู้สร้างภาษาการเขียนโปรแกรม Dutchman Guido van Rossum กล่าวว่าดีที่สุด:

"Python เป็นภาษาการเขียนโปรแกรมระดับสูงที่มีการตีความเชิงวัตถุและมีความหมายแบบไดนามิก โครงสร้างข้อมูลระดับสูงในตัว รวมกับ การพิมพ์แบบไดนามิกและการผูกมัดทำให้ภาษาน่าสนใจสำหรับการพัฒนาแอปพลิเคชันอย่างรวดเร็ว (RAD, Rapid Application Development) นอกจากนี้ยังสามารถใช้เป็นภาษาสคริปต์สำหรับเชื่อมโยงส่วนประกอบซอฟต์แวร์ ไวยากรณ์ของ Python นั้นง่ายต่อการเรียนรู้และเน้นความสามารถในการอ่านโค้ด ซึ่งช่วยลดต้นทุนในการบำรุงรักษาผลิตภัณฑ์ซอฟต์แวร์ Python รองรับโมดูลและแพ็คเกจ ส่งเสริมการใช้โมดูลและโค้ดซ้ำ ล่าม Python และไลบรารีมาตรฐานขนาดใหญ่มีให้บริการฟรีเป็นซอร์สและโค้ดที่ปฏิบัติการได้สำหรับแพลตฟอร์มหลักทั้งหมด และแจกจ่ายซ้ำได้ฟรี"

ในกระบวนการศึกษาความหมายของคำจำกัดความนี้จะถูกเปิดเผย แต่สำหรับตอนนี้ก็เพียงพอแล้วที่จะรู้ว่า Python เป็นภาษาโปรแกรมสากล มันมีข้อดีและข้อเสียตลอดจนขอบเขตการใช้งาน Python มาพร้อมกับไลบรารีมาตรฐานที่กว้างขวางสำหรับงานที่หลากหลาย ไลบรารีคุณภาพสำหรับ Python พร้อมใช้งานบนอินเทอร์เน็ตในสาขาวิชาต่างๆ: เครื่องมือประมวลผลคำและเทคโนโลยีอินเทอร์เน็ต การประมวลผลภาพ เครื่องมือสำหรับการสร้างแอปพลิเคชัน กลไกการเข้าถึงฐานข้อมูล แพ็คเกจการคำนวณทางวิทยาศาสตร์ ไลบรารีการสร้าง GUI เป็นต้น นอกจากนี้ Python มีวิธีการที่ค่อนข้างง่ายในการผสานรวมกับ C, C++ (และ Java) โดยการฝังล่ามลงในโปรแกรมในภาษาเหล่านี้ และในทางกลับกัน โดยใช้ไลบรารีที่เขียนในภาษาเหล่านี้ในโปรแกรม Python ภาษา Python รองรับหลาย กระบวนทัศน์การเขียนโปรแกรม: ความจำเป็น (ขั้นตอน, โครงสร้าง, วิธีการแบบแยกส่วน), การเขียนโปรแกรมเชิงวัตถุและการทำงาน

เราสามารถพิจารณาได้ว่า Python เป็นเทคโนโลยีทั้งหมดสำหรับการสร้างผลิตภัณฑ์ซอฟต์แวร์ มีให้ใช้งานบนแพลตฟอร์มที่ทันสมัยเกือบทั้งหมด (ทั้งแบบ 32 บิตและ 64 บิต) พร้อมคอมไพเลอร์ C และบนแพลตฟอร์ม Java

อาจดูเหมือนว่าไม่มีที่ใดในอุตสาหกรรมซอฟต์แวร์สำหรับสิ่งอื่นใดนอกจาก C/C++, Java, Visual Basic, C# อย่างไรก็ตามมันไม่ใช่ บางทีต้องขอบคุณหลักสูตรการบรรยายและการฝึกปฏิบัตินี้ Python จะมีสมัครพรรคพวกใหม่ซึ่งจะกลายเป็นเครื่องมือที่ขาดไม่ได้

จะอธิบายภาษาอย่างไร?

การบรรยายนี้ไม่ได้ตั้งใจที่จะอธิบาย Python อย่างเป็นระบบ: มีคู่มืออ้างอิงดั้งเดิมสำหรับสิ่งนั้น ในที่นี้ขอเสนอให้พิจารณาภาษาพร้อมกันในหลายแง่มุม ซึ่งทำได้โดยชุดตัวอย่างที่จะช่วยให้คุณเข้าร่วมโปรแกรมจริงได้อย่างรวดเร็วกว่าในกรณีของแนวทางวิชาการที่เข้มงวด

อย่างไรก็ตาม ควรให้ความสนใจกับแนวทางที่ถูกต้องในการอธิบายภาษา การสร้างโปรแกรมมักเป็นการสื่อสารที่โปรแกรมเมอร์ส่งข้อมูลที่จำเป็นสำหรับโปรแกรมหลังเพื่อดำเนินการกับคอมพิวเตอร์ วิธีที่โปรแกรมเมอร์เข้าใจการกระทำเหล่านี้ (นั่นคือ "ความหมาย") สามารถเรียกได้ว่า ความหมาย. สื่อความหมายนี้คือ ไวยากรณ์ภาษาโปรแกรม โดยปกติแล้วสิ่งที่ล่ามทำโดยอ้างอิงจากการส่งผ่านมักจะเรียกว่า วิชาปฏิบัติ. เมื่อเขียนโปรแกรม สิ่งสำคัญคือต้องไม่มีความล้มเหลวในสายนี้

ไวยากรณ์เป็นส่วนที่เป็นทางการอย่างสมบูรณ์: สามารถอธิบายได้ใน ภาษาทางการไดอะแกรมไวยากรณ์ (ซึ่งเป็นสิ่งที่ทำในคู่มืออ้างอิง) การแสดงออกของในทางปฏิบัติคือล่ามภาษาเอง เขาเป็นคนที่อ่าน "ข้อความ" ที่เขียนตามไวยากรณ์และเปลี่ยนเป็นการกระทำตามอัลกอริทึมที่ฝังอยู่ในนั้น ความหมายเท่านั้นที่ยังคงเป็นองค์ประกอบที่ไม่เป็นทางการ มันอยู่ในการแปลความหมายเป็นคำอธิบายอย่างเป็นทางการที่ความซับซ้อนที่สุดของการเขียนโปรแกรมอยู่ ไวยากรณ์ของภาษา Python มีคุณสมบัติที่มีประสิทธิภาพที่ช่วยให้โปรแกรมเมอร์เข้าใจปัญหาได้ใกล้เคียงกับ "ความเข้าใจ" โดยล่าม โครงสร้างภายในของ Python จะถูกกล่าวถึงในการบรรยายครั้งสุดท้าย

ประวัติของภาษาไพทอน

Python เริ่มต้นโดย Guido van Rossum ในปี 1991 เมื่อเขาทำงานกับระบบปฏิบัติการ Amoeba แบบกระจาย เขาต้องการภาษาที่ขยายได้ซึ่งจะรองรับการเรียกระบบ ABC และ Modula-3 ถูกนำมาใช้เป็นพื้นฐาน เขาเลือก Python เป็นชื่อตามละครตลกเรื่อง Monty Python's Flying Circus ของ BBC ของ BBC แทนที่จะเป็นชื่องู ตั้งแต่นั้นมา Python ก็พัฒนาขึ้นโดยได้รับการสนับสนุนจากองค์กรต่างๆ ที่ Guido ทำงานอยู่ ภาษากำลังได้รับการปรับปรุงโดยเฉพาะอย่างยิ่งอย่างแข็งขันในปัจจุบัน ซึ่งไม่เพียงแต่ทีมผู้สร้างเท่านั้น แต่ยังรวมถึงชุมชนของโปรแกรมเมอร์จากทั่วทุกมุมโลกที่กำลังดำเนินการอยู่ และคำพูดสุดท้ายเกี่ยวกับทิศทางของการพัฒนาภาษายังคงอยู่กับ Guido van Rossum

เนื้อหานี้จัดทำขึ้นสำหรับผู้ที่คุ้นเคยกับการเขียนโปรแกรมอยู่แล้วและต้องการเรียนรู้ภาษาโปรแกรม Python ได้รับการออกแบบมาเพื่อแสดงคุณลักษณะของภาษา Python คุณลักษณะของไวยากรณ์ และหลักการพื้นฐานของการทำงานกับ Python ใน 10 นาทีพร้อมตัวอย่าง ไม่มี "น้ำ" ที่นี่ - ข้อมูลที่ไม่เกี่ยวข้องโดยตรงกับภาษาโปรแกรม เริ่มกันเลย!

ภาษาการเขียนโปรแกรม Python นั้นแตกต่างด้วยการพิมพ์ที่รัดกุม (การพิมพ์ที่เข้มงวดนั้นแตกต่างจากความจริงที่ว่าภาษาไม่อนุญาตให้ผสมประเภทต่าง ๆ ในนิพจน์และไม่ทำการแปลงโดยนัยโดยอัตโนมัติเช่นคุณไม่สามารถลบชุดออกจากสตริง) ไดนามิก ใช้การพิมพ์ - ทุกประเภทได้รับการชี้แจงแล้วในระหว่างการดำเนินการโปรแกรม

การประกาศตัวแปรเป็นทางเลือก ชื่อจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ (var และ VAR เป็นตัวแปร 2 ตัวที่ต่างกัน)

Python เป็นภาษาเชิงวัตถุ ทุกอย่างในภาษานั้นเป็นวัตถุ

ขอความช่วยเหลือ

ความช่วยเหลือ (ความช่วยเหลือ) ใน Python มีให้ในล่ามเสมอ หากคุณต้องการทราบว่าวัตถุทำงานอย่างไร โทร help( ). นอกจากนี้ คำสั่งที่มีประโยชน์คือ dir() ซึ่งแสดงวิธีการทั้งหมดของอ็อบเจกต์ และคุณสมบัติของอ็อบเจกต์ .__doc__ ซึ่งจะแสดง docstring ให้คุณเห็น:

>>> help(5) Help on int object: (etc etc) >>> dir(5) ["__abs__", "__add__", ...] >>> abs.__doc__ "abs(number) -> จำนวน ส่งคืนค่าสัมบูรณ์ของอาร์กิวเมนต์"

ไวยากรณ์หลาม

Python ไม่มีโครงสร้างที่สิ้นสุดการบล็อก (เช่น การประกาศคลาสหรือฟังก์ชัน เป็นต้น) - บล็อกถูกกำหนดโดยใช้การเยื้อง เพิ่มการเยื้องที่จุดเริ่มต้นของบล็อก ลดการเยื้องที่ส่วนท้ายของบล็อก คำสั่งที่ต้องการการเยื้องจะสิ้นสุดลงด้วยเครื่องหมายทวิภาค (:) หากคุณไม่มีรหัสใดๆ หลังจากคำสั่ง block start ให้แทรกคำสั่ง pass เพื่อผ่านการตรวจสอบไวยากรณ์

ในขณะที่ rangelist == 1: ผ่าน

ความคิดเห็นบรรทัดเดียวเริ่มต้นด้วยเครื่องหมายปอนด์ (#) ความคิดเห็นแบบหลายบรรทัดใช้ (""") ที่จุดเริ่มต้นและจุดสิ้นสุดของความคิดเห็น

ค่าถูกกำหนดโดยใช้เครื่องหมายเท่ากับ ("=") (อันที่จริง วัตถุถูกกำหนดชื่อในกระบวนการ)

การตรวจสอบความแตกต่างจะดำเนินการโดยใช้อักขระเท่ากับสองตัว ("==")

คุณสามารถเพิ่มค่าได้โดยใช้ตัวดำเนินการ += และลดค่าด้วย -= ซึ่งระบุตัวแปรทางด้านซ้าย และค่าที่การเพิ่ม/ลดจะเกิดขึ้นทางด้านขวา ใช้งานได้กับข้อมูลหลายประเภทใน Python รวมถึงสตริง

คุณสามารถกำหนดค่าให้กับตัวแปรหลายตัวในบรรทัดเดียวกันได้ ตัวอย่าง:

>>> myvar = 3 >>> myvar += 2 >>> myvar 5 >>> myvar -= 1 >>> myvar 4 """นี่คือความคิดเห็นแบบหลายบรรทัด บรรทัดต่อไปนี้เชื่อมสองสตริงเข้าด้วยกัน""" >>> mystring = "สวัสดี" >>> mystring += "โลก" >>> พิมพ์ mystring สวัสดีชาวโลก # สิ่งนี้จะสลับตัวแปรในหนึ่งบรรทัด (!) # ไม่ละเมิดการพิมพ์ที่รัดกุมเพราะค่าไม่ได้ถูกกำหนด # จริง ๆ แล้ว แต่วัตถุใหม่ถูกผูกไว้กับ # ชื่อเก่า >>> myvar, mystring = mystring, myvar

ประเภทข้อมูลใน Python

ใน Python มีชนิดข้อมูล เช่น รายการ (รายการ) ทูเพิล (ทูเพิล) และพจนานุกรม (พจนานุกรม) นอกจากนี้ยังมีชุดต่างๆ โดยใช้โมดูลชุดในเวอร์ชันก่อนหน้า Python 2.5 และสร้างขึ้นในภาษาในเวอร์ชันที่ใหม่กว่า

รายการจะคล้ายกับอาร์เรย์หนึ่งมิติ เป็นไปได้ที่จะมีรายการประกอบด้วยรายการอื่นๆ

พจนานุกรมเป็นอาร์เรย์ที่เชื่อมโยงซึ่งข้อมูลสามารถเข้าถึงได้โดยคีย์

Tuples เป็นอาร์เรย์หนึ่งมิติที่ไม่เปลี่ยนรูป

"อาร์เรย์" ใน Python สามารถเป็นประเภทใดก็ได้ หมายความว่าคุณสามารถรวมตัวเลข สตริง และประเภทข้อมูลอื่นๆ ในรายการ/พจนานุกรม/สิ่งอันดับ

ดัชนีขององค์ประกอบแรกคือ 0 ค่าดัชนีเชิงลบเริ่มนับจากตัวสุดท้ายถึงตัวแรก [-1] จะชี้ไปที่องค์ประกอบสุดท้าย

ตัวแปรสามารถชี้ไปที่ฟังก์ชันได้

>>> sample = , ("a", "tuple")] >>> mylist = ["List item 1", 2, 3.14] >>> mylist = "List item 1 again" # เรากำลังเปลี่ยนรายการ >>> mylist[-1] = 3.21 # ที่นี่เราอ้างถึงรายการสุดท้าย >>> mydict = ("คีย์ 1": "ค่า 1", 2: 3, "pi": 3.14) >>> mydict[ "pi"] = 3.15 # นี่คือวิธีที่คุณเปลี่ยนค่าพจนานุกรม >>> mytuple = (1, 2, 3) >>> myfunction = len >>> พิมพ์ myfunction(mylist) 3

คุณสามารถแบ่งอาร์เรย์ (รายการหรือทูเพิล) โดยใช้โคลอน (:) การปล่อยค่าเริ่มต้นของดัชนีว่างไว้จะบอกให้คุณเริ่มต้นที่ค่าแรก ค่าว่างของจุดสิ้นสุดของดัชนีจะถือว่าองค์ประกอบสุดท้ายของอาร์เรย์ ดัชนีเชิงลบจะนับถอยหลังจากจุดสิ้นสุดของอาร์เรย์ (-1 หมายถึงองค์ประกอบสุดท้าย)

ดูตัวอย่าง:

>>> mylist = ["List item 1", 2, 3.14] >>> print mylist[:] ["List item 1", 2, 3.1400000000000001] >>> พิมพ์ mylist ["List item 1", 2] > >> print mylist[-3:-1] ["List item 1", 2] >>> print mylist # เพิ่มพารามิเตอร์ที่สาม "step" จะมีขั้นตอน Python เพิ่มขึ้นทีละ # N รายการแทนที่จะเป็น 1 # เช่น สิ่งนี้จะคืนค่ารายการแรก จากนั้นไปที่รายการที่สามและ # ส่งคืนสิ่งนั้น (ดังนั้น รายการ 0 และ 2 ในการจัดทำดัชนี 0) >>> พิมพ์ mylist[::2] ["รายการที่ 1", 3.14]

สตริงใน Python

เครื่องหมายอะพอสทรอฟี (') หรือเครื่องหมายคำพูดคู่ (เครื่องหมายอัญประกาศคู่ - “) สามารถใช้เพื่อแสดงสตริงได้ ด้วยเหตุนี้ คุณสามารถใส่เครื่องหมายคำพูดภายในสตริงที่มีเครื่องหมายอะพอสทรอฟี (เช่น 'He said "hello.'" เป็นสตริงที่ถูกต้อง)

สตริงหลายบรรทัดแสดงโดยใช้เครื่องหมายอะพอสทรอฟีสามตัวหรือเครื่องหมายคำพูด ("") Python รองรับ Unicode ทันที Python 2 ใช้อักขระ (u) เพื่อระบุสตริงที่มี unicode: u"This is a unicode string" Python3 สตริงทั้งหมดเป็น Unicode หากใน Python3 คุณต้องการลำดับไบต์ซึ่งเป็นสตริงในเวอร์ชันก่อนหน้า ให้ใช้อักขระ (b): b"This is a byte string"

ตัวดำเนินการ (%) และ tuple ใช้เพื่อแทนที่ค่าพารามิเตอร์เป็นสตริง แต่ละ %s จะถูกแทนที่ด้วยองค์ประกอบจากทูเพิล จากซ้ายไปขวา คุณยังสามารถใช้พจนานุกรมเพื่อแทนที่พารามิเตอร์ที่มีชื่อได้:

>>>พิมพ์ "ชื่อ: %s\ หมายเลข: %s\ สตริง: %s" % (myclass.name, 3, 3 * "-") ชื่อ: หมายเลข Poromenos: 3 สตริง: --- strString = """ นี่คือสตริงหลายบรรทัด""" # คำเตือน: ระวังการต่อท้าย s ใน "%(คีย์)s" >>> พิมพ์ "This %(verb)s a %(noun)s." % ("นาม": "ทดสอบ", "กริยา": "คือ") นี่คือการทดสอบ

คำแนะนำในการควบคุมการไหล - if, for, while

คำสั่ง if , for และ while ใช้เพื่อควบคุมลำดับการทำงานของโปรแกรม ไม่มีสวิตช์หรือตัวพิมพ์ใหญ่ใน Python หากใช้แทน For ใช้เพื่อวนซ้ำองค์ประกอบของรายการ (หรือทูเปิล) เพื่อให้ได้ลำดับของตัวเลข ให้ใช้ range( ) . Break ใช้เพื่อหยุดการทำงานของลูป

ไวยากรณ์สำหรับโครงสร้างนี้คือ:

Rangelist = range(10) >>> พิมพ์ rangelist สำหรับตัวเลขใน rangelist: # ตรวจสอบว่าตัวเลขเป็นหนึ่งใน # ตัวเลขใน tuple หรือไม่ ถ้าตัวเลขใน (3, 4, 7, 9): # "Break" ยุติ a for โดยไม่ต้อง # ดำเนินการส่วน "else" break else: # "Continue" เริ่มการวนซ้ำครั้งต่อไป # ของลูป มัน "ค่อนข้างไร้ประโยชน์ที่นี่ # เนื่องจากเป็นคำสั่งสุดท้ายของลูป ทำต่อที่อื่น: # ส่วนคำสั่ง "อื่น" เป็นทางเลือกและ # จะดำเนินการได้ก็ต่อเมื่อลูปไม่ "แตก" เท่านั้น ผ่าน # ไม่ต้องทำอะไรถ้า rangelist == 2: พิมพ์ "รายการที่สอง (รายการเป็น 0 ตาม) คือ 2 " elif rangelist == 3: พิมพ์ "รายการที่สอง (รายการเป็นแบบ 0-based) คือ 3" อื่น ๆ: พิมพ์ "Dunno" ในขณะที่ rangelist == 1: ผ่าน

ฟังก์ชันใน Python

ฟังก์ชั่นถูกประกาศโดยใช้คำสำคัญ "def" อาร์กิวเมนต์ที่เป็นทางเลือกจะเป็นไปตามอาร์กิวเมนต์ที่บังคับในการประกาศฟังก์ชันและได้รับการกำหนดค่าเริ่มต้น เมื่อเรียกใช้ฟังก์ชัน คุณสามารถส่งผ่านอาร์กิวเมนต์โดยระบุชื่อและค่าของอาร์กิวเมนต์ ในขณะที่ข้ามอาร์กิวเมนต์ที่เป็นทางเลือกบางส่วนหรือจัดวางอาร์กิวเมนต์ในลำดับที่แตกต่างจากที่ประกาศไว้ในฟังก์ชัน

ฟังก์ชันสามารถคืนค่า tuple และการใช้ tuple unpacking คุณสามารถคืนค่าได้หลายค่า

ฟังก์ชันแลมบ์ดาเป็นฟังก์ชันพิเศษที่ประมวลผลอาร์กิวเมนต์เดียว

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

ตัวอย่างโค้ด:

# เช่นเดียวกับ def funcvar(x): return x + 1 funcvar = lambda x: x + 1 >>> print funcvar(1) 2 # an_int และ a_string เป็นทางเลือก พวกมันมีค่าเริ่มต้น # หากไม่ผ่าน ( 2 และ "สตริงเริ่มต้น" ตามลำดับ) def pass_example(a_list, an_int=2, a_string="A default string"): a_list.append("A new item") an_int = 4 return a_list, an_int, a_string >>> my_list = >>> my_int = 10 >> > พิมพ์ผ่าน_example(my_list, my_int) (, 4, "สตริงเริ่มต้น") >>> my_list >>> my_int 10

คลาส Python

Python รองรับการสืบทอดหลายรูปแบบที่จำกัดในคลาส

สามารถประกาศตัวแปรและเมธอดไพรเวตได้ (ตามธรรมเนียม ล่ามจะไม่ตรวจสอบสิ่งนี้) โดยใช้ขีดล่างสองตัวที่จุดเริ่มต้นและไม่เกินหนึ่งตัวต่อท้ายชื่อ (เช่น: "__spam")

นอกจากนี้เรายังสามารถกำหนดชื่อตามอำเภอใจให้กับอินสแตนซ์ของคลาสได้ ดูตัวอย่าง:

Class MyClass(object): common = 10 def __init__(self): self.myvariable = 3 def myfunction(self, arg1, arg2): return self.myvariable # นี่คือการสร้างอินสแตนซ์ของคลาส >>> classinstance = MyClass() >> > classinstance.myfunction(1, 2) 3 # ตัวแปรนี้ใช้ร่วมกันโดยทุกคลาส >>> classinstance2 = MyClass() >>> classinstance.common 10 >>> classinstance2.common 10 # สังเกตว่าเราใช้ชื่อคลาส # แทนอินสแตนซ์อย่างไร >>> MyClass.common = 30 >>> classinstance.common 30 >>> classinstance2.common 30 # สิ่งนี้จะไม่อัปเดตตัวแปรในคลาส # แต่จะผูกวัตถุใหม่กับชื่อตัวแปร # เก่าแทน >>> classinstance.common = 10 >>> classinstance.common 10 >>> classinstance2.common 30 >>> MyClass.common = 50 # สิ่งนี้ไม่ได้เปลี่ยนแปลงเพราะ "ทั่วไป" เป็น # ตอนนี้เป็นตัวแปรอินสแตนซ์ >>> classinstance.common 10 >>> classinstance2.common 50 # คลาสนี้สืบทอดมาจาก MyClass ตัวอย่าง # class ด้านบนสืบทอดมาจาก "object" ซึ่งทำให้ # เป็นสิ่งที่เรียกว่า "คลาสรูปแบบใหม่" # การสืบทอดหลายรายการถูกประกาศเป็น: # class OtherClass(MyClass1, MyClass2, MyClassN) class OtherClass(MyClass): # อาร์กิวเมนต์ "ตนเอง" จะถูกส่งต่อโดยอัตโนมัติ # และอ้างอิงถึงอินสแตนซ์ของคลาส ดังนั้นคุณสามารถตั้งค่า # ตัวแปรอินสแตนซ์ดังข้างต้น แต่จากภายใน class.def __init__(self, arg1): self.myvariable = 3 พิมพ์ arg1 >> > classinstance = OtherClass("hello") สวัสดี >>> classinstance.myfunction(1, 2) 3 # คลาสนี้ไม่มีสมาชิก .test แต่ # เราสามารถเพิ่มหนึ่งในอินสแตนซ์ได้ หมายเหตุ # นี่จะเป็นสมาชิกของ classinstance เท่านั้น >>> classinstance.test = 10 >>> classinstance.test 10

ข้อยกเว้นใน Python

ข้อยกเว้นใน Python ได้รับการจัดการในบล็อกการยกเว้น:

Def some_function(): ลอง: # หารด้วยศูนย์ทำให้เกิดข้อยกเว้น 10 / 0 ยกเว้น ZeroDivisionError: พิมพ์ "อ๊ะ ไม่ถูกต้อง" อื่น: # ข้อยกเว้นไม่ได้เกิดขึ้น เราสบายดี ผ่านในที่สุด: # สิ่งนี้จะดำเนินการหลังจากรันบล็อกโค้ด # และข้อยกเว้นทั้งหมดได้รับการจัดการ แม้ว่า # หากข้อยกเว้นใหม่ถูกยกขึ้นขณะจัดการ พิมพ์ "เราทำเสร็จแล้ว" >>> some_function() อ๊ะ ไม่ถูกต้อง เราทำเสร็จแล้ว

การนำเข้าโมดูลใน Python

ไลบรารีภายนอกจะใช้หลังจากอิมพอร์ตโดยใช้คีย์เวิร์ดการอิมพอร์ต คุณยังสามารถใช้จากการนำเข้าเพื่อนำเข้าแต่ละฟังก์ชันได้

นำเข้าแบบสุ่มจากเวลานำเข้านาฬิกา randomint = random.randint (1, 100) >>> พิมพ์ randomint 64

การทำงานกับไฟล์ใน Python

Python มีไลบรารี่จำนวนมากสำหรับการทำงานกับไฟล์ ตัวอย่างเช่น การทำให้เป็นอนุกรม (การแปลงข้อมูลเป็นสตริงด้วยไลบรารี pickle):

นำเข้า pickle mylist = ["This", "is", 4, 13327] # เปิดไฟล์ C:\\binary.dat เพื่อเขียน ตัวอักษร r ก่อนสตริงชื่อไฟล์ # ใช้เพื่อป้องกันไม่ให้แบ็กสแลชหลบหนี myfile = open(r"C:\\binary.dat", "w") pickle.dump(mylist, myfile) myfile.close() myfile = open(r"C:\\text.txt", "w" ) myfile.write("This is a sample string") myfile.close() myfile = open(r"C:\\text.txt") >>> print myfile.read() "This is a sample string" myfile .close() # เปิดไฟล์เพื่ออ่าน myfile = open(r"C:\\binary.dat") loadlist = pickle.load(myfile) myfile.close() >>> พิมพ์รายการโหลด ["This", "is", 4, 13327]

เบ็ดเตล็ด

  • เงื่อนไขสามารถติดกันได้ เช่น 1< a < 3 проверит, что a одновременно меньше 3 и больше 1.
  • คุณสามารถใช้ del เพื่อลบตัวแปรหรือองค์ประกอบในอาร์เรย์
  • รายการให้ความสามารถในการจัดการข้อมูลที่ทรงพลังมาก คุณสามารถเขียนนิพจน์โดยใช้ for ตามด้วย if หรือ for statement:
>>> lst1 = >>> lst2 = >>> พิมพ์ >>> พิมพ์ # ตรวจสอบว่าเงื่อนไขเป็นจริงสำหรับรายการใด ๆ # "any" คืนค่า จริง หากรายการใดในรายการเป็นจริง >>> any(]) True # เนื่องจาก 4 % 3 = 1 และ 1 เป็นจริง ดังนั้น any() # จะคืนค่า True #เช็คเงื่อนไขจริงกี่รายการ >>> ผลรวม (1 สำหรับฉันในถ้าฉัน == 4) 2 >>> del lst1 >>> พิมพ์ lst1 >>> del lst1
  • ตัวแปรโกลบอลถูกประกาศนอกฟังก์ชันและสามารถอ่านได้โดยไม่ต้องมีการประกาศพิเศษภายใน แต่ถ้าคุณต้องการเขียนออกมา คุณต้องประกาศตั้งแต่ตอนต้นของฟังก์ชันโดยใช้คีย์เวิร์ด "global" พิเศษ มิฉะนั้น Python จะกำหนดค่าใหม่ ไปยังตัวแปรท้องถิ่น:
number = 5 def myfunc(): # จะพิมพ์ 5. พิมพ์หมายเลข def anotherfunc(): # ทำให้เกิดข้อยกเว้นเนื่องจากตัวแปรไม่ได้ # ถูกผูกไว้ก่อนที่จะพิมพ์ Python รู้ว่ามันเป็นวัตถุ # จะถูกผูกไว้กับมันในภายหลังและสร้างวัตถุ # ในเครื่องใหม่แทนที่จะเข้าถึงวัตถุส่วนกลาง print number number = 3 def yetanotherfunc(): global number # สิ่งนี้จะเปลี่ยนโกลบอลได้อย่างถูกต้อง ตัวเลข = 3

วิธีการเรียนรู้ภาษาโปรแกรม Python

เอกสารนี้ไม่ได้อ้างว่าเป็นคู่มือที่ครอบคลุมสำหรับ Python ภาษาการเขียนโปรแกรม Python มีไลบรารีจำนวนมากและฟังก์ชันการทำงานต่างๆ ที่คุณจะได้รู้จักโดยทำงานกับภาษาต่อไปและศึกษาแหล่งข้อมูลเพิ่มเติม

หากข้อมูลข้างต้นไม่เพียงพอสำหรับคุณ - ตรวจสอบเนื้อหาเพิ่มเติมที่อธิบายภาษาการเขียนโปรแกรม Python - ซึ่งจะให้ข้อมูลเกี่ยวกับภาษาโดยละเอียดยิ่งขึ้น

เหนือสิ่งอื่นใด ฉันขอแนะนำ Learn Python The Hard Way และแน่นอน บทช่วยสอน Python 2 และ บทช่วยสอน Python 3

ขอบคุณมาก Stavros Korokithakis สำหรับบทช่วยสอนที่ยอดเยี่ยมของเขา "เรียนรู้ Python ใน 10 นาที"

หากคุณต้องการปรับปรุงบางสิ่งในเนื้อหานี้ - โปรดเขียนความคิดเห็น

ไวยากรณ์ภาษา Pythonคล้ายกับไวยากรณ์ของภาษาต่างๆ เช่น Perl, C และ Java แต่ในขณะเดียวกันก็มีความแตกต่างจากภาษาโปรแกรมเหล่านี้หลายประการ ในบทความนี้เราจะมาดูความจำเป็น พื้นฐานนี้ ภาษาโปรแกรม.

โปรแกรม Python แรก:

ก่อนอื่นควรสังเกตว่าเมื่อ Pythonคุณสามารถตั้งโปรแกรมในสองโหมด: เชิงโต้ตอบและ สคริปต์

โหมดการเขียนโปรแกรมแบบโต้ตอบ:

โดยไม่ส่งชื่อไฟล์เป็นอาร์กิวเมนต์ ไฟล์จะทำงาน ล่ามไพทอน:

ป้อนข้อความต่อไปนี้หลังจากบรรทัดพร้อมท์ Pythonและกด Enter:

>>> พิมพ์ "สวัสดี Python!"

หากคุณทำทุกอย่างถูกต้อง ล่ามจะออกบรรทัด:

หากคุณได้รับข้อผิดพลาด ตรวจสอบให้แน่ใจว่าคุณได้เขียนโค้ดใหม่อย่างถูกต้อง และคุณกำลังใช้ล่าม 2.x (สำหรับเวอร์ชัน 3.x คุณควรใช้คำสั่ง print ("Hello, Python"))

โหมดการเขียนโปรแกรมสคริปต์:

เรียกใช้ในบรรทัดคำสั่งหลามด้วยชื่อของไฟล์ (เรียกอีกอย่างว่าสคริปต์) เป็นพารามิเตอร์จะเริ่มรันโค้ดที่เขียนในไฟล์นี้ หลังจากดำเนินการสคริปต์เสร็จสิ้น ล่ามจะไม่ทำงานอีกครั้ง

มาสร้างโปรแกรมสคริปต์อย่างง่ายใน Python. เปิดตัวแก้ไขข้อความใด ๆ (Sublime, Notepad++, gedit...) สร้างไฟล์ในนั้นด้วยชื่อ test และนามสกุล .py (ไฟล์ทั้งหมดที่มีรหัสใน Pythonต้องมีนามสกุล .py) และเขียนโค้ดที่เราคุ้นเคยลงในไฟล์นี้แล้วบันทึกไฟล์:

พิมพ์ "สวัสดี Python!"

(สันนิษฐานว่า ล่ามไพทอนคุณได้ตั้งค่าไว้ในตัวแปร PATH นั่นคือคุณสามารถป้อน python ในไดเร็กทอรีใดก็ได้เพื่อเปิดใช้ล่าม)

หลังจากนั้นให้ป้อนบรรทัดต่อไปนี้ที่พรอมต์คำสั่งแล้วกด Enter:

ตัวระบุใน Python:

ตัวระบุใน Pythonเป็นชื่อที่ใช้เรียกตัวแปร ฟังก์ชัน คลาส โมดูล หรืออ็อบเจกต์อื่นๆ ตัวระบุต้องขึ้นต้นด้วยตัวอักษร (a ถึง Z) หรือขีดล่าง (_) ตามด้วยตัวอักษร ขีดล่าง และตัวเลข (0 ถึง 9) จำนวนเท่าใดก็ได้

ที่ Pythonไม่อนุญาตให้ใช้เครื่องหมายวรรคตอนหรืออักขระพิเศษ เช่น @, $ หรือ % เป็นตัวระบุ นอกจากนี้, Pythonตัวพิมพ์เล็กและตัวพิมพ์ใหญ่นั่นคือ แมวและ แมวพวกเขาเป็นสองชื่อที่แตกต่างกัน

Python มีแบบแผนต่อไปนี้สำหรับการตั้งชื่อตัวระบุ:

  • ชื่อชั้นเรียนขึ้นต้นด้วยตัวพิมพ์ใหญ่ ส่วนตัวระบุอื่นๆ ทั้งหมดจะขึ้นต้นด้วยตัวพิมพ์เล็ก
  • การใช้ขีดล่างเป็นอักขระตัวแรกของตัวระบุหมายความว่าตัวระบุที่กำหนดเป็นแบบส่วนตัว (ปลอดภัยจากการใช้งานภายนอกคลาส)
  • หากตัวระบุเริ่มต้นและลงท้ายด้วยขีดล่างสองตัว (เช่น __init__) แสดงว่าเป็นชื่อพิเศษที่กำหนดไว้ในภาษา

คำสงวน (คำหลัก) ใน Python:

ตารางนี้มีทั้งหมด คีย์เวิร์ด Python.

และ เอลฟ์ ถ้า พิมพ์
เช่น อื่น นำเข้า ยก
ยืนยัน ยกเว้น ใน กลับ
หยุดพัก ผู้บริหาร เป็น ลอง
ระดับ ในที่สุด แลมบ์ดา ในขณะที่
ดำเนินต่อ สำหรับ ไม่ ที่
def จาก หรือ ผลผลิต
เดล ทั่วโลก ผ่าน

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

ช่วยเหลือ("คำหลัก")

เส้นและเยื้อง:

หนึ่งในคุณสมบัติแรก Pythonสิ่งที่ดึงดูดสายตาของโปรแกรมเมอร์ที่เริ่มเรียนรู้ภาษาการเขียนโปรแกรมนี้คือ ไม่ใช้วงเล็บเพื่อระบุกลุ่มโค้ดแต่ละส่วน แทนพวกเขาใน Pythonใช้เครื่องหมายทวิภาคและการเยื้อง

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

ตัวอย่างเช่น บล็อกโค้ดนี้จะใช้งานได้ (แม้ว่าคุณจะไม่ควรเขียนแบบนี้):

ถ้า True: พิมพ์ "Hi" อื่น: พิมพ์ "Bye"

สิ่งนี้จะทำให้เกิดข้อผิดพลาด:

ถ้า True พิมพ์ "Hi" พิมพ์ "Bye"

ดังนั้นใน Pythonโค้ดหลายบรรทัดที่มีการเยื้องเดียวกันจะสร้างบล็อกโค้ดที่แยกจากกัน ด้วยระบบดังกล่าว ความสามารถในการอ่านโค้ดจึงเพิ่มขึ้นอย่างมาก และนิสัยในการเขียนมีความชัดเจนและมีโครงสร้าง

นิพจน์หลายบรรทัด:

นิพจน์ในภาษา Pythonมักจะลงท้ายด้วยขึ้นบรรทัดใหม่ อย่างไรก็ตาม ในภาษาการเขียนโปรแกรมนี้มีอักขระตัวแบ่งบรรทัดพิเศษ (\) ซึ่งบ่งชี้ว่าโค้ดไม่ได้ลงท้ายด้วยจุดสิ้นสุดของบรรทัด ตัวอย่างเช่น:

รวม = item1 + \item2 + \item3

นิพจน์ที่อยู่ในวงเล็บเหลี่ยม ((), วงเล็บปีกกา (( )) หรือวงเล็บกลม (()) ไม่จำเป็นต้องมีอักขระขึ้นบรรทัดใหม่ ตัวอย่างเช่น:

วัน = ["วันอาทิตย์", "วันจันทร์", "วันอังคาร", "วันพุธ", "วันพฤหัสบดี", "วันศุกร์", "วันเสาร์"]

คำพูดใน Python:

ที่ Pythonคุณสามารถใช้เครื่องหมายคำพูดเดี่ยว ("), คู่ ("") และสามเท่า ("" หรือ """) เพื่อแสดงประเภทข้อมูลสตริงได้ และสตริงต้องขึ้นต้นและลงท้ายด้วยเครื่องหมายคำพูดเดียวกัน สตริงที่มีโค้ดหลายบรรทัดต้องอยู่ในเครื่องหมายคำพูดสามตัว ตัวอย่างเช่น:

Name = "wasd" description = "บางข้อความ" ชีวประวัติ = """ ข้อความยาวสำหรับโค้ดสองสามบรรทัด """

มีคำถามหรือไม่?

รายงานการพิมพ์ผิด

ข้อความที่จะส่งถึงบรรณาธิการของเรา: