GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||
GeezerVison is showing python.github.io — تازههای پایتون 3.3 تازههای پایتون 3.3¶این مقاله ویژگیهای جدید پایتون 3.3 را در مقایسه با 3.2 توضیح میدهد. پایتون 3.3 در ۲۹ سپتامبر ۲۰۱۲ منتشر شد. برای جزئیات کامل، فهرست تغییرات را ببینید. همچنین ببینید PEP 398 - زمانبندی انتشار پایتون 3.3 خلاصه -- نکات برجستهی انتشار¶ویژگیهای نحوی جدید:
ماژولهای جدید کتابخانه:
قابلیتهای جدید توکار:
بهبودهای پیادهسازی:
ماژولهای کتابخانهای بهطور چشمگیر بهبودیافته: بهبودهای امنیتی:
لطفاً برای فهرست جامع تغییرات رو به کاربر، به خواندن ادامه دهید. PEP 405: محیطهای مجازی¶محیطهای مجازی به ایجاد پیکربندیهای جداگانهی پایتون کمک میکنند و در عین حال بهطور مشترک از یک نصب پایهی سراسری سیستم استفاده میکنند تا نگهداری آسان باشد. محیطهای مجازی مجموعهای از بستههای site (site packages) خصوصی خود را دارند (یعنی کتابخانههای نصبشده بهصورت محلی) و بهصورت اختیاری از بستههای site سراسری سیستم جدا نگه داشته میشوند. مفهوم و پیادهسازی آنها از بستهی محبوب شخص ثالث این PEP (پیشنهاد بهبود پایتون) ماژول همچنین ببینید
PEP 420: بستههای فضای نام ضمنی¶پشتیبانی بومی برای پوشههای بسته که نیازی به پروندههای نشانگر همچنین ببینید
PEP 3118: پیادهسازی جدید memoryview و مستندات پروتکل بافر¶پیادهسازی PEP 3118 بهطور چشمگیری بهبود یافته است. پیادهسازی جدید memoryview بهطور جامع تمام مشکلات مالکیت و طول عمر فیلدهای تخصیصیافته بهصورت پویا در ساختار Py_buffer را که منجر به چندین گزارش فروپاشی شده بود، رفع میکند. علاوه بر این، چندین تابع که برای ورودیهای ناپیوسته یا چندبعدی فروپاشی میکردند یا نتایج نادرست برمیگرداندند، اصلاح شدهاند. شیء memoryview اکنون یک getbufferproc() منطبق با PEP-3118 دارد که نوع درخواست مصرفکننده را بررسی میکند. قابلیتهای جدید بسیاری اضافه شدهاند؛ بیشتر آنها بهطور کاملاً عمومی برای آرایههای ناپیوسته و آرایههای دارای زیرآفست (suboffset) کار میکنند. مستندات بهروزرسانی شده است و مسئولیتهای هم اکسپورتکنندگان و هم مصرفکنندگان را بهوضوح تشریح میکند. پرچمهای درخواست بافر به پرچمهای پایه و مرکب گروهبندی شدهاند. چیدمان حافظهی آرایههای غیرپیوسته و چندبُعدی به سبک NumPy توضیح داده شده است. قابلیتها¶
تغییرات API¶
(مشارکتشده توسط Stefan Krah در bpo-10181.) همچنین ببینید PEP 3118 - بازنگری پروتکل بافر PEP 393: نمایش انعطافپذیر رشته¶نوع رشتهی یونیکد تغییر کرده است تا بسته به نویسهای که بزرگترین مقدار ترتیبی یونیکد را در رشتهی نمایشدادهشده دارد، از چندین نمایش درونی (۱، ۲ یا ۴ بایت) پشتیبانی کند. این امر در موارد رایج امکان نمایشی کارآمد از نظر فضا را فراهم میکند، اما دسترسی به UCS-4 کامل را در همهی سیستمها میدهد. برای سازگاری با APIهای موجود، ممکن است چندین نمایش بهصورت موازی وجود داشته باشند؛ بهمرور زمان، این سازگاری باید بهتدریج حذف شود. از سمت پایتون، این تغییر نباید هیچ ایرادی داشته باشد. در سمت API زبان C، PEP 393 بهطور کامل با نسخههای پیشین سازگار است. API قدیمی باید دستکم پنج سال در دسترس باقی بماند. برنامههایی که از API قدیمی استفاده میکنند بهطور کامل از کاهش حافظه بهرهمند نخواهند شد، یا — بدتر از آن — ممکن است کمی حافظه بیشتر مصرف کنند، زیرا پایتون ممکن است ناچار باشد دو نسخه از هر رشته را نگهداری کند (یکی در قالب قدیمی و دیگری در ذخیرهسازی کارآمد جدید). کارکرد¶تغییراتی که با PEP 393 معرفی شدند به شرح زیر است:
کارایی و استفاده از منابع¶ذخیرهسازی رشتههای یونیکد اکنون به بالاترین نقطهکد در رشته بستگی دارد:
اثر خالص این است که برای بیشتر برنامهها، مصرف حافظهی ذخیرهسازی رشتهها باید بهطور چشمگیری کاهش یابد - بهویژه در مقایسه با ساختهای پیشین یونیکد پهن - زیرا در بسیاری از موارد، رشتهها حتی در زمینههای بینالمللی نیز اسکی خالص خواهند بود (چرا که بسیاری از رشتهها دادههایی ذخیره میکنند که زبان انسانی نیستند، مانند قطعههای XML، سرآیندهای HTTP، دادههای کدگذاریشده با JSON و غیره). ما همچنین امیدواریم که به همین دلایل، کارایی نهانگاه CPU را در برنامههای غیربدیهی افزایش دهد. مصرف حافظهی پایتون 3.3 در یک بنچمارک Django دو تا سه برابر کمتر از پایتون 3.2 و کمی بهتر از پایتون 2.7 است (برای جزئیات به PEP مراجعه کنید). همچنین ببینید
PEP 397: راهانداز پایتون برای ویندوز¶نصاب ویندوزی پایتون 3.3 اکنون شامل یک برنامه راهانداز این راهانداز بهطور ضمنی هنگام دوبار کلیک کردن روی پروندههای همچنین میتوان از راهانداز بهطور صریح از طریق خط فرمان بهعنوان برنامهی علاوه بر راهانداز، نصاب ویندوز اکنون گزینهای برای افزودن پایتون تازه نصبشده به PATH سیستم در بر میگیرد. (مشارکت از طرف Brian Curtin در bpo-3561.) همچنین ببینید
مستندات راهانداز: مدیر نصب پایتون تغییر PATH توسط نصبکننده: مدیر نصب پایتون PEP 3151: بازسازی سلسلهمراتب استثناهای سیستمعامل و ورودی/خروجی¶سلسلهمراتب استثناهایی که توسط خطاهای سیستمعامل ایجاد میشوند، اکنون هم سادهتر و هم دانهریزتر شده است. دیگر لازم نیست نگران انتخاب نوع استثنای مناسب بین همچنین، اکنون گرفتن یک وضعیت خطای مشخص آسانتر شده است. بهجای اینکه ویژگی و خودِ به لطف استثناهای جدید، اکنون میتوان از کاربردهای رایج from errno import ENOENT, EACCES, EPERM try: with open("document.txt") as f: content = f.read() except IOError as err: if err.errno == ENOENT: print("document.txt file is missing") elif err.errno in (EACCES, EPERM): print("You are not allowed to read document.txt") else: raise اکنون میتوان بدون ایمپورت try: with open("document.txt") as f: content = f.read() except FileNotFoundError: print("document.txt file is missing") except PermissionError: print("You are not allowed to read document.txt") همچنین ببینید
PEP 380: سینتکس واگذاری به زیرتولیدگر¶PEP 380 عبارت هرچند عبارت برای پیمایشگرهای ساده، >>> def g(x): ... yield from range(x, 0, -1) ... yield from range(x) ... >>> list(g(5)) [5, 4, 3, 2, 1, 0, 1, 2, 3, 4] اما برخلاف یک حلقهی معمولی، >>> def accumulate(): ... tally = 0 ... while 1: ... next = yield ... if next is None: ... return tally ... tally += next ... >>> def gather_tallies(tallies): ... while 1: ... tally = yield from accumulate() ... tallies.append(tally) ... >>> tallies = [] >>> acc = gather_tallies(tallies) >>> next(acc) # Ensure the accumulator is ready to accept values >>> for i in range(4): ... acc.send(i) ... >>> acc.send(None) # Finish the first tally >>> for i in range(5): ... acc.send(i) ... >>> acc.send(None) # Finish the second tally >>> tallies [6, 10] اصل اصلی هدایتکنندهی این تغییر این است که حتی تولیدگرهایی که برای استفاده با متدهای همچنین ببینید
PEP 409: سرکوب زمینهی استثنا¶PEP 409 سینتکس جدیدی معرفی میکند که به شما اجازه میدهد نمایش زمینهی استثنای زنجیرهشده را غیرفعال کنید. این امر امکان داشتن پیامهای خطای تمیزتر را در برنامههایی که بین انواع استثنا تبدیل انجام میدهند فراهم میکند: >>> class D: ... def __init__(self, extra): ... self._extra_attributes = extra ... def __getattr__(self, attr): ... try: ... return self._extra_attributes[attr] ... except KeyError: ... raise AttributeError(attr) from None ... >>> D({}).x Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 8, in __getattr__ AttributeError: x بدون پسوند >>> class C: ... def __init__(self, extra): ... self._extra_attributes = extra ... def __getattr__(self, attr): ... try: ... return self._extra_attributes[attr] ... except KeyError: ... raise AttributeError(attr) ... >>> C({}).x Traceback (most recent call last): File "<stdin>", line 6, in __getattr__ KeyError: 'x' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 8, in __getattr__ AttributeError: x هیچ قابلیت اشکالزدایی از دست نمیرود، زیرا زمینهی استثنای اصلی در صورت نیاز در دسترس باقی میماند (مثلاً اگر کتابخانهای میانی جزئیات ارزشمند زیرین را بهاشتباه سرکوب کرده باشد): >>> try: ... D({}).x ... except AttributeError as exc: ... print(repr(exc.__context__)) ... KeyError('x',) همچنین ببینید
PEP 414: مقادیر لفظی یونیکد صریح¶برای آسانسازی گذار از پایتون 2 برای برنامههای پایتونی آگاه از یونیکد که استفادهی فراوانی از مقادیر لفظی یونیکد میکنند، پایتون 3.3 بار دیگر از پیشوند « همچنین ببینید
PEP 3155: نام کامل برای کلاسها و توابع¶توابع و اشیای کلاس ویژگی جدید مثال با متدهای (غیرمقید): >>> class C: ... def meth(self): ... pass ... >>> C.meth.__name__ 'meth' >>> C.meth.__qualname__ 'C.meth' مثال با کلاسهای تودرتو: >>> class C: ... class D: ... def meth(self): ... pass ... >>> C.D.__name__ 'D' >>> C.D.__qualname__ 'C.D' >>> C.D.meth.__name__ 'meth' >>> C.D.meth.__qualname__ 'C.D.meth' مثالی با توابع تودرتو: >>> def outer(): ... def inner(): ... pass ... return inner ... >>> outer().__name__ 'inner' >>> outer().__qualname__ 'outer.<locals>.inner' نمایش رشتهای آن اشیاء نیز برای گنجاندن اطلاعات جدید و دقیقتر تغییر کرده است: >>> str(C.D) "<class '__main__.C.D'>" >>> str(C.D.meth) '<function C.D.meth at 0x7f46b9fe31e0>' همچنین ببینید
PEP 412: دیکشنری با اشتراکگذاری کلید (Key-Sharing Dictionary)¶دیکشنریهایی که برای ذخیرهسازی ویژگیهای اشیاء استفاده میشوند، اکنون میتوانند بخشی از ذخیرهسازی داخلی خود را با یکدیگر به اشتراک بگذارند (یعنی بخشی که کلیدها و هشهای متناظرشان را ذخیره میکند). این امر مصرف حافظهی برنامههایی را که نمونههای زیادی از نوعهای غیرتوکار ایجاد میکنند کاهش میدهد. همچنین ببینید
PEP 362: شیء امضای تابع¶تابع جدید همچنین ببینید
PEP 421: افزودن sys.implementation¶ویژگی جدیدی روی ماژول هدف از یک نمونه از بهبود قابلیت حمل کتابخانه استاندارد، SimpleNamespace¶پیادهسازی همچنین ببینید
استفاده از importlib بهعنوان پیادهسازی ایمپورت¶bpo-2377 - جایگزینی __import__ با importlib.__import__ bpo-13959 - پیادهسازی مجدد بخشهایی از تابع برای کاربر عادی، نباید هیچ تغییر قابلمشاهدهای در معناشناسی وجود داشته باشد. برای کسانی که کدشان در حال حاضر ایمپورت را دستکاری میکند یا ایمپورت را بهصورت برنامهای فراخوانی میکند، تغییرات کدی که ممکن است لازم باشند در بخش Porting Python code این سند شرح داده شدهاند. APIهای جدید¶یکی از مزیتهای بزرگ این کار، آشکار شدن آن چیزی است که در کار کردن دستور import دخیل است. این بدان معناست که ایمپورتکنندههای گوناگونی که زمانی ضمنی بودند، اکنون بهطور کامل بهعنوان بخشی از بستهی کلاسهای پایه انتزاعی تعریفشده در از منظر یابندهها، برای بارگذارها، کلاس پایه انتزاعی جدید
تابع تغییرات قابل مشاهده¶برای تغییرات احتمالی مورد نیاز در کد، به بخش Porting Python code مراجعه کنید. فراتر از گسترهی آنچه تغییر دیگر این است که همهی ماژولها ویژگی اکنون همچنین از بارگذارها انتظار میرود که ویژگی اکنون وقتی هیچ یابندهای روی همهی تغییرات دیگر به تغییرات معنایی مربوطاند که هنگام بهروزرسانی کد برای پایتون 3.3 باید در نظر گرفته شوند، و بنابراین باید دربارهی آنها در بخش Porting Python code این سند بخوانید. (پیادهسازی توسط Brett Cannon) دیگر تغییرات زبان¶برخی از تغییرات کوچکتر اعمالشده در هسته زبان پایتون عبارتاند از:
قفل ایمپورت با دانهبندی ریزتر¶نسخههای قبلی سیپایتون همیشه به قفل ایمپورت سراسری متکی بودند. این امر منجر به بروز مشکلات غیرمنتظرهای میشد؛ مانند بنبستهایی که در آنها ایمپورت کردن یک ماژول بهعنوان اثر جانبی، باعث اجرای کد در یک نخ متفاوت میشد. گاهی اوقات از راهحلهای ناخوشایندی مانند تابع C API به نام در پایتون 3.3، هنگام ایمپورت کردن یک ماژول، قفلی مخصوص همان ماژول گرفته میشود. این کار، ایمپورت یک ماژول معین از چندین نخ را بهدرستی متوالی میسازد (و مانع از نمایان شدن ماژولهای ناقص مقداردهیشده میشود) و در عین حال مزاحمتهای پیشگفته را از بین میبرد. (مشارکت آنتوان پیترو در bpo-9260.) توابع و انواع توکار¶
ماژولهای جدید¶faulthandler¶این ماژول اشکالزدایی جدید نمونهای از خطای قطعهبندی (segmentation fault) در لینوکس: $ python -q -X faulthandler >>> import ctypes >>> ctypes.string_at(0) Fatal Python error: Segmentation fault Current thread 0x00007fb899f39700: File "/home/python/cpython/Lib/ctypes/__init__.py", line 486 in string_at File "<stdin>", line 1 in <module> Segmentation fault ipaddress¶ماژول جدید (مشارکتشده توسط Google و Peter Moody در PEP 3144.) lzma¶ماژول (مشارکتشده توسط Nadeem Vawda و Per Øyvind Karlsen در bpo-6715.) ماژولهای بهبودیافته¶abc¶پشتیبانی بهبودیافته از کلاسهای پایه انتزاعی حاوی توصیفگرهایی که با متدهای انتزاعی ترکیب شدهاند. رویکرد توصیهشده برای اعلان توصیفگرهای انتزاعی اکنون این است که
(با مشارکت Darren Dale در bpo-11610.)
array¶ماژول (مشارکتشده توسط Oren Tirosh و Hirokazu Yamamoto در bpo-1172711.) base64¶رشتههای یونیکدِ صرفاً اسکی اکنون توسط توابع کدگشایی رابط مدرن binascii¶علاوه بر اشیاء دودویی که بهطور معمول میپذیرند، توابع bz2¶ماژول
codecs¶کدک یک کدک جدید مخصوص ویندوز افزودهشده است: کدگشاهای چندبایتی CJK اکنون سریعتر همگامسازی مجدد میکنند. آنها فقط نخستین بایت یک دنباله بایتی نامعتبر را نادیده میگیرند. برای مثال، کدگذارهای افزایشی کدکهای CJK در هر فراخوانی متد encode() خود، دیگر بازنشانی نمیشوند. برای مثال: >>> import codecs >>> encoder = codecs.getincrementalencoder('hz')('strict') >>> b''.join(encoder.encode(x) for x in '\u52ff\u65bd\u65bc\u4eba\u3002 Bye.' b'~{NpJ)l6HK!#~} Bye.' این مثال در نسخههای قدیمیتر پایتون کدک collections¶افزودن کلاس جدید کلاسهای پایه انتزاعی به ماژول جدید کلاس contextlib¶
crypt¶افزودن نمک و قالب کریپت ماژولار (modular crypt format) (روش هش) و تابع curses¶
(مشارکتشده توسط اینیگو سرنا در bpo-6755.) datetime¶
decimal¶
نسخه جدید C ماژول decimal، کتابخانه پرسرعت libmpdec را برای محاسبات ممیز شناور دهدهی با دقت دلخواه و گرد شدن بهدرستی یکپارچه میکند. libmpdec مطابق با مشخصات محاسبات دهدهی عمومی IBM (General Decimal Arithmetic Specification) است. افزایش عملکرد از ۱۰ برابر برای برنامههای پایگاه داده تا ۱۰۰ برابر برای برنامههای با محاسبات عددی سنگین متغیر است. این اعداد، دستاوردهای مورد انتظار برای دقتهای استاندارد استفادهشده در محاسبات ممیز شناور دهدهی هستند. از آنجا که دقت توسط کاربر قابلتنظیم است، ممکن است مقادیر دقیق متفاوت باشند. برای مثال، در محاسبات اعداد صحیح بزرگ (bignum) تفاوتها میتوانند بهطور چشمگیری بیشتر باشند. جدول زیر صرفاً جهت نمایش است. بنچمارکها در https://www.bytereef.org/mpdecimal/quickstart.html در دسترس هستند.
قابلیتها¶
تغییرات API¶
email¶چارچوب سیاست¶بستهی ایمیل اکنون دارای یک چارچوب مجموعهی حداقلی کنترلهایی که همهی اشیاء
یک نمونهی جدید سیاست، همراه با تنظیمات جدید، با استفاده از متد mypolicy = compat32.clone(linesep='\r\n') از سیاستها میتوان برای سادهتر کردن تولید پیامها در قالب مورد نیاز برنامهتان استفاده کرد. بهجای آنکه ناچار باشید در همهی مکانهایی که سیاست آزمایشی با API جدید سرآیند¶هرچند چارچوب سیاست بهخودیخود ارزشمند است، انگیزهی اصلی برای معرفی آن، فراهم کردن امکان ایجاد سیاستهای جدیدی است که ویژگیهای تازهای را برای بستهی email به شکلی پیادهسازی میکنند که سازگاری با نسخههای قبلی برای کسانی که از سیاستهای جدید استفاده نمیکنند، حفظ شود. از آنجا که سیاستهای جدید یک API تازه ارائه میکنند، آنها را در پایتون 3.3 بهعنوان یک سیاست آزمایشی منتشر میکنیم. در صورتی که توسعهدهندگان هسته آن را ضروری بدانند، ممکن است تغییرات ناسازگار با نسخههای قبلی (حتی شامل حذف کد) رخ دهد. سیاستهای جدید نمونههایی از
>>> m = Message(policy=SMTP) >>> m['To'] = 'Éric <[email protected]>' >>> m['to'] 'Éric <[email protected]>' >>> m['to'].addresses (Address(display_name='Éric', username='foo', domain='example.com'),) >>> m['to'].addresses[0].username 'foo' >>> m['to'].addresses[0].display_name 'Éric' >>> m['Date'] = email.utils.localtime() >>> m['Date'].datetime datetime.datetime(2012, 5, 25, 21, 39, 24, 465484, tzinfo=datetime.timezone(datetime.timedelta(-1, 72000), 'EDT')) >>> m['Date'] 'Fri, 25 May 2012 21:44:27 -0400' >>> print(m) To: =?utf-8?q?=C3=89ric?= <[email protected]> Date: Fri, 25 May 2012 21:44:27 -0400 متوجه خواهید شد که نام نمایشی یونیکد هنگام سریالسازی پیام بهطور خودکار بهصورت همچنین میتوانید نشانیها را از اجزا بسازید: >>> m['cc'] = [Group('pals', [Address('Bob', 'bob', 'example.com'), ... Address('Sally', 'sally', 'example.com')]), ... Address('Bonzo', addr_spec='[email protected]')] >>> print(m) To: =?utf-8?q?=C3=89ric?= <[email protected]> Date: Fri, 25 May 2012 21:44:27 -0400 cc: pals: Bob <[email protected]>, Sally <[email protected]>;, Bonzo <[email protected]> کدگشایی به یونیکد بهطور خودکار انجام میشود: >>> m2 = message_from_string(str(m)) >>> m2['to'] 'Éric <[email protected]>' هنگامی که یک پیام را پارس میکنید، میتوانید از ویژگیهای >>> m2['cc'].addresses (Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com'), Address(display_name='Bonzo', username='bonz', domain='laugh.com')) >>> m2['cc'].groups (Group(display_name='pals', addresses=(Address(display_name='Bob', username='bob', domain='example.com'), Address(display_name='Sally', username='sally', domain='example.com')), Group(display_name=None, addresses=(Address(display_name='Bonzo', username='bonz', domain='laugh.com'),)) خلاصه اینکه اگر از یکی از سیاستهای جدید استفاده کنید، دستکاری سرآیندها همانطور کار میکند که باید: برنامهی شما با رشتههای یونیکد کار میکند و بستهی email یونیکد را بهطور شفاف به کدگذاریهای انتقال محتوا (Content Transfer Encodings) استاندارد RFC کدگذاری و از آنها کدگشایی میکند. سایر تغییرات API¶
توابع کاربردی جدید:
ftplib¶
functools¶The gc¶اکنون میتوانید با استفاده از فهرست جدید hmac¶تابع جدید http¶
html¶
یک دیکشنری جدید imaplib¶سازندهی (مشارکتشده توسط Sijin Joseph در bpo-8808.) inspect¶تابع جدید (مشارکتشده توسط Meador Inge و Nick Coghlan در bpo-13062.) تابع جدید (با مشارکت Meador Inge در bpo-15153.) io¶تابع (با مشارکت David Townshend در bpo-12760.) سازندهی کلاس itertools¶
logging¶تابع ویژگی سطح کلاس math¶ماژول (نوشتهشده توسط Mark Dickinson در bpo-11888.) mmap¶متد multiprocessing¶تابع جدید اشیاء
ویژگی جدید متدهای جدید nntplib¶کلاس >>> from nntplib import NNTP >>> with NNTP('news.gmane.org') as n: ... n.group('gmane.comp.python.committers') ... ('211 1755 1 1755 gmane.comp.python.committers', 1755, 1, 1755, 'gmane.comp.python.committers') >>> (مشارکتشده توسط Giampaolo Rodolà در bpo-9795.) os¶
pdb¶تکمیل با Tab اکنون نهتنها برای نام فرمانها، بلکه برای آرگومانهای آنها نیز در دسترس است. برای نمونه، برای فرمان (مشارکتشده توسط Georg Brandl در bpo-14210) pickle¶اشیاء (مشارکتشده توسط Richard Oudkerk در bpo-14166.) pydoc¶رابط گرافیکی Tk و تابع re¶عبارات باقاعدهی (مشارکت Serhiy Storchaka در bpo-3665.) sched¶
select¶پلتفرمهای سولاریس و مشتقات آن دارای کلاس جدید shlex¶تابع کمکی shutil¶
سیگنال¶
smtpd¶ماژول (پشتیبانی اولیه از smtplib¶کلاسهای
سازندهی socket¶
socketserver¶
sqlite3¶متد جدید ssl¶
stat¶تابع مستندنشدهی tarfile.filemode به (باهمکاری Giampaolo Rodolà در bpo-14807.) struct¶ماژول subprocess¶رشتههای فرمان در پلتفرمهای پوزیکس اکنون میتوانند اشیای بایت باشند. (مشارکت توسط Victor Stinner در bpo-8513.) ثابت جدید sys¶ماژول tarfile¶اکنون tempfile¶متد textwrap¶ماژول threading¶
سازندهی تابع time¶PEP 418 توابع جدیدی به ماژول
سایر توابع جدید:
برای بهبود سازگاری بینسکویی، types¶افزودن کلاس جدید توابع جدید unittest¶
urllib¶کلاس >>> urlopen(Request('https://www.python.org', method='HEAD')) webbrowser¶ماژول xml.etree.ElementTree¶ماژول zlib¶ویژگی جدید ویژگی جدید بهینهسازیها¶بهبودهای عملکردی عمدهای افزوده شدهاند:
تغییرات ساخت و C API¶تغییرات در فرایند ساخت پایتون و در C API شامل موارد زیر است:
منسوخ¶سیستمعاملهای پشتیبانینشده¶OS/2 و VMS به دلیل نبود نگهدارنده، دیگر پشتیبانی نمیشوند. ویندوز 2000 و پلتفرمهای ویندوز که پشتیبانی از OSF، که در نسخه 3.2 منسوخ شده بود، بهطور کامل حذف شده است. ماژولها، توابع و متدهای منسوخ پایتون¶
توابع و نوعهای منسوخ API زبان C¶نوع توابع و متدهای یونیکد که از نوعهای
توابع و ماکروهایی که رشتههای Py_UNICODE* را دستکاری میکنند:
کدگذارها:
قابلیتهای منسوخ¶کد قالب انتقال به پایتون 3.3¶این بخش تغییرات پیشتر شرح دادهشده و سایر رفع اشکالهایی را فهرست میکند که ممکن است نیاز به تغییراتی در کد شما داشته باشند. انتقال کد پایتون¶
انتقال کد C¶
ساخت ماژولهای توسعهای C¶
تغییرات سوییچهای خط فرمان¶
© حق نشر 2001 Python Software Foundation.
این صفحه تحت مجوز بنیاد نرمافزار پایتون نسخه ۲ منتشر شده است. مثالها، دستورالعملها، و سایر کدهای موجود در مستندات همچنین تحت مجوز بدون بند BSD منتشر شدهاند. برای اطلاعات بیشتر به تاریخچه و مجوز مراجعه کنید. بنیاد نرمافزار پایتون یک شرکت غیرانتفاعی است. لطفاً کمک مالی کنید. آخرین بهروزرسانی در نوامبر 12, 2026 (06:19 UTC). آیا اشکالی یافتید؟ ساخته شده با Sphinx 9.1.0. | ||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |