IPython là một Python shell mạnh mẽ xử lý thụt lề, tô sáng cú pháp, tự động hoàn thành cú pháp, v.v. Là một công cụ cần thiết khi lập trình với Python, Ipython viết tắt của “Interactive Python” nghĩa là tương tác với Python. Ipython cung cấp những tính năng cần thiết và tiện dụng trong việc sử dụng python như sau:

  • Auto-complete: chỉ gõ một phần của câu lệnh / function rồi bấm phím tab, IPython sẽ hiện ra các lựa chọn có thể.
  • Tô màu cho các từ khoá của Python (if/def/for/list/str …) khiến cú pháp trở lên dễ nhìn hơn
  • Truy cập nhanh nội dung của help(x): Ví dụ để xem method print làm gì, gõ print?
  • Lựa chọn trong danh sách các method với cú pháp: ‘abc’. rồi gõ phím Tab
  • Các magic command hỗ trợ việc tương tác nhanh hơn. Ví dụ %timeit để đo thời gian, xem dùng theo cách nào nhanh hơn.

Môi trường thử nghiệm

  • Hướng dẫn này được thực hiện với tư cách là root user trên máy chủ Ubuntu 18.04.
  • IPython là một gói Python. Các hướng dẫn cài đặt sẽ nhau bất kể hệ điều hành cơ bản là gì, miễn là hệ thống có cài đặt Python 3 đang hoạt động với trình quản lý gói Python pip.

Cài đặt

Bước # 1: Cài đặt IPython

Cài đặt IPython rất đơn giản vì nó chỉ là một gói Python. Cài đặt nó bằng cách chạy lệnh sau.

pip3 install ipython

Bước # 2: Sử dụng IPython

Truy cập vào ipython shell giống như với python shell. Để làm như vậy, hãy chạy lệnh sau.

[email protected]:~# ipython
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
Type 'copyright', 'credits' or 'license' for more information
IPython 7.16.1 -- An enhanced Interactive Python. Type '?' for help.

In [1]:

Các tính năng hữu ích

Đánh dấu cú pháp

Để bắt đầu, hãy tạo một số biến để chứng minh đánh dấu cú pháp được tích hợp trong IPython.

Các tên và giá trị biến có các màu khác nhau. Điều này làm cho việc phân biệt giữa các phép gán biến đơn giản hơn và làm cho việc đọc code trong IPython dễ dàng hơn trong Python shell.

Xem các thuộc tính đối tượng khi hoàn thành tab

IPython cho phép hoàn thành tab trong một số ngữ cảnh khác nhau, bao gồm các biến hoàn thành tab được tạo trong phiên, xem các thuộc tính và phương thức có sẵn cho một đối tượng nhất định. Ví dụ: nhập danh sách vào IPython shell và nhấn tab một vài lần, và bạn sẽ thấy điều này.

Ở đây chúng ta thấy tất cả các phương thức có sẵn cho một danh sách bằng Python. Danh sách các thuộc tính và phương thức có thể được điều hướng thông qua các phím mũi tên và nhấn enter trên bất kỳ một trong số chúng sẽ chọn nó và đóng hộp thoại.

Xem thông tin

IPython giúp việc tìm kiếm thông tin về một hàm hoặc phương thức trở nên đơn giản bằng cách cung cấp một phương tiện để hiển thị chuỗi tài liệu của hàm hoặc phương thức bằng cách sử dụng ký hiệu `? ‘.

Điều này đặc biệt hữu ích để chỉ suy ra những gì một phương thức hoặc hàm cụ thể thực hiện hoặc những gì nó mong đợi về mặt đối số.

Thụt lề thích hợp tự động

Python quan tâm đến khoảng trắng, và đặc biệt là thụt lề. Nếu không có thụt lề thông thường, một chương trình Python sẽ bị lỗi và không thực thi đúng cách. IPython xử lý tình trạng thụt lề cho người dùng một cách dễ dàng.

for x in range(5):
   print(x)

Trong ví dụ trên, phần thụt lề cần thiết để vòng lặp for này hoàn thành đúng cách đã được IPython tự động xử lý. Người dùng không phải thêm dấu cách theo cách thủ công để tạo thụt lề để làm cho code này hoạt động.

Lịch sử

IPython giúp bạn dễ dàng truy cập vào tất cả các lệnh đã được sử dụng trước đó trong phiên hiện tại với lệnh % history . Điều này giúp bạn dễ dàng lấy một thứ gì đó đã được thực thi và sao chép và dán lại vào IPython để chạy lại.

Các lệnh trước đó có thể được sao chép trực tiếp từ đầu ra của % history và được thực hiện lại trong IPython.

Phần kết luận

Đây chỉ là một vài trong số rất nhiều tiện ích và hiệu quả tăng cường được cung cấp thông qua IPython. Nó là một Python shell cực kỳ mạnh mẽ giúp bạn có thể dễ dàng và nhanh chóng bắt đầu và chạy với thử nghiệm nhanh một ý tưởng hoặc tập lệnh. Để biết thêm thông tin, hãy xem tài liệu IPython tại https://ipython.org/.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments