Khoa học dữ liệu với Python: Tài liệu trong IPython. Khi một người am hiểu về công nghệ được yêu cầu giúp đỡ bạn bè, thành viên gia đình hoặc đồng nghiệp gặp sự cố máy tính, hầu hết các trường hợp không phải là vấn đề biết câu trả lời nhiều bằng cách biết cách nhanh chóng tìm ra câu trả lời chưa biết. Trong khoa học dữ liệu cũng vậy: các tài nguyên web có thể tìm kiếm như tài liệu trực tuyến, chuỗi danh sách gửi thư và câu trả lời của StackOverflow chứa nhiều thông tin, thậm chí (đặc biệt là?) Nếu đó là chủ đề bạn đã tìm kiếm trước đó. Trở thành một người thực hành hiệu quả về khoa học dữ liệu không phải là việc ghi nhớ công cụ hoặc lệnh bạn nên sử dụng cho mọi tình huống có thể xảy ra, mà quan trọng hơn là học cách tìm kiếm hiệu quả thông tin bạn không biết, cho dù thông qua một công cụ tìm kiếm trên web hay một phương tiện khác.

Một trong những chức năng hữu ích nhất của IPython / Jupyter là rút ngắn khoảng cách giữa người dùng với loại tài liệu và tìm kiếm sẽ giúp họ thực hiện công việc của mình một cách hiệu quả. Mặc dù các tìm kiếm trên web vẫn đóng vai trò trả lời các câu hỏi phức tạp, nhưng chỉ riêng IPython có thể tìm thấy một lượng thông tin đáng kinh ngạc. Một số ví dụ về các câu hỏi mà IPython có thể giúp trả lời trong một vài lần nhấn phím:

  • Làm cách nào để gọi hàm này? Nó có những đối số và lựa chọn nào?
  • Mã nguồn của đối tượng Python này trông như thế nào?
  • Tôi đã nhập gì trong gói này? Đối tượng này có những thuộc tính hoặc phương thức nào?

Ở đây chúng ta sẽ thảo luận về các công cụ của IPython để truy cập nhanh thông tin này, cụ thể là ?ký tự để khám phá tài liệu, ??ký tự để khám phá mã nguồn và phím Tab để tự động hoàn thành.

Truy cập Tài liệu bằng ?

Ngôn ngữ Python và hệ sinh thái khoa học dữ liệu của nó được xây dựng với tâm trí người dùng và một phần quan trọng trong số đó là quyền truy cập vào tài liệu. Mọi đối tượng Python đều chứa tham chiếu đến một chuỗi, được gọi là chuỗi doc , trong hầu hết các trường hợp, sẽ chứa một bản tóm tắt ngắn gọn về đối tượng và cách sử dụng nó. Python có một help()chức năng tích hợp có thể truy cập thông tin này và in kết quả. Ví dụ: để xem tài liệu của lenhàm tích hợp, bạn có thể làm như sau:

In [1]: help(len)
Help on built-in function len in module builtins:

len(...)
len(object) -> integer

Return the number of items of a sequence or mapping.

Tùy thuộc vào trình thông dịch của bạn, thông tin này có thể được hiển thị dưới dạng văn bản nội tuyến hoặc trong một số cửa sổ bật lên riêng biệt.

Bởi vì việc tìm kiếm trợ giúp trên một đối tượng rất phổ biến và hữu ích, IPython giới thiệu ?ký tự này như một cách viết tắt để truy cập tài liệu này và các thông tin liên quan khác:

In [2]: len?
Type: builtin_function_or_method
String form: <built-in function len>
Namespace: Python builtin
Docstring:
len(object) -> integer

Return the number of items of a sequence or mapping.

Ký hiệu này hoạt động cho bất kỳ thứ gì, bao gồm các phương thức đối tượng:

In [3]: L = [1, 2, 3]
In [4]: L.insert?
Type: builtin_function_or_method
String form: <built-in method insert of list object at 0x1024b8ea8>
Docstring: L.insert(index, object) -- insert object before index

Ký hiệu này hoạt động cho bất kỳ thứ gì, bao gồm các phương thức đối tượng:

In [5]: L?
Type: list
String form: [1, 2, 3]
Length: 3
Docstring:
list() -> new empty list
list(iterable) -> new list initialized from iterable's items

Quan trọng hơn, điều này thậm chí sẽ hoạt động cho các hàm hoặc các đối tượng khác mà bạn tự tạo! Ở đây, chúng tôi sẽ xác định một hàm nhỏ với một chuỗi doc:

In [6]: def square(a):
....: """Return the square of a."""
....: return a ** 2
....:

Lưu ý rằng để tạo một chuỗi doc cho hàm của chúng tôi, chúng tôi chỉ cần đặt một chuỗi ký tự ở dòng đầu tiên. Bởi vì chuỗi doc thường có nhiều dòng, theo quy ước, chúng tôi đã sử dụng ký hiệu dấu ngoặc kép của Python cho chuỗi nhiều dòng.

Bây giờ chúng ta sẽ sử dụng ?dấu để tìm chuỗi tài liệu này:
In [7]: square?
Type: function
String form: <function square at 0x103713cb0>
Definition: square(a)
Docstring: Return the square of a.
Quyền truy cập nhanh vào tài liệu thông qua docstrings là một lý do bạn nên có thói quen luôn thêm tài liệu nội tuyến như vậy vào mã bạn viết!

LEAVE A REPLY

Please enter your comment!
Please enter your name here