Tôi có thể tìm mã nguồn python ở đâu?

Như chúng ta đã biết, mọi thứ trong python đều là đối tượng, ngay cả hàm chúng ta định nghĩa cũng là đối tượng trong Python. Là một lập trình viên, chúng tôi viết rất nhiều hàm và cũng sử dụng các hàm do người khác viết

Khi chúng tôi xác định chức năng, chúng tôi biết những gì được viết trong chức năng và chính xác nó hoạt động như thế nào, nhưng khi chúng tôi sử dụng các chức năng của mô-đun khác, chúng tôi không biết mã nguồn của nó là gì

Trong bài viết ngắn này, bạn sẽ tìm hiểu phương pháp lấy mã nguồn của hàm trong python

Để lấy mã nguồn của các hàm trong python, hãy sử dụng mô-đun kiểm tra. Mô-đun kiểm tra có một tập hợp các hàm sử dụng để bạn có thể lấy mã nguồn, chuỗi tài liệu và đường dẫn của tệp nơi phương thức được xác định

Hãy hiểu nó với ví dụ đơn giản

import inspect
import random
print(inspect.getsource(random.randint))

đầu ra

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)

Nhưng một điều cần lưu ý, kiểm tra sẽ không trả lại mã nguồn của các đối tượng tích hợp và đối tượng được xác định tương tác

Để lấy mã của đối tượng được xác định một cách tương tác, bạn có thể sử dụng thì là. nguồn. hàm getsource

Các phương thức tích hợp sẵn của python được viết bằng C và chỉ có thể được truy cập bằng cách xem trực tiếp mã nguồn python

Trả về văn bản của mã nguồn cho một đối tượng. Đối số có thể là một mô-đun, lớp, phương thức, hàm, truy nguyên, khung hoặc đối tượng mã. Mã nguồn được trả về dưới dạng một chuỗi. Một IOError được nâng lên nếu không thể truy xuất mã nguồn

Nếu hàm được biên dịch từ chuỗi, luồng hoặc được nhập từ tệp đã biên dịch, thì bạn không thể truy xuất mã nguồn của hàm đó

Đôi khi chúng ta muốn biết mã nguồn của một số chức năng trông như thế nào hoặc chúng ở đâu hoặc chúng ta cần thao tác mã nguồn dưới dạng chuỗi ký tự. Trong những trường hợp như vậy, chúng ta cần có một cách thuận tiện để truy xuất mã nguồn của các hàm Python

Thêm tài nguyên Python

  • IDE là gì?
  • bảng ăn gian. Trăn 3. 7 cho người mới bắt đầu
  • Khung GUI Python hàng đầu
  • Tải xuống. 7 thư viện PyPI thiết yếu
  • Nhà phát triển mũ đỏ
  • Nội dung Python mới nhất

Có hai thư viện Python có thể giúp

  • source_DF = inspect.getsource(pandas.DataFrame)
    print(type(source_DF))

    0 là một thư viện tiêu chuẩn được tích hợp sẵn
  • source_DF = inspect.getsource(pandas.DataFrame)
    print(type(source_DF))

    1 là thư viện của bên thứ ba

quan sát

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

0 là thư viện tích hợp sẵn. Nó đã có sẵn sau khi bạn cài đặt Python trên máy tính của mình. Mô-đun

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

0 cung cấp một số chức năng hữu ích để giúp bạn lấy thông tin về các đối tượng trực tiếp, chẳng hạn như mô-đun, lớp, phương thức, hàm, truy nguyên, đối tượng khung và đối tượng mã. Trong số nhiều tính năng của nó, nổi bật là khả năng truy xuất mã nguồn của các chức năng

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

4

import pandas
import inspect

____25

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

6

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

7____12

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

8

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

9
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
5

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
20
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
21
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
22
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
23

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
24
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
25

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
26

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

3

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
27

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
28

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

6

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
29

Trong IPython hoặc Jupyter, chúng ta cũng có thể sử dụng phương thức này để lấy mã nguồn của các hàm mà chúng ta đã định nghĩa trong bảng điều khiển

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
50

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

9

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
51

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
52

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

2

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
53

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
54

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

5

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
55

Lưu ý rằng việc truy xuất mã nguồn của các hàm tự xác định chỉ hoạt động trong IPython hoặc Jupyter. Nếu chúng tôi đang sử dụng Python đơn giản và định nghĩa một hàm theo cách tương tác, chúng tôi sẽ gặp phải lỗi

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
56 và sẽ không thể truy xuất mã nguồn. Điều này là do cài đặt của nó chỉ hỗ trợ các đối tượng được tải từ tệp chứ không phải phiên tương tác

rau thì là

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

1 mở rộng mô-đun
def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
58 của Python để tuần tự hóa và giải tuần tự hóa các đối tượng Python cho phần lớn các loại Python tích hợp. Đồng thời, nó cũng có thể truy xuất mã nguồn của các đối tượng Python của bạn. Xin lưu ý 

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

1 không phải là thư viện chuẩn nên bạn phải cài đặt riêng

API của nó khá giống với của 

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

0

def randint(self, a, b):
"""Return random integer in range [a, b], including both end points.
"""
return self.randrange(a, b+1)
26

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

3

 

Tuy nhiên, một điểm khác biệt lớn giữa

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

1 và

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

0 là tính năng truy xuất của

source_DF = inspect.getsource(pandas.DataFrame)
print(type(source_DF))

1 hỗ trợ các đối tượng tự xác định trong bảng điều khiển Python đơn giản

Đọc gì tiếp theo

Thẻ

con trăn

lập trình

Xiaodong Deng

Tôi có thể tìm mã nguồn python ở đâu?

Từ Trung Quốc và hiện đang ở Singapore. Tôi học chuyên ngành toán học trong cả thời gian học cử nhân và thạc sĩ. Nhưng sau đó tôi thấy việc viết mã thú vị hơn. Suy nghĩ từ quan điểm kỹ thuật thực sự giúp tôi rất nhiều. Để biết thêm thông tin, vui lòng tham khảo trang web của tôi XD-DENG. com

Tôi có thể lấy mã nguồn Python ở đâu?

www. con trăn. tổ chức .

Làm cách nào tôi có thể xem mã nguồn của hàm tích hợp trong Python?

Để lấy mã nguồn của các hàm trong python, hãy sử dụng mô-đun kiểm tra . Mô-đun kiểm tra có một tập hợp các hàm sử dụng để bạn có thể lấy mã nguồn, chuỗi tài liệu và đường dẫn của tệp nơi phương thức được xác định.