Làm cách nào để hiển thị một hàm trong mô-đun python?

Đôi khi bạn làm việc với một mô-đun Python và không có tài liệu tốt về nó (hoặc hoàn toàn không có). Trong phần Cách thực hiện ngắn này, bạn sẽ thấy cách lấy được nhiều thông tin nhất có thể từ mô-đun Python, dưới dạng danh sách các tính năng hoặc thuộc tính, ví dụ:

Lấy danh sách các chức năng và thuộc tính của mô-đun Python

Trước tiên, bạn cần nhập mô-đun

import nomemodulo

Sau đó, bạn có thể sử dụng hàm dir() để lấy danh sách đầy đủ các thuộc tính và chức năng của mô-đun Python

dir(nomemodulo)

Nó trả về một danh sách tất cả các chức năng và thuộc tính của mô-đun

Ngoài ra nếu bạn muốn lấy thông tin cụ thể của từng chức năng này thì có thể sử dụng hàm help()

help(nomemodulo)

Thí dụ

import seolib

dir(seolib)

Đây là danh sách với tất cả các chức năng

['__builtins__', '__doc__', '__file__', '__name__', '__package__', '__path__', '__title__', '__version__', 
'api', 'decorators', 'errors', 'get_alexa', 'get_facebook_likes', 'get_google_plus', 'get_semrush',
 'get_seomoz_data', 'get_tweets', 'helpers']

Cuối cùng, nếu bạn muốn biết thông tin chi tiết hơn, chẳng hạn như về hàm get_facebook_likes()

help(seolib.get_facebook_likes())
Help on function wrapper in module seolib.decorators:

wrapper(url, *args, **kwargs)

Biết thêm chi tiết

Trong số các chức năng và thuộc tính được tìm thấy trong danh sách ví dụ trên, có một số thuộc tính đáng được đề cập. Trên thực tế, có một số thuộc tính được Python tạo tự động khi bạn tạo một biểu mẫu mới. Các thuộc tính này có thể hữu ích để có thêm thông tin

__xây dựng__

Thuộc tính này chứa tất cả các thuộc tính tích hợp sẵn mà mô-đun có thể truy cập được

__cached__

Thuộc tính này cung cấp cho bạn tên và vị trí của các tệp được lưu trong bộ nhớ cache được liên kết với mô-đun. Đường dẫn có liên quan đến thư mục hiện tại của Python

__tập tin__

Thuộc tính này cung cấp cho bạn tên và vị trí của tệp biểu mẫu. Đường dẫn có liên quan đến thư mục hiện tại của Python

__doc__

Thuộc tính này hiển thị thông tin mô-đun, luôn giả định rằng nhà phát triển đã từng nhập chúng

__đang khởi tạo__

Nó xác định xem mô-đun có đang trong giai đoạn khởi tạo hay không. Nói chung, giá trị này luôn là Sai, tuy nhiên, rất hữu ích trong việc tạo tập lệnh khi bạn muốn đảm bảo rằng một mô-đun đã được nhập đầy đủ (và được khởi tạo) trước khi thực hiện bất kỳ thao tác cụ thể nào khác (nhập một mô-đun phụ thuộc vào nó)

__bộ nạp__

Thuộc tính này hiển thị thông tin trình tải cho mô-đun này. Trình tải xử lý mô-đun vừa tải và đặt nó vào bộ nhớ để Python có thể sử dụng nó

Khi chương trình của chúng tôi phát triển lớn hơn, nó có thể chứa nhiều dòng mã. Thay vì đặt mọi thứ vào một tệp, chúng ta có thể sử dụng các mô-đun để phân tách mã trong các tệp riêng biệt theo chức năng của chúng. Điều này làm cho mã của chúng tôi được tổ chức và dễ bảo trì hơn

Mô-đun là một tệp chứa mã để thực hiện một tác vụ cụ thể. Một mô-đun có thể chứa các biến, hàm, lớp, v.v. Hãy xem một ví dụ,

Hãy để chúng tôi tạo một mô-đun. Nhập nội dung sau và lưu dưới dạng

import example
1

# Python Module addition

def add(a, b):

   result = a + b
   return result

Ở đây, chúng ta đã định nghĩa một hàm

import example
2 bên trong một mô-đun có tên là
import example
3. Hàm nhận vào hai số và trả về tổng của chúng


Nhập mô-đun bằng Python

Chúng ta có thể nhập các định nghĩa bên trong mô-đun sang mô-đun khác hoặc trình thông dịch tương tác trong Python

Chúng tôi sử dụng từ khóa

import example
4 để làm điều này. Để nhập mô-đun được xác định trước đó của chúng tôi
import example
3, chúng tôi nhập thông tin sau vào dấu nhắc Python

import example

Điều này không nhập trực tiếp tên của các hàm được xác định trong

import example
3 vào bảng ký hiệu hiện tại. Nó chỉ nhập tên mô-đun
import example
3 ở đó

Sử dụng tên mô-đun, chúng ta có thể truy cập chức năng bằng toán tử dấu chấm

import example
8. Ví dụ

dir(nomemodulo)
6

Ghi chú

  • Python có rất nhiều mô-đun tiêu chuẩn. Bạn có thể xem danh sách đầy đủ các mô-đun tiêu chuẩn của Python và các trường hợp sử dụng của chúng
  • Các mô-đun tiêu chuẩn có thể được nhập giống như cách chúng tôi nhập các mô-đun do người dùng xác định


Nhập mô-đun thư viện chuẩn Python

Thư viện chuẩn Python chứa hơn 200 mô-đun. Chúng tôi có thể nhập một mô-đun theo nhu cầu của chúng tôi

Giả sử chúng tôi muốn lấy giá trị của

import example
9, trước tiên chúng tôi nhập mô-đun toán học và sử dụng
dir(nomemodulo)
60. Ví dụ,

dir(nomemodulo)
9

đầu ra

help(nomemodulo)
0

Nhập Python với Đổi tên

Trong Python, chúng ta cũng có thể nhập một mô-đun bằng cách đổi tên nó. Ví dụ,

help(nomemodulo)
1

Ở đây, chúng tôi đã đổi tên mô-đun

dir(nomemodulo)
61 thành
dir(nomemodulo)
62. Điều này có thể giúp chúng tôi tiết kiệm thời gian gõ trong một số trường hợp

Lưu ý rằng tên

dir(nomemodulo)
61 không được công nhận trong phạm vi của chúng tôi. Do đó,
dir(nomemodulo)
60 không hợp lệ và
dir(nomemodulo)
65 là triển khai chính xác


Python từ. báo cáo nhập khẩu

Chúng tôi có thể nhập các tên cụ thể từ một mô-đun mà không cần nhập toàn bộ mô-đun. Ví dụ,

help(nomemodulo)
7

Ở đây, chúng tôi chỉ nhập thuộc tính

import example
9 từ mô-đun
dir(nomemodulo)
61


Nhập tất cả các tên

Trong Python, chúng ta có thể nhập tất cả các tên (định nghĩa) từ một mô-đun bằng cách sử dụng cấu trúc sau

import seolib

dir(seolib)
0

Ở đây, chúng tôi đã nhập tất cả các định nghĩa từ mô-đun toán học. Điều này bao gồm tất cả các tên hiển thị trong phạm vi của chúng tôi ngoại trừ những tên bắt đầu bằng dấu gạch dưới (định nghĩa riêng tư)

Nhập mọi thứ có ký hiệu dấu hoa thị (*) không phải là một cách lập trình tốt. Điều này có thể dẫn đến các định nghĩa trùng lặp cho một mã định danh. Nó cũng cản trở khả năng đọc mã của chúng tôi


Hàm tích hợp dir()

Trong Python, chúng ta có thể sử dụng hàm

dir(nomemodulo)
68 để liệt kê tất cả các tên hàm trong một mô-đun

Ví dụ, trước đó chúng ta đã định nghĩa hàm

import example
2 trong mô-đun
import example
3

Chúng ta có thể sử dụng mô-đun

dir(nomemodulo)
91 trong
import example
3 theo cách sau

import seolib

dir(seolib)
6

Ở đây, chúng ta có thể thấy một danh sách tên được sắp xếp (cùng với

dir(nomemodulo)
93). Tất cả các tên khác bắt đầu bằng dấu gạch dưới là thuộc tính Python mặc định được liên kết với mô-đun (không phải do người dùng xác định)

Ví dụ: thuộc tính

dir(nomemodulo)
94 chứa tên của mô-đun

import seolib

dir(seolib)
9

Tất cả các tên được xác định trong không gian tên hiện tại của chúng ta có thể được tìm ra bằng cách sử dụng hàm

dir(nomemodulo)
68 mà không cần bất kỳ đối số nào

Chúng ta có thể sử dụng lệnh nào để lấy danh sách tất cả các chức năng bên trong mô-đun?

Bạn có thể sử dụng dir(module) để xem tất cả các phương thức/thuộc tính có sẵn.

Làm cách nào tôi có thể xem các thuộc tính của một mô-đun?

dir() là một hàm tích hợp cũng trả về danh sách tất cả các thuộc tính và hàm trong một mô-đun.