10 Magic Commands ใน Python ที่ช่วยเพิ่ม Productivity ของคุณ

18-ก.ย.-20

คัมภีร์เทพ IT

นอกจาก Python จะเป็นภาษา Programming ที่ใช้งานได้หลากหลายแล้ว ยังมีความยืดหยุ่นสูงเมื่อนำไป Integrate กับ Features ใหม่ ๆ อีกด้วย ด้วยเหตุนี้ Commands ที่จะกล่าวถึงในบทความนี้จึงเป็นหนึ่งใน Feature สำคัญที่เพิ่มเข้าใน Python Shell โดยในบทความนี้จะมาแนะนำ 10 Magic Commands ใน Python ที่ช่วยเพิ่ม Productivity ของคุณ

Magic Commands ใน Python คืออะไรกันแน่

Magic Commands เป็นคำสั่งพิเศษที่ถูกเพิ่มเข้ามาใน Python Code ปกติ เพื่อเพิ่มประสิทธิภาพและสั่งงานบางอย่าง ซึ่งมีอยู่ใน IPython Kernel โดย Magic Commands เหล่านี้มักนำหน้าด้วยเครื่องหมาย %

Commands เหล่านี้ โดยทั่วไปจะถูกเพิ่มเข้ามาเพื่อแก้ปัญหาทั่วไปที่เรามักจะเจอและยังมีทางลัดบางอย่างในการใช้งานสำหรับ Code ของคุณ

Magic command มีการใช้งานอยู่ 2 รูปแบบ คือ นำหน้าด้วย % และนำหน้าด้วย %% โดยที่ % จะนำหน้าคำสั่งที่ทำงานในระดับบรรทัด ส่วน %% จะนำหน้าคำสั่งที่ทำงานในระดับ Cell

และนี่ก็เป็น 10 Magic Commands ที่ถูกนำไปใช้งานในเรื่องต่าง ๆ โดยพวกมันจะถูก Execute ใน Jupyter Notebook

1. Running External File

ในขณะที่เราพยายามที่จะ Run บาง Snippets ใน Jupyter Notebook เราปรารถนาที่จะ Run External Code File ที่อยู่ในบาง Directory

%run จะช่วยให้คุณสามารถ Run External Python File ได้จาก Jupyter Notebook

จาก myCode.py File ที่อยู่ด้านบน ประกอบไปด้วย Script ง่าย ๆ ที่จะแสดง Output จาก Statement ดังกล่าว

หากเราระบุ ชื่อ File รวมทั้ง Path ไปยังคำสั่ง %run มันจะทำการ Execute File

หมายเหตุ: %run ยังอนุญาตให้สามารถ Execute External Jupyter Notebooks ได้อีกด้วย

2. Code Execution Time

คุณเคยสงสัยบ้างไหมว่า Cell ของคุณใช้เวลาในการ Run นานเท่าไร

time Magic Command จะช่วยให้คุณสามารถ Track การ Execution ทั้งหมดของ Cell ได้

เนื่องจากเราจะต้องจัดการกับ Cell ทั้งหมดที่นี่ เราจะใช้ %% นำหน้าคำว่า time

จาก Cell ด้านบน ประกอบไปด้วย For Loop ที่มีการคำนวณแบบสุ่ม ซึ่ง %%time จะช่วยให้คุณได้ เวลาที่ใช้ในการ Execute สำหรับการ Run For Loop

3. Copy content to external file

คงมีหลายครั้งที่คุณรู้สึกว่า คุณจำเป็นต้องเพิ่ม Content ของคุณลงไปใน Python Script หรือ Text File โดยตรงจาก Jupyter Notebook ของคุณ

แทนที่จะ Copy ทุกอย่างและสร้าง File ใหม่ขึ้นมา คุณสามารถ Export Cell Content ของคุณได้โดยตรง โดยการเพิ่มคำสั่ง writefile ก่อน Code ของคุณ

จะสังเกตได้ว่า %% อยู่หน้าคำสั่งที่ระบุ Content ทั้งหมดของ Cell จะถูก Export

เนื่องจากเราได้สร้าง File ที่มี Content บางส่วนอยู่แล้ว มันจึงแสดงออกมาว่า ‘Overwriting myCode.py’ ซึ่งเป็นการระบุว่า มันจะ Overwrite  Content ต้นฉบับของเราด้วย Content ที่แสดงในภาพด้านบน

4. Display content of external file

โดยทั่วไป คุณอาจรู้สึกว่าจำเป็นต้อง Copy Code ไม่กี่บรรทัดจาก External File ลงใน Code ของคุณ แทนที่จะใช้ Procedure ยาว ๆ ในการ Fetch File และเปิดมันเพื่อ Copy การใช้ %pycat จะช่วยให้คุณสามารถแสดง Content ของ File ใน Directory ใดก็ได้

มันจะแสดง Content ทั้งหมดของ External File ซึ่งเป็น Output และน่าจะถือได้ว่า เป็นการทำในสิ่งที่ตรงกันข้ามของคำสั่ง %writefile ในแง่ของการใช้งาน

5. List all variables

Magic Command  นี้ จะแสดงตัวแปรทั้งหมดที่ใช้ใน Notebook ทั้งหมด

ต่อไปนี้จะเป็น 3 ตัวแปร ที่ประกอบไปด้วย 2 Strings และ 1 Integer ถ้าเรา Run %who มันก็จะแสดง List ของตัวแปรทั้ง 3 ที่เรา Define ไว้

 

จาก Code ด้านบน จะแสดงตัวแปรทั้งหมดโดยไม่คำนึงถึง Data Type

กรณีที่ต้องการแสดง Data Type ของตัวแปรที่ต้องการ เราจำเป็นต้องส่งผ่าน Data Type หลังจาก Magic Command ซึ่งจาก Code ด้านบน จะเป็นการแสดงตัวแปรทั้งหมด ที่มี Data Type เป็น String ออกมาเป็น Output

6. Share variable between notebooks

Magic Command นี้จะช่วยให้คุณสามารถ Share ตัวแปรระหว่าง Jupyter Notebooks ต่าง ๆ ได้ โดยที่คุณต้องส่งผ่านตัวแปรที่เป็นต้นฉบับด้วย Magic Command

ในการ Retrieve ตัวแปร คุณจะต้องส่งผ่านคำสั่งเดียวกันด้วย "-r" Parameter

และ Notebook แรก ก็ควรจะมีลักษณะดังนี้

Code ที่จำเป็นในการ Retrieve Data นี้ จะถูกเขียนใน Notebook อื่น ๆ

นี่อาจเป็นวิธีที่ง่ายที่สุดในการ Share Data ของ Data Type ระหว่าง Notebook ต่าง ๆ

7. Execute html script

%%html จะช่วยให้เราสามารถเขียน HTML Code ลงไปใน Cell ได้ ตอนนี้ Cell จะทำหน้าที่เป็นเหมือน HTML Editor พร้อมทั้งเป็น HTML Output ของ Cell 

Code ต่อไปนี้ ประกอบไปด้วย Table ง่าย ๆ ที่ถูกสร้างใน HTML คุณสามารถสังเกตเห็นได้ว่า HTML Output ได้แสดง Table ที่ต้องการ

 

เคล็ดลับ: คุณสามารถ Run JavaScript Code ใน Cell ได้โดยใช้ %%js Magic Command ซึ่งมีความคล้ายคลึงกับ %%html Magic Command

8. Display Matplotlib graphs

%matplotlib inline Magic Command เป็นคำสั่งที่ได้รับความนิยมมากที่สุดคำสั่งหนึ่ง โดยคำสั่งนี้จะอนุญาตให้ Jupyter Notebook แสดง matplotlib graphs ใน Notebook ได้ คำสั่งนี้ได้เปิดใช้งานการรองรับแบบ Interactive ของ matplotlib สำหรับ Jupyter Notebook ของคุณ

เราได้ทำการ Import Library ที่เราต้องการใช้เพื่อที่จะอธิบายการทำงานของคำสั่ง

ตอนนี้ เราจะสร้าง 2 Random Lists สำหรับการ Plot Graph ขึ้นมา

ตอนนี้ เราจะ Plot Scatter Graph ของ Data

%matplotlib inline Magic Command จะช่วยให้คุณเห็นภาพ Graph ภายใน Jupyter Notebook

9. Set Environment variables

Magic Command นี้ จะช่วยให้คุณทำ 3 สิ่ง คือ แสดงรายการของ Environment Variable ทั้งหมด, รับค่าของ Environment Variable ที่ต้องการ และ Set ค่าของ Variable

การใช้ %env โดยที่ไม่มี Parameter จะเป็นการแสดง List ของ Environment Variable ทั้งหมด

การใช้ %env โดยมี Parameter จะเป็นการ Return ค่าสำหรับ Parameter ที่ต้องการ

‘%env variable value’ จะเป็นการ Set ค่าของชื่อตัวแปรที่ต้องการ

10. Object detailed information

%pinfo จะเป็นการให้ข้อมูลที่มีรายละเอียดเกี่ยวกับ Object ที่ถูกส่งผ่านไปพร้อมกับมัน

ใน Snippet ต่อไปนี้ เราได้ส่ง String ง่าย ๆ อย่าง "a" ไปพร้อมกับ %pinfo เพื่อจะได้รับข้อมูลที่มีรายละเอียดอยู่ภายใน

จาก Output ด้านบน จะเห็นว่า %pinfo ได้ให้ข้อมูลทั้งหมดเกี่ยวกับ String Object

คุณสามารถค้นหา Magic Command List ทั้งหมดได้โดยใช้คำสั่ง ‘%lsmagic

ที่มา:  https://towardsdatascience.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด