تقنية

astuple في بايثون: هل تحول قائمة الحقل إلى tuple؟

نوع result[0] هو list.
نوع عنصر القائمة.

astuple تنتج tuple خارجية، وتحافظ على نوع list لحقل قائمتنا. [1]

الخلاصة السريعة

لا؛ نوع حقل القائمة في الناتج list. [1]

  • astuple تنتج tuple خارجية، وتحافظ على نوع list لحقل قائمتنا. [1]
  • على CPython 3.12.14، Packet تعرف items:list؛ own تحمل قائمة بالعددين 2 و3. [1]
  • result=astuple(own) تعطي ([2,3],)؛ type(result).__name__ هي tuple. [1]
  • type(result[0]).__name__ هي list؛ العنصر الداخلي قائمة بالعددين 2 و3. [1]
  • تحكم control=Wrap(Leaf(2)): الناتج ((2,),)، ونوع عنصره الداخلي tuple. فئة البيانات المتداخلة تحولت أيضًا. لا نخصص tuple_factory أو نستخدم دورات. [1]

نوع الخارج والداخل

astuple تنتج tuple خارجية، وتحافظ على نوع list لحقل قائمتنا. [1]

حقل القائمة

على CPython 3.12.14، Packet تعرف items:list؛ own تحمل قائمة بالعددين 2 و3. [1]

الناتج الخارجي

result=astuple(own) تعطي ([2,3],)؛ type(result).__name__ هي tuple. [1]

from dataclasses import dataclass,astuple @dataclass class Packet:items:list own=Packet([2,3]);result=astuple(own) print(result,type(result).__name__) print(type(result[0]).__name__) [1]

نوع child_result[0] هو tuple.
نوع عنصر الفئة.

الداخل والتحكم

type(result[0]).__name__ هي list؛ العنصر الداخلي قائمة بالعددين 2 و3. [1]

@dataclass class Leaf:number:int @dataclass class Wrap:child:Leaf control=Wrap(Leaf(2));child_result=astuple(control) print(child_result,type(child_result[0]).__name__) [1]

تحكم control=Wrap(Leaf(2)): الناتج ((2,),)، ونوع عنصره الداخلي tuple. فئة البيانات المتداخلة تحولت أيضًا. لا نخصص tuple_factory أو نستخدم دورات. [1]

المراجع

  1. Python astuple

للتوسع: لغات البرمجة.

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.