ภาษาไพธอนเบื้องต้น

- phyblas.hinaboshi.com

บทความนี้เขียนขึ้นเพื่อเป็นพื้นฐานเบื้องต้นสำหรับคนที่เริ่มศึกษาไพธอนโดยไม่มีพื้นฐานการเขียนโปรแกรมมาก่อน เนื้อหาได้จากการเรียบเรียงเนื้อหาจากเอกสารสอนของจุฬาฯ และเว็บไซต์ของญี่ปุ่น ระดับพื้นฐานบทที่ ๑: รู้จักกับภาษาไพธอนบทที่ ๒: การติดตั้งและเริ่มเขียนโปรแกรม ※ print บทที่ ๓: ตัวแปรและชนิดของข้อมูล ※ int float complex str bool type บทที่ ๔: ฟังก์ชันพื้นฐาน ※ input len บทที่ ๕: นิพจน์และการคำนวณ ※ + - * / // % ** pow abs บทที่ ๖: ความเป็นจริงเท็จและการตั้งเงื่อนไข ※ if elif else or and not == < > <= >= != บทที่ ๗: การทำซ้ำด้วย while ※ while break continue บทที่ ๘: ข้อมูลชนิดลำดับ ※ list tuple range append insert remove pop บทที่ ๙: การทำซ้ำด้วย for ※ for in บทที่ ๑๐: การแสดงผลตัวอักษร ※ \n \t \b \a %d %f %e %x %s บทที่ ๑๑: การจัดการกับสายอักขระ ※ split join splitlines lower upper strip lstrip rstrip find rfind index rindex count startswith endswith replace บทที่ ๑๒: การจัดการกับลิสต์ ※ sort sorted reverse reversed max min บทที่ ๑๓: เซ็ต ※ set add update remove discard issubset issuperset union intersection difference symmetric_difference บทที่ ๑๔: ดิกชันนารี ※ dict keys values items บทที่ ๑๕: การเรียกใช้มอดูล ※ from import as บทที่ ๑๖: ฟังก์ชันที่เกี่ยวข้องกับคณิตศาสตร์ ※ math ระดับเหนือกว่าพื้นฐานขึ้นมาหน่อยบทที่ ๑๗: การอ่านข้อมูลจากไฟล์ ※ open close read readlines readline seek tell with บทที่ ๑๘: การเขียนข้อมูลลงไฟล์ ※ write writelines shutil บทที่ ๑๙: การสร้างฟังก์ชัน ※ def return global บทที่ ๒๐: ฟังก์ชันเวียนเกิดบทที่ ๒๑: คำสั่งพิเศษบางตัวที่เกี่ยวข้องกับฟังก์ชัน ※ lambda map filter any all บทที่ ๒๒: การสร้างคลาส ※ class __init__ บทที่ ๒๓: การรับทอด ※ super บทที่ ๒๔: เมธอดและแอตทริบิวต์พิเศษของคลาส ※ __len__ __str__ __bool__ isinstance issubclass setattr getattr hasattr delattr บทที่ ๒๕: การจัดการกับข้อยกเว้น ※ raise try except ระดับกลางบทที่ ๒๖: อิเทอเรเตอร์และเจเนอเรเตอร์ ※ yield next บทที่ ๒๗: การสร้างคลาสของอิเทอเรเตอร์ ※ iter __iter__ __next__ __reversed__ บทที่ ๒๘: ฟังก์ชันบางส่วนที่เกี่ยวข้องกับอิเทอเรเตอร์ ※ zip enumerate itertools บทที่ ๒๙: การสร้างฟังก์ชันที่มีความซับซ้อนบทที่ ๓๐: รู้จักกับเดคอเรเตอร์ ※ @ บทที่ ๓๑: ทำความเข้าใจเดคอเรเตอร์มากยิ่งขึ้น ※ functools.wraps functools.update_wrapper บทที่ ๓๒: การตกแต่งคลาสด้วยเดคอเรเตอร์บทที่ ๓๓: เมธอดของคลาสและเมธอดสถิต ※ classmethod staticmethod บทที่ ๓๔: การสร้างมอดูล ※ imp.reload exec eval บทที่ ๓๕: การทำมอดูลเป็นแพ็กเกจบทที่ ๓๖: บทส่งท้าย

เนื้อหาเพิ่มเติม

⊟ [2015/12/17] ความแตกต่างระหว่าง python 2.x และ 3.x ⊟ [2015/12/18] range และ xrange ใน python 2.x และ 3.x ⊟ [2015/12/19] unicode และ ASCII ใน python 2.x และ 3.x ⊟ [2019/01/06] วิธีการติดตั้ง anaconda ใน linux ⊟ [2019/01/14] การใช้ pip เพื่อติดตั้งแพ็กเกจเสริมใน python ⊟ [2019/01/18] การใช้ conda เพื่อติดตั้งแพ็กเกจและสร้างสภาพแวดล้อมแบ่งแยก ⊟ [2019/01/21] การถอนการติดตั้ง anaconda ⊟ [2019/07/05] การใช้คำสั่ง python รันโปรแกรมในคอมมานด์ไลน์ ⊟ [2019/07/14] การใช้ f-string เพื่อจัดรูปแบบสายอักขระใน python

เกร็ดเล็กน้อย

⊟ [2016/04/30] สร้างแอตทริบิวต์ที่มีคุณสมบัติพิเศษในคลาสด้วย property ⊟ [2018/05/31] ข้อควรระวังเมื่อใช้ try และ except แล้วต้องการหยุดโปรแกรมกลางคัน ⊟ [2019/01/07] วิธีทำให้ import มอดูลที่ต้องการทุกครั้งเมื่อเริ่มโปรแกรม ⊟ [2019/01/08] วิธีการรันไพธอนโดยตรงใน unix shell ใน mac และ linux ⊟ [2019/01/12] ข้อควรระวังเมื่อมีการแก้ไขลิสต์ขณะใช้ for อาจทำให้เกิดการวนซ้ำไม่สิ้นสุดได้ ⊟ [2019/06/24] ทำความเข้าใจ and และ or ให้มากขึ้น ⊟ [2019/07/13] เปรียบเทียบระหว่างการใช้ %, ใช้ format และใช้ f-string ใน python

แนะนำมอดูลหลัก

⊟ [2016/05/08] ฟังก์ชันที่เกี่ยวข้องกับการสุ่ม (ใช้มอดูล random) ⊟ [2016/06/08] การจัดการกับจำนวนเชิงซ้อน (ใช้มอดูล cmath) ⊟ [2016/06/10] การวัดเวลาในการทำงานของโปรแกรมด้วยมอดูล time ⊟ [2016/06/21] การจัดการวันเวลาด้วยมอดูล datetime ⊟ [2016/09/22] การใช้เรกูลาร์เอ็กซ์เพรชชัน (regex) ด้วยมอดูล re ⊟ [2018/03/17] การใช้ multiprocessing เพื่อให้โปรแกรมทำงานหลายงานพร้อมกัน ⊟ [2018/03/20] การใช้ requests หรือ urllib เพื่อล้วงข้อมูลจากเว็บ ⊟ [2019/01/10] การใช้ glob เพื่อค้นหาไฟล์ที่ต้องการ ⊟ [2019/04/21] การใช้ pickle เพื่อบันทึกและอ่านออบเจ็กต์ ⊟ [2019/04/27] การอ่านเขียนไฟล์ json (ใช้มอดูล json) ⊟ [2019/07/06] การใช้ collections.OrderedDict ⊟ [2019/08/10] การอ่านเขียนไฟล์ csv (ใช้มอดูล csv) ⊟ [2020/02/18] การจัดการ xml ด้วย xml.etree.ElementTree ⊟ [2020/03/04] การใช้ os.path จัดการพาธและข้อมูลไฟล์ ⊟ [2020/03/06] การใช้ subprocess สั่งคำสั่งในคอมมานด์ไลน์ ⊟ [2020/03/07] การใช้ subprocess.Popen สั่งคำสั่งในคอมมานด์ไลน์ไปในขณะรันโปรแกรม ⊟ [2020/03/15] การใช้ asyncio เพื่อทำให้โปรแกรมมีการถ่ายโอนแบบไม่ประสานเวลา ⊟ [2020/03/19] การจัดการไฟล์ด้วย os และ shutil ⊟ [2020/03/22] การปรับแต่งการรันไพธอนผ่านคอมมานด์ไลน์โดยใช้มอดูล argparse ⊟ [2020/04/13] การใช้ collections.Counter ⊟ [2020/05/19] การจัดการกับฐานข้อมูล sqlite3 (ใช้มอดูล sqlite3)

แนะนำมอดูลเสริม

⊟ [2017/01/01] สร้างบอตด้วยมอดูล pyautogui ⊟ [2017/01/24] แปลงภาษาญี่ปุ่นเป็นโรมาจิด้วย pykakasi ⊟ [2017/02/02] แปลงอักษรไปมาระหว่างเต็มตัวและครึ่งตัว (ใช้มอดูล mojimoji) ⊟ [2018/03/23] การสกัดข้อมูลจากหน้าเว็บด้วย beautifulsoup ⊟ [2018/03/26] ใช้ opencv (cv2) เพื่อค้นหาใบหน้าอนิเมะ ⊟ [2018/04/07] จัดการข้อมูล exif ในไฟล์รูปภาพด้วย PIL และ piexif ⊟ [2018/06/03] สร้างหรือจัดการภาพ .gif ด้วย imageio ⊟ [2020/03/11] แก้ปัญหา asyncio ใน spyder ด้วย nest_asyncio ⊟ [2020/03/18] การใช้ aiohttp เพื่อล้วงข้อมูลจากเว็บด้วยการถ่ายโอนแบบไม่ประสานเวลา ⊟ [2020/05/17] responder เฟรมเวิร์กเล็กๆใช้งานง่ายสำหรับสร้างเว็บไซต์ ⊟ [2020/05/29] การจัดการฐานข้อมูล SQL ในแบบออบเจ็กต์ด้วย sqlalchemy สำหรับเรื่องต่อไปนี้เป็นหัวข้อใหญ่ แยกสารบัญไว้ต่างหาก

>> สารบัญ numpy & matplotlib

>> สารบัญ pandas

>> สารบัญ maya

>> สารบัญโครงข่ายประสาทเทียม

>> สารบัญการเรียนรู้ของเครื่อง

>> สารบัญ pytorch

จิปาถะ

⊟ [2017/02/23] สร้างแฟร็กทัลอย่างง่าย ⊟ [2018/03/29] ค้นหาภาพใบหน้าอนิเมะจากเว็บ safebooru ⊟ [2018/07/14] สร้างเส้นโค้งฮิลแบร์ทสองมิติ

อื่นๆ

⊟ [2016/06/01] ฝึกภาษา python กับเกม code girl collection

Last updated