Bằng cách sử dụng một function được định nghĩa trong một chuỗi exec'ed trong Python 3


0 Phiếu
Đã hỏi 24/5/2016 bởi theyVais (560 điểm)
Tại sao sau python3 code sản xuất một lỗi?
a='''
def x():
  print(42)
'''
class Test:
    def __init__(self):
        exec(a)
        x()
t = Test()
kết quả trong bài viết này:
Traceback (most recent call last):
  File "bug.py", line 11, in <module>
    t = Test()
  File "bug.py", line 9, in __init__
    x()
NameError: global name 'x' is not defined

Xin vui lòng đăng nhập hoặc đăng ký để trả lời câu hỏi này.


ToughDev Q&A là gì?

Trang web hỏi đáp cho các bạn đam mê lập trình, phát triển phần mềm và các vấn đề kỹ thuật khác. Với sự giúp đỡ của bạn, chúng tôi hy vọng sẽ xây dựng thành công một thư viện đầy đủ các câu hỏi và trả lời về tất cả các vấn đề có liên quan đến lập trình!







...