Tôi mới dùng ipython và tôi đang cố gắng sử dụng ipython để gỡ lỗi mã của mình. Tôi đã làm:truy cập các biến trong phiên gỡ rối với ipython và% pdb trên
[1]: %pdb
Automatic pdb calling has been turned ON
và sau đó
In [2]: %run mycode.py
và trong các mã, tôi có 1/0 nên nó đặt ra một ngoại lệ và sẽ tự động chuyển sang phiên debug.
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
Vì vậy, tôi có thể truy cập các biến. Nhưng khi tôi làm như sau:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
Nhưng công trình này:
ipdb> b = self.X
Có cách nào để quá tải lệnh b này không? Trong tên biến ứng dụng b của tôi xảy ra rất nhiều một cách tự nhiên, và nó là một nỗi đau không thể sử dụng nó. – joon
@joon: Có tên biến một chữ thường nói không phải là một thực hành lập trình tốt. Có lẽ đây là vấn đề nên thúc đẩy bạn thay đổi tên biến. Tôi nhận ra rằng có thể khó làm. Trong trường hợp đó bạn có thể thử 'exec 'b = variable''. – unutbu
Tất nhiên. Nó chỉ là ký tự b là sự lựa chọn tự nhiên cho đối tác toán học. Cảm ơn bạn! – joon