Tôi tìm kiếm về nó và nhận được thông tin sau, python obtain variable name of argument in a function nhưng tôi không nhận được câu trả lời bắt buộc và thực sự nhận được lỗi nói add() lấy chính xác 0 đối số khi tôi sử dụng kwargs. Vì vậy, reposted để có được một câu trả lời nếu có bất kỳ.Lấy tên tham số
tôi đã đoạn mã sau,
def add (arg1, arg2):
z = arg1 + arg2
print arg1Name, arg2Name, z
x = 10
y = 5
add(x,y)
tôi muốn đầu ra như
x y 15
Để có được kết quả chính xác mà bạn yêu cầu chỉ đơn giản là ** không thể **. Vào thời điểm 'add' bắt đầu, những cái tên bạn thèm in chỉ là không có ở đó để lấy ra. Hãy từ bỏ điều này và chấp nhận các lựa chọn thay thế như bạn trích dẫn và hiểu lầm (yêu cầu một cuộc gọi 'thêm (x = x, y = y)' để thực sự ** bảo toàn ** những tên bạn khao khát quá tệ - vì bất kỳ lý do sai lầm nào :-) –
Để thêm vào những gì Alex nói, hơn nữa, nếu hàm được gọi là 'add (3, 4)' hoặc 'add (some_other_func(), a + b)', thì tên tham số là gì? – Thanatos
@AlexMartelli Hãy suy nghĩ về cách trong trường hợp của một lỗi, một traceback có thể cho bạn thấy chính xác mà nguồn dòng lên ngăn xếp kích hoạt lỗi. Vì vậy, không, nó không phải là không thể. – tripleee