قارن موقع الأب وموقع ابنه بعد النقل. [1] [2]
الخلاصة السريعة
المثال
نسخنا موقع الإسناد a إلى الإسناد b. [1] [2]
import ast
a=ast.parse("if True:\n leaf=9\n").body[0].body[0]
b=ast.parse("bud=4\n").body[0]
print(ast.copy_location(b,a)is b)
print((b.lineno,b.col_offset,b.end_lineno,b.end_col_offset))
print((b.value.lineno,b.value.col_offset,b.value.end_lineno,b.value.end_col_offset))المعاد والموقع
المعاد هو b نفسه؛ الفحص True. [1] [2]
موقع b صار (2,4,2,10). [1] [2]
الترتيب: سطر البداية، عمودها، سطر النهاية، عمودها. [1] [2]
النتيجة: True، (2,4,2,10)، (1,4,1,5). [1] [2]

الابن والنطاق
موقع b.value بقي (1,4,1,5). [1] [2]
قيمة الابن بقيت 4؛ لم ننسخ بيانات الإسناد. [1] [2]
فحص 3.12.14؛ دون تشغيل النص أو ترجمة الشجرة. [1] [2]
المراجع
- Python 3.12: copy_location
- CPython 3.12.14: parent location transfer
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
