---
description: '- phyblas.hinaboshi.com'
---

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

บทความนี้เขียนขึ้นเพื่อเป็นพื้นฐานเบื้องต้นสำหรับคนที่เริ่มศึกษาไพธอนโดยไม่มีพื้นฐานการเขียนโปรแกรมมาก่อน\
เนื้อหาได้จากการเรียบเรียงเนื้อหาจากเอกสารสอนของจุฬาฯ และเว็บไซต์ของญี่ปุ่น\
\
ระดับพื้นฐาน[บทที่ ๑: รู้จักกับภาษาไพธอน](https://phyblas.hinaboshi.com/tsuchinoko01)\
※\
[บทที่ ๒: การติดตั้งและเริ่มเขียนโปรแกรม](https://phyblas.hinaboshi.com/tsuchinoko02)\
※ print\
[บทที่ ๓: ตัวแปรและชนิดของข้อมูล](https://phyblas.hinaboshi.com/tsuchinoko03)\
※ int float complex str bool type\
[บทที่ ๔: ฟังก์ชันพื้นฐาน](https://phyblas.hinaboshi.com/tsuchinoko04)\
※ input len\
[บทที่ ๕: นิพจน์และการคำนวณ](https://phyblas.hinaboshi.com/tsuchinoko05)\
※ + - \* / // % \*\* pow abs\
[บทที่ ๖: ความเป็นจริงเท็จและการตั้งเงื่อนไข](https://phyblas.hinaboshi.com/tsuchinoko06)\
※ if elif else or and not == < > <= >= !=\
[บทที่ ๗: การทำซ้ำด้วย while](https://phyblas.hinaboshi.com/tsuchinoko07)\
※ while break continue\
[บทที่ ๘: ข้อมูลชนิดลำดับ](https://phyblas.hinaboshi.com/tsuchinoko08)\
※ list tuple range append insert remove pop\
[บทที่ ๙: การทำซ้ำด้วย for](https://phyblas.hinaboshi.com/tsuchinoko09)\
※ for in\
[บทที่ ๑๐: การแสดงผลตัวอักษร](https://phyblas.hinaboshi.com/tsuchinoko10)\
※ \n \t \b \a %d %f %e %x %s\
[บทที่ ๑๑: การจัดการกับสายอักขระ](https://phyblas.hinaboshi.com/tsuchinoko11)\
※ split join splitlines lower upper strip lstrip rstrip find rfind index rindex count startswith endswith replace\
[บทที่ ๑๒: การจัดการกับลิสต์](https://phyblas.hinaboshi.com/tsuchinoko12)\
※ sort sorted reverse reversed max min\
[บทที่ ๑๓: เซ็ต](https://phyblas.hinaboshi.com/tsuchinoko13)\
※ set add update remove discard issubset issuperset union intersection difference symmetric\_difference\
[บทที่ ๑๔: ดิกชันนารี](https://phyblas.hinaboshi.com/tsuchinoko14)\
※ dict keys values items\
[บทที่ ๑๕: การเรียกใช้มอดูล](https://phyblas.hinaboshi.com/tsuchinoko15)\
※ from import as\
[บทที่ ๑๖: ฟังก์ชันที่เกี่ยวข้องกับคณิตศาสตร์](https://phyblas.hinaboshi.com/tsuchinoko16)\
※ math\
\
ระดับเหนือกว่าพื้นฐานขึ้นมาหน่อย[บทที่ ๑๗: การอ่านข้อมูลจากไฟล์](https://phyblas.hinaboshi.com/tsuchinoko17)\
※ open close read readlines readline seek tell with\
[บทที่ ๑๘: การเขียนข้อมูลลงไฟล์](https://phyblas.hinaboshi.com/tsuchinoko18)\
※ write writelines shutil\
[บทที่ ๑๙: การสร้างฟังก์ชัน](https://phyblas.hinaboshi.com/tsuchinoko19)\
※ def return global\
[บทที่ ๒๐: ฟังก์ชันเวียนเกิด](https://phyblas.hinaboshi.com/tsuchinoko20)\
※\
[บทที่ ๒๑: คำสั่งพิเศษบางตัวที่เกี่ยวข้องกับฟังก์ชัน](https://phyblas.hinaboshi.com/tsuchinoko21)\
※ lambda map filter any all\
[บทที่ ๒๒: การสร้างคลาส](https://phyblas.hinaboshi.com/tsuchinoko22)\
※ class \_\_init\_\_\
[บทที่ ๒๓: การรับทอด](https://phyblas.hinaboshi.com/tsuchinoko23)\
※ super\
[บทที่ ๒๔: เมธอดและแอตทริบิวต์พิเศษของคลาส](https://phyblas.hinaboshi.com/tsuchinoko24)\
※ \_\_len\_\_ \_\_str\_\_ \_\_bool\_\_ isinstance issubclass setattr getattr hasattr delattr\
[บทที่ ๒๕: การจัดการกับข้อยกเว้น](https://phyblas.hinaboshi.com/tsuchinoko25)\
※ raise try except\
\
ระดับกลาง[บทที่ ๒๖: อิเทอเรเตอร์และเจเนอเรเตอร์](https://phyblas.hinaboshi.com/tsuchinoko26)\
※ yield next\
[บทที่ ๒๗: การสร้างคลาสของอิเทอเรเตอร์](https://phyblas.hinaboshi.com/tsuchinoko27)\
※ iter \_\_iter\_\_ \_\_next\_\_ \_\_reversed\_\_\
[บทที่ ๒๘: ฟังก์ชันบางส่วนที่เกี่ยวข้องกับอิเทอเรเตอร์](https://phyblas.hinaboshi.com/tsuchinoko28)\
※ zip enumerate itertools\
[บทที่ ๒๙: การสร้างฟังก์ชันที่มีความซับซ้อน](https://phyblas.hinaboshi.com/tsuchinoko29)\
※\
[บทที่ ๓๐: รู้จักกับเดคอเรเตอร์](https://phyblas.hinaboshi.com/tsuchinoko30)\
※ @\
[บทที่ ๓๑: ทำความเข้าใจเดคอเรเตอร์มากยิ่งขึ้น](https://phyblas.hinaboshi.com/tsuchinoko31)\
※ functools.wraps functools.update\_wrapper\
[บทที่ ๓๒: การตกแต่งคลาสด้วยเดคอเรเตอร์](https://phyblas.hinaboshi.com/tsuchinoko32)\
※\
[บทที่ ๓๓: เมธอดของคลาสและเมธอดสถิต](https://phyblas.hinaboshi.com/tsuchinoko33)\
※ classmethod staticmethod\
[บทที่ ๓๔: การสร้างมอดูล](https://phyblas.hinaboshi.com/tsuchinoko34)\
※ imp.reload exec eval\
[บทที่ ๓๕: การทำมอดูลเป็นแพ็กเกจ](https://phyblas.hinaboshi.com/tsuchinoko35)\
※\
[บทที่ ๓๖: บทส่งท้าย](https://phyblas.hinaboshi.com/tsuchinoko36)\
※\
\


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

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


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

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


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

⊟ \[2016/05/08] [ฟังก์ชันที่เกี่ยวข้องกับการสุ่ม (ใช้มอดูล **random**)](https://phyblas.hinaboshi.com/20160508)\
⊟ \[2016/06/08] [การจัดการกับจำนวนเชิงซ้อน (ใช้มอดูล **cmath**)](https://phyblas.hinaboshi.com/20160608)\
⊟ \[2016/06/10] [การวัดเวลาในการทำงานของโปรแกรมด้วยมอดูล **time**](https://phyblas.hinaboshi.com/20160610)\
⊟ \[2016/06/21] [การจัดการวันเวลาด้วยมอดูล **datetime**](https://phyblas.hinaboshi.com/20160621)\
⊟ \[2016/09/22] [การใช้เรกูลาร์เอ็กซ์เพรชชัน (regex) ด้วยมอดูล **re**](https://phyblas.hinaboshi.com/20160922)\
⊟ \[2018/03/17] [การใช้ **multiprocessing** เพื่อให้โปรแกรมทำงานหลายงานพร้อมกัน](https://phyblas.hinaboshi.com/20180317)\
⊟ \[2018/03/20] [การใช้ **requests** หรือ **urllib** เพื่อล้วงข้อมูลจากเว็บ](https://phyblas.hinaboshi.com/20180320)\
⊟ \[2019/01/10] [การใช้ **glob** เพื่อค้นหาไฟล์ที่ต้องการ](https://phyblas.hinaboshi.com/20190110)\
⊟ \[2019/04/21] [การใช้ **pickle** เพื่อบันทึกและอ่านออบเจ็กต์](https://phyblas.hinaboshi.com/20190421)\
⊟ \[2019/04/27] [การอ่านเขียนไฟล์ json (ใช้มอดูล **json**)](https://phyblas.hinaboshi.com/20190427)\
⊟ \[2019/07/06] [การใช้ **collections.OrderedDict**](https://phyblas.hinaboshi.com/20190706)\
⊟ \[2019/08/10] [การอ่านเขียนไฟล์ csv (ใช้มอดูล **csv**)](https://phyblas.hinaboshi.com/20190810)\
⊟ \[2020/02/18] [การจัดการ xml ด้วย **xml.etree.ElementTree**](https://phyblas.hinaboshi.com/20200218)\
⊟ \[2020/03/04] [การใช้ **os.path** จัดการพาธและข้อมูลไฟล์](https://phyblas.hinaboshi.com/20200304)\
⊟ \[2020/03/06] [การใช้ **subprocess** สั่งคำสั่งในคอมมานด์ไลน์](https://phyblas.hinaboshi.com/20200306)\
⊟ \[2020/03/07] [การใช้ **subprocess.Popen** สั่งคำสั่งในคอมมานด์ไลน์ไปในขณะรันโปรแกรม](https://phyblas.hinaboshi.com/20200307)\
⊟ \[2020/03/15] [การใช้ **asyncio** เพื่อทำให้โปรแกรมมีการถ่ายโอนแบบไม่ประสานเวลา](https://phyblas.hinaboshi.com/20200315)\
⊟ \[2020/03/19] [การจัดการไฟล์ด้วย **os** และ **shutil**](https://phyblas.hinaboshi.com/20200319)\
⊟ \[2020/03/22] [การปรับแต่งการรันไพธอนผ่านคอมมานด์ไลน์โดยใช้มอดูล **argparse**](https://phyblas.hinaboshi.com/20200322)\
⊟ \[2020/04/13] [การใช้ **collections.Counter**](https://phyblas.hinaboshi.com/20200413)\
⊟ \[2020/05/19] [การจัดการกับฐานข้อมูล sqlite3 (ใช้มอดูล **sqlite3**)](https://phyblas.hinaboshi.com/20200519)\


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

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


**>> สารบัญ numpy & matplotlib**

**>> สารบัญ pandas**

**>> สารบัญ maya**

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

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

**>> สารบัญ pytorch**

#### จิปาถะ

⊟ \[2017/02/23] [สร้างแฟร็กทัลอย่างง่าย](https://phyblas.hinaboshi.com/20170223)\
⊟ \[2018/03/29] [ค้นหาภาพใบหน้าอนิเมะจากเว็บ safebooru](https://phyblas.hinaboshi.com/20180329)\
⊟ \[2018/07/14] [สร้างเส้นโค้งฮิลแบร์ทสองมิติ](https://phyblas.hinaboshi.com/20180714)\
\


#### อื่นๆ

⊟ \[2016/06/01] [ฝึกภาษา python กับเกม code girl collection](https://phyblas.hinaboshi.com/20160601)\
\


{% hint style="success" %}
Reference : [https://phyblas.hinaboshi.com/saraban/python](https://phyblas.hinaboshi.com/saraban/python)
{% endhint %}
