في CPython 3.12.14، ترفض mean خليطنا من Decimal وfloat، بينما تنجح fmean. [1] [2]
الخلاصة السريعة
لا في المثال؛ ترفع mean خطأ TypeError. [1] [2]
- في CPython 3.12.14، ترفض mean خليطنا من Decimal وfloat، بينما تنجح fmean. [1] [2]
- نختار data=[D("2"),4.0]، حيث D اختصار Decimal؛ الأول عشري والثاني float. [1] [2]
- mean ترفع TypeError؛ التنفيذ لا يجد نوعًا مشتركًا لهذا الزوج من الأنواع. [1] [2]
- fmean تحول إلى أعداد عائمة وتعيد float؛ تعطي 3.0 هنا. نجاحها لا يعني أن mean قبلت الخليط. [1] [2]
- تحكم: mean مع [D("2"),D("4")] تعيد Decimal("3"). نختبر قوائم محددة، ولا نعمم القبول على كل خليط أو نثبت دقة كل تحويل. [1] [2]
القبول والإصدار
في CPython 3.12.14، ترفض mean خليطنا من Decimal وfloat، بينما تنجح fmean. [1] [2]
نوعان في قائمة
نختار data=[D("2"),4.0]، حيث D اختصار Decimal؛ الأول عشري والثاني float. [1] [2]
رفض mean
mean ترفع TypeError؛ التنفيذ لا يجد نوعًا مشتركًا لهذا الزوج من الأنواع. [1] [2]
from decimal import Decimal as D from statistics import mean,fmean data=[D("2"),4.0] try:print(mean(data)) except TypeError:print("TypeError") [1] [2]
![D=Decimal; data=[D("2"),4.0]; fmean: 3.0 float.](https://images.bahralolom.com/assets/local-2000-20261012/BA-1661/python-mean-mixed-types-values.png)
fmean وتحكم عشري
fmean تحول إلى أعداد عائمة وتعيد float؛ تعطي 3.0 هنا. نجاحها لا يعني أن mean قبلت الخليط. [1] [2]
own=fmean(data) print(own,type(own).__name__) control=mean([D("2"),D("4")]) print(control,type(control).__name__) [1] [2]
تحكم: mean مع [D("2"),D("4")] تعيد Decimal("3"). نختبر قوائم محددة، ولا نعمم القبول على كل خليط أو نثبت دقة كل تحويل. [1] [2]
المراجع
للتوسع: لغات البرمجة.
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
![D=Decimal; data=[D("2"),4.0]; mean: TypeError.](https://images.bahralolom.com/assets/local-2000-20261012/BA-1661/python-mean-mixed-types-main.png)