ดูเหมือนว่า IPython จะไม่รู้จักการเปลี่ยนแปลงที่เกิดขึ้นกับคำจำกัดความของคลาสหลังจากที่สคริปต์ถูกรันในครั้งแรก การเปลี่ยนแปลงฟังก์ชันแบบสแตนด์อโลนทำงานได้ดี เพียงแต่ไม่เปลี่ยนแปลงฟังก์ชันของคลาส วิธีเดียวที่ฉันจะทำให้มันใช้งานได้คือบังคับ %reset ฉันจะคลั่งไคล้หรือวิธีนี้ใช้ได้ผลจริง (ไม่อัปเดตการเปลี่ยนแปลงคลาสในสคริปต์) มีงานรอบมั้ย? ฉันได้ลอง โหลดอัตโนมัติ แล้ว:
%load_ext โหลดอัตโนมัติ
% โหลดอัตโนมัติ 2
แต่มันใช้งานไม่ได้
__class__
ไม่สนใจชื่อคลาส เป็นเพียงข้อมูลอ้างอิง หากคุณสร้างคลาสใหม่ คลาสนั้นจะได้รับตำแหน่งใหม่ในหน่วยความจำและเขียนทับคำจำกัดความก่อนหน้าในขอบเขต ทุกอินสแตนซ์ใหม่จะเชื่อมโยงกับคำจำกัดความคลาสใหม่ แต่อันก่อนหน้านี้จะยังคงใช้งานได้พร้อมลิงก์โดยตรง - person alexey   schedule 02.03.2017__class__
เดียวกัน (เช่นเดียวกับ a=2, b=a, c=b ทั้งหมดเป็นการอ้างอิงไปยังตำแหน่งหน่วยความจำเดียวกัน) ? - person James   schedule 04.03.2017