Python Data Types

เรียนรู้เพิ่มเติมจากหลักสูตรเต็มรูปแบบ
The Modern Python 3 Bootcamp
A Unique Interactive Python Experience With Nearly 200 Exercises and Quizzes
วิดีโอออนดีมานด์ความยาว 29:23:23 • อัพเดทเมื่อ สิงหาคม 2025
Learn all the coding fundamentals in Python!
Work through nearly 200 exercises and quizzes!
Learn in-depth about Python 3 features
Use Python to create an automated web crawler and scraper
Make complex HTTP requests to APIs using Python
Master the quirks of Python style and conventions
Really Really Understand Object Oriented programming in Python
Learn testing and TDD (Test Driven Development) with Python
Write your own Decorators and higher order functions
Write your own Generators and other Iterators
Confidently work with Lambdas!
Master tricky topics like Multiple Inheritance and Polymorphism
Build games with Python
Build larger projects that span across multiple files
Work with all the Python data structures: lists, dictionaries, sets, tuples, and more!
Become an expert at list and dictionary comprehensions
Master built-in python functions like zip and filter
Handle errors and debug code
Write your own custom modules
Work with files, including CSV
ไทย [อัตโนมัติ]
ไม่เป็นไร. ดังนั้นเราจึงทำงานกับตัวเลขที่น่าเบื่อ และเราได้ทำงานกับหนึ่งใน 99 และ 73 เลขเด็ดๆทั้งนั้น โดยเฉพาะ 73 เป็นจำนวนที่มากแต่จำกัดมาก ดังนั้นเราอาจใช้ตัวเลขเพื่อทำสิ่งต่างๆ เช่น ไม่รู้สิ เก็บราคาของสิ่งที่เป็นกรณีใช้งานทั่วไปจริงๆ หรือปริมาณที่เรามีในสต็อก เหมือนถ้าเราเป็นอเมซอน เรากำลังขายเนยถั่ว เราอยากจะบอกว่าเนยถั่วนี้ราคา $3. 49. ดังนั้นราคาคือ 349 และปริมาณคือ 900 ดีมาก มีประโยชน์ แต่แน่นอนว่า ยังมีอีกหลายสิ่งที่เราสนใจไม่ใช่ตัวเลข เนยถั่วชื่ออะไรคะ แล้ววันที่สร้างล่ะ? เราสามารถใช้ตัวเลขในการออกเดทได้ แต่มีวิธีอื่นที่ดีกว่านี้ไหม? แล้วคำอธิบายล่ะ? แล้วภาพล่ะ? มีสิ่งอื่น ๆ ทั้งหมดที่เราจำเป็นต้องใส่ใจ แต่ท้ายที่สุด ทุกสิ่งที่เราทำในตัวแปร จะต้องเป็นประเภทข้อมูลที่ถูกต้องใน Python ดังนั้นเราจึงไม่สามารถทำอะไรได้ เราต้องปฏิบัติตามกฎ เป็นเรื่องของการเขียนโปรแกรม ดังนั้นสำหรับ Python มีประเภทข้อมูลมากมายที่เรานำออกจากกล่อง สิ่งที่ Python บอกว่า โอเค นี่คือสิ่งที่คุณมีจำนวนเต็ม เราเคยเห็นสิ่งเหล่านั้นแล้ว คุณมีทศนิยมที่เหมือนตัวเลขหรือเหมือนจำนวนเต็ม แต่มีจุดทศนิยม แต่มีอย่างอื่น และบางคนก็อยู่ที่นี่ในตารางนี้ แต่อยากชี้แจงว่าไม่ครอบคลุม สิ่งเหล่านี้น่าจะเป็นสิ่งที่ใช้กันมากที่สุดอย่างแน่นอน แต่เราจะเรียนรู้มากขึ้นเมื่อเราไป ดังนั้นฉันแค่ต้องการให้แน่ใจว่าคุณไม่ได้เดินออกไปโดยคิดว่ามีเพียงห้าประเภทเท่านั้น ตัวอย่างเช่น ทุ่นลอยที่เราใช้งานอยู่ไม่ได้แสดงอยู่ที่นี่ แต่เป็นประเภทข้อมูล ในวิดีโอนี้ ผมจะพูดถึงสิ่งเหล่านี้อย่างรวดเร็ว ดังนั้นอย่ารู้สึกว่าคุณต้องยึดติดกับทุกคำเพราะสิ่งต่าง ๆ เช่นรายการและพจนานุกรมของ Dick จะมีส่วนของตัวเองทั้งหมดสำหรับพวกเขา ไม่เป็นไร. เรามาเริ่มกันด้วยการพูดถึงบูลีนกัน เป็นคำแปลก ๆ ฟังดูแปลก ๆ หากคุณไม่เคยได้ยินมาก่อน แต่เป็นเพียงค่าใช่หรือไม่ใช่ จริงหรือเท็จ เปิดหรือปิด ลองคิดถึงเลขฐานสองศูนย์กับหนึ่ง นั่นคือสิ่งที่คอมพิวเตอร์ของเราสร้างขึ้นบนวงจรเล็กๆ เหล่านี้ เศษแสงที่กะพริบหรือไม่กะพริบ ใช่หรือไม่ใช่ คุณสามารถใช้ตัวเลขเพื่อเก็บค่าใช่หรือไม่ใช่ เราสามารถพูดได้ว่า โอเค ถ้าเป็นอันดับหนึ่ง แสดงว่าเปิดอยู่ และถ้าเป็นข้อ 2 แสดงว่าปิดอยู่หรือว่าจริงหรือเท็จ แต่ถ้าทั้งหมดที่เราต้องการเป็นจริงหรือเท็จ ก็ไม่มีเหตุผลที่จะจัดสรรพื้นที่ทั้งหมดสำหรับจำนวนเต็ม เพราะโปรดจำไว้ว่า จำนวนเต็มอาจยาวมาก และต้องจัดสรรพื้นที่จำนวนนั้นในหน่วยความจำ แต่ถ้าเรากำลังบอกว่านี่คือค่าใช่หรือไม่ใช่ นั่นจะเป็นการเพิ่มพื้นที่ในการจัดเก็บเพียงเล็กน้อยเท่านั้น จริงหรือเท็จ? นั่นไม่ใช่เหตุผลเดียวที่มีประโยชน์ เราจะมีเนื้อหาทั้งหมดเกี่ยวกับ Boolean Logic ในภายหลัง แต่ให้ฉันแสดงตัวอย่างให้คุณดู ที่นี่ฉันอยู่ในเทอร์มินัลของฉันใน Python สาม ดังนั้นฉันสามารถพิมพ์คำว่า true แบบนี้ได้ มันต้องมีตัวพิมพ์ใหญ่ T ยังไงก็ตาม หรือ F ตัวพิมพ์ใหญ่เป็นเท็จ นั่นเป็นวิธีที่ Python รู้ว่ามันเป็นบูลีน ฉันสามารถพิมพ์มันเหมือนกับว่าฉันสามารถพิมพ์เก้า แปด เก้าแล้วได้ค่าที่ส่งคืนกลับมา แต่ฉันสามารถบันทึกมันลงในตัวแปรได้เช่นกัน เพื่อที่ฉันจะได้ทำอะไรบางอย่างเช่น active และตั้งค่าให้เท่ากับ true และผมมองว่ามีการใช้งานอยู่ และผมได้รับ True หรืออาจมีตัวแปรที่เรียกว่า game over และผมสามารถให้ game over start เป็นเท็จได้ ดังนั้น นี่เป็นวิธีมาตรฐานในการเขียนเกมอย่าง tic tac toe หรือเกมใดๆ ที่เกมดำเนินไปจนกว่าคุณจะแพ้หรือจนกว่าคุณจะตายหรือจนกว่าจะมีใครชนะ เราสามารถกำหนดให้เกมโอเวอร์เป็นเท็จได้ และเมื่อสิ้นสุดเกม เราตั้งค่าให้เป็นจริงและเกมจบลง เห็นได้ชัดว่ามีเหตุผลมากมายที่อยู่ระหว่างสองสิ่งนี้ สิ่งที่ผมต้องชี้ให้เห็นคือ เราไม่สามารถทำ t ตัวพิมพ์เล็กนี้ได้ เพราะมันไม่ใช่บูลีนอีกต่อไป ดังนั้น Python รู้จักมันโดยอิงจาก F ตัวพิมพ์ใหญ่นั้น มันเป็นสิ่งพิเศษ เป็นแนวคิดพิเศษที่สงวนไว้สำหรับเท็จและสำหรับความจริง ถ้าฉันทำสิ่งนี้ มันจะบอกฉันว่า เฮ้ ไม่ได้กำหนดความจริงไว้ ฉันไม่รู้ว่าคุณกำลังพูดถึงอะไร ตัวพิมพ์ใหญ่สำคัญมาก ดังนั้นฉันรู้ว่ามันดูงี่เง่า ณ จุดนี้ ค่าบูลีน แต่มันมีประโยชน์มาก และไม่ใช่แค่วิธีที่สั้นกว่าหรือเป็นวิธีที่กะทัดรัดกว่าในหน่วยความจำเพื่อเก็บค่าใช่หรือไม่ใช่ มีการดำเนินการหลายอย่างที่เราได้ทำงานกับบูลีนที่เราจะได้เห็นในภายหลัง โอเค ต่อไปเราจะพูดถึงสตริง สตริงที่เราจะอุทิศส่วนที่เหลือของส่วนนี้ให้ แต่แนวคิดก็คือ พวกมันเป็นเพียงอักขระเท่านั้น อาจเป็นตัวเลข แต่หลายครั้งที่มันเป็นคำ ตัวอักษร และสัญลักษณ์ โดยทั่วไปอักขระ Unicode ใดๆ ก็ตาม ดังนั้นมันจึงอยู่ระหว่างเครื่องหมายคำพูด เดี่ยวหรือคู่ ซึ่งเราจะพูดถึงในภายหลัง แต่อยู่ในเครื่องหมายคำพูด อาจเป็นชื่อของฉัน โคลท์ หรืออักษรจีนบางตัว หรืออาจเป็นเพียงตัวเลขสองภายในเครื่องหมายคำพูดที่ทำให้เป็นสตริง ไม่ใช่ตัวเลข นี่คือตัวอย่าง เรียกมันว่าสตริง ผมตั้งให้มันเท่ากับเลขแปดได้ และถ้าฉันดูสตริงบางอัน จำไว้ว่าเรามีสิ่งนี้ประเภทหนึ่ง ลองพิมพ์สตริงดู มันบอกว่า เฮ้ มันคือสตริง str กับการทำประเภทแปดเองเป็น int ดังนั้นฉันจึงสามารถทำสตริงที่เท่ากับได้ และแทนที่จะเป็นคำพูด ฉันจะทักทาย ฉันเป็นสตริง และฉันจะใส่เครื่องหมายอัศเจรีย์เพื่อแสดงให้คุณเห็น ไม่ใช่แค่ตัวเลขและตัวอักษร แต่เป็นอักขระ Unicode ที่ถูกต้อง และตอนนี้ฉันดูที่สตริงและเราได้มันกลับมา สตริงดังนั้น ฉันจะไม่เสียเวลามากเกินไปในวิดีโอนี้เพราะเราจะใช้เวลาส่วนใหญ่กับพวกเขาในส่วนนี้ มีประโยชน์มาก ดังนั้น นี่คือวิธีที่คุณอาจจะเก็บสิ่งต่างๆ เช่น ชื่อของสินค้าในร้านค้าของคุณ เช่น กระปุกเนยถั่วกรุบกรอบ ถึงแม้ว่าเนื้อเนียนและเนื้อครีมจะดีกว่าอย่างไม่มีข้อโต้แย้ง เราสามารถเก็บมันไว้ด้วยเชือก เอาล่ะ สองอันสุดท้ายที่ฉันจะต้องผ่านด้วยความเร็วสูง เพราะอย่างที่ฉันพูด พวกเขาแต่ละคนมีส่วนของตัวเอง แต่สิ่งเหล่านี้เป็นประเภทข้อมูลขั้นสูง คล้ายกับที่พัฒนาขึ้น พวกมันเป็นระดับที่สูงขึ้นในการจัดเก็บข้อมูลประเภทอื่น ๆ ไว้ข้างใน นี่คือสิ่งที่เรียกว่าโครงสร้างข้อมูล อันแรกเรียกว่า list และเป็นลำดับของค่า นี่คือตัวอย่างที่หนึ่ง สอง และสาม หรือสตริง A, B และ C ซึ่งเป็นตัวอย่างที่งี่เง่า แต่แนวคิดก็คือ มันต้องสั้นถึงจะพอดีกับตารางนี้ แต่แนวคิดก็คือ คุณสามารถเก็บข้อมูลไว้ในรายการได้และมีคำสั่ง ดังนั้นบางทีเราอาจมีรายการรอในร้านของฉัน ฉันขายเนยถั่วหมดแล้ว มันอร่อย. เนยถั่วทำเองที่บ้านฉัน ฉันเดาว่าด้วยถั่วลิสงฉันไม่เติบโต ผมมีรายชื่อผู้สนใจ ฉันต้องการคำสั่งให้ไป ถูกต้อง. ฉันไม่เพียงแค่ต้องการมีตัวแปรสำหรับแต่ละคน ฉันต้องการให้พวกเขาจัดกลุ่มเข้าด้วยกันและใครบางคนเป็นคนแรก ดังนั้นอะไรก็ตามที่อยู่ในรายการก่อน โอเค ถ้าอย่างนั้นเราก็มีพจนานุกรมและพจนานุกรมต่างกันนิดหน่อย งานของเขา. ไม่มีคำสั่งอะไร อย่างแรกเลย แต่ที่สำคัญกว่านั้น เรามีคู่ของค่าที่สอดคล้องกันเก็บไว้ด้วยกัน นี่คือตัวอย่างที่เราตั้งชื่อแรกเป็นลัทธิ แล้วนามสกุลตั้งเป็นเหล็ก ดังนั้น แทนที่จะมีตัวแปรแยกกันสองตัว เราสามารถรวมมันเข้าด้วยกันโดยใช้พจนานุกรม ซึ่งวงเล็บปีกกาเหล่านี้มีความหมาย เช่นเดียวกับวงเล็บเหล่านี้ที่นี่แสดงถึงรายการ ถ้านั่นไม่สมเหตุสมผลสำหรับคุณ ฉันจะไม่ทำอย่างนั้นหรอก เราจะใช้เวลามากในการทำงานกับสิ่งเหล่านี้ เป็นเรื่องธรรมดาจริงๆ แต่ข้อแตกต่างที่สำคัญ อีกอย่างก็คือ สิ่งเหล่านี้เป็นประเภทข้อมูลพื้นฐานมากกว่า บูลีนจำนวนเต็ม สตริง float จากนั้นเรามีโครงสร้างข้อมูล รายการ และพจนานุกรมที่เก็บข้อมูลบิตอื่นๆ ไว้จริงๆ แค่นั้นแหละสำหรับตอนนี้ มีข้อมูลหลายประเภท สิ่งนี้ไม่ครอบคลุม แต่จริงๆ แล้วเราจะเน้นที่สตริงสำหรับวิดีโอสองสามรายการถัดไป