Vỏ tương tác trong Python

Một trong những lợi thế cốt lõi của Python so với nhiều ngôn ngữ khác là nó đi kèm với Shell tương tác.

Điều này đặc biệt hữu ích cho các nhiệm vụ khám phá, e. g. phân tích dữ liệu thăm dò hoặc gỡ lỗi. Vỏ tiêu chuẩn vẫn ổn, nhưng có bốn lựa chọn thay thế cung cấp các tính năng còn thiếu. Hãy bắt đầu

1. Shell tiêu chuẩn được tăng cường bởi phong phú

Phong phú tô màu đầu ra của bạn, nhưng không phải đầu vào của bạn. Hình ảnh của Martin Thoma

Rich là một thư viện Python dành cho văn bản có định dạng phong phú và đẹp mắt trong thiết bị đầu cuối. Nó có thể được cài đặt thông qua pip install rich. Thay vì sử dụng một trình bao khác, bạn có thể làm cho trình bao của mình thực thi hai dòng đó trong trình bao tiêu chuẩn

from rich import pretty, inspect, traceback as tb
pretty.install[]; tb.install[show_locals=False]

Sau khi hoàn thành, bạn sẽ được thưởng sản phẩm có màu 🌈

2. IPython

IPython tự động tô màu đầu vào của bạn chứ không phải đầu ra. Nó có một lịch sử khối như người ta có thể thấy ở phần cuối. Hình ảnh của Martin Thoma

IPython là Python Shell tương tác được hầu hết mọi người biết đến từ Jupyter Notebooks. Nó có thể được cài đặt thông qua pip install ipython. Bạn khởi động nó trên bảng điều khiển thông qua ipython

Bạn sẽ ngay lập tức nhận ra rằng lời nhắc đã thay đổi từ >>> thành In [1]. Tất nhiên, bạn có thể tùy chỉnh nó

Dấu nhắc Ipython tùy chỉnh. người đi bộ đường dài

Tôi đã quá mệt mỏi với lời nhắc ipython tiêu chuẩn vì nó không cung cấp cho tôi bất kỳ thông tin hữu ích nào. Mặc định…

kẻ lang thang. com

IPython cung cấp cho bạn tính năng tự động hoàn thành được kích hoạt bởi Tab và lỗi màu

IPython có một số lợi thế so với bảng điều khiển truyền thống

  • Đầu vào được tô màu và thông báo lỗi. Bạn sẽ thấy dễ dàng hơn nhiều khi bắt đầu một chuỗi hoặc một số
  • tự động hoàn thành. Nó không quá cầu kỳ, nhưng ít nhất bạn không phải gõ những chuỗi dài liên tục
  • lịch sử chặn. Việc bạn muốn quay lại đầu vào trước đây và sửa đổi/thực hiện lại là điều khá phổ biến. Đối với đầu vào một dòng thì không sao, nhưng nếu bạn có định nghĩa hàm với các vòng lặp lồng nhau, trình bao tiêu chuẩn chỉ hiển thị cho bạn từng dòng. Ngược lại, IPython xử lý toàn bộ khối dưới dạng một đầu vào, nghĩa là bạn ít phải nhấn mũi tên lên hơn. Đây là một vấn đề lớn đối với tôi
  • Lệnh IPython. Bạn có thể sử dụng clear để có một cửa sổ sạch sẽ

Bạn cũng có thể. Tất nhiên, bạn cũng có thể cài đặt rich trong IPython Shell để có được đầu ra màu

3. btrăn

bpython là một shell tương tác với rất nhiều tính năng tự động hoàn thành. Nó có thể được cài đặt thông qua pip install bpython và bạn bắt đầu với bpython. Tính năng tự động hoàn thành được kích hoạt khi bạn đang nhập và đưa ra các gợi ý hữu ích đáng kinh ngạc bên dưới con trỏ của bạn trong một hộp. Phần thực sự điên rồ là trợ giúp định nghĩa hàm

Thậm chí tốt hơn, trợ giúp đó điều chỉnh theo kích thước của thiết bị đầu cuối của bạn

Bạn có thể thấy nó tốt nhất trong một hành động

Hình ảnh từ README của bpython

Tóm lại, bpython có một lợi thế cốt lõi so với shell và IPython mặc định. Tự động hoàn thành / văn bản trợ giúp. Đây là một tính năng sát thủ đối với tôi. Nó cũng có các tùy chọn và bạn có thể

Tuy nhiên, cũng có những nhược điểm

  • Tốc độ, vận tốc. Cảm giác như có một độ trễ nhỏ khi tôi gõ. Nó chỉ là một phần của giây, nhưng đáng chú ý. tôi ghét nó
  • các cửa sổ. Do việc sử dụng thư viện lời nguyền, tôi cho rằng người dùng windows sẽ gặp sự cố khi sử dụng nó. Có vẻ như là có thể, nhưng bpython không được hỗ trợ chính thức
  • Thiếu lịch sử khối. Đây là một vấn đề mở từ năm 2014

4. PtPython

ptpython dường như có tất cả. đầu vào và đầu ra được tô màu, định dạng thông báo lỗi, lịch sử khối, trợ giúp tham số chức năng. Hình ảnh của Martin Thoma

Điều này trông khá giống với bpython ở loại tính năng được hỗ trợ, nhưng rõ ràng ptpython sử dụng một chủ đề màu khác. Trái ngược với bpython, nó hỗ trợ lịch sử khối

Tôi không thích chủ đề màu, nhưng bạn có thể thay đổi nó bằng cách nhấn “F2”. Đáng buồn thay, một số thứ dường như không hoạt động như mong đợi. Họ cung cấp bóng tối năng lượng mặt trời, nhưng nó không giống như bóng tối năng lượng mặt trời 😢

Tóm lược

Bạn có thể nhập phong phú vào bất kỳ trình bao tương tác nào. Vì lý do này, tôi đã không đưa nó vào phần tóm tắt sau

Tôi thích bpython nhất, nhưng lịch sử khối bị thiếu [số 22] là một công cụ phá vỡ thỏa thuận đối với tôi. ptpython là lựa chọn tốt nhất tiếp theo, nhưng tôi ghét chủ đề này. Do đó tôi sử dụng IPython khá thường xuyên

Tôi thích viết về phát triển phần mềm và công nghệ 🤩 Đừng bỏ lỡ các bản cập nhật. Nhận bản tin email miễn phí của tôi 📧 hoặc đăng ký Phương tiện ✍️ nếu bạn chưa làm điều đó - cả hai đều khuyến khích tôi viết nhiều hơn 🤗

Thêm nội dung bằng tiếng Anh. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Nhận quyền truy cập độc quyền để viết các cơ hội và lời khuyên trong cộng đồng của chúng tôi Discord

Chủ Đề