Hacker News

بوغما يىلان تەكشۈرگۈچ سېلىشتۇرۇش: قۇرۇق قاچا يەكۈن

باھا

1 min read Via pyrefly.org

Mewayz Team

Editorial Team

Hacker News

نېمە ئۈچۈن قۇرۇق قاچىلار Python تىپلىق تەكشۈرگۈچنى بۇزىدۇ - ۋە بۇ توغرىدا نېمە قىلالايسىز

Python نىڭ تەدرىجىي يېزىش سىستېمىسى 2015-يىلى PEP 484 تىپلىق بېشارەتلەرنى ئوتتۇرىغا قويغاندىن بۇيان كۆرۈنەرلىك پىشىپ يېتىلدى. بۈگۈنكى كۈندە ، مىليونلىغان پروگراممېرلار تۇراقلىق تىپ تەكشۈرگۈچكە تايىنىپ ئىشلەپچىقىرىشقا كىرىشتىن بۇرۇن كەمتۈك تۇتىدۇ. ئەمما تىپىك سىستېمىنىڭ ئىنچىكە ، كىشىنى ئۈمىدسىزلەندۈرىدىغان بىر بۇلۇڭى بار ، ئۇ يەنىلا تەجرىبىلىك ئىنژېنېرلارنى بېسىپ چۈشىدۇ: قۇرۇق قاچىنىڭ قانداق تىپى بار؟ ئىزاھسىز x = [] نى يازسىڭىز ، تىپ تەكشۈرگۈچىڭىز پەرەز قىلىشى كېرەك - ئوخشىمىغان تەكشۈرگۈچىلەر باشقىچە پەرەز قىلىدۇ. بۇ خىل ئوخشىماسلىق چوڭ كود يەشكۈچنى ساقلايدىغان گۇرۇپپىلار ئۈچۈن ھەقىقىي مەسىلە پەيدا قىلىدۇ ، بۇ يەردە تىپ تەكشۈرگۈچنى ئالماشتۇرۇش ياكى بىرلەشتۈرۈش بىر كېچىدىلا يۈزلىگەن كۈتۈلمىگەن خاتالىقلارنى كەلتۈرۈپ چىقىرىدۇ.

بۇ ماقالە Mython ، نەشر ھوقۇقى ، pytype ۋە pyre دىن ئىبارەت تۆت چوڭ Python تىپلىق تەكشۈرگۈچنىڭ قۇرۇق قاچا يەكۈنىنى قانداق بىر تەرەپ قىلىدىغانلىقىنى ، ئۇلارنىڭ نېمە ئۈچۈن قوشۇلمايدىغانلىقىنى ۋە قورال-ياراغ تاللىشىڭىزنىڭ قانداق بولۇشىدىن قەتئىينەزەر ، بىخەتەر Python نى يېزىش ئۈچۈن قانداق ئەمەلىي ئىستراتېگىيىلەرنى قوللانسىڭىز بولىدىغانلىقىنى كۆرسىتىپ بېرىدۇ.

يادرولۇق مەسىلە: قۇرۇق قاچىلار ئىچكى جەھەتتە مۈجمەل

Python نىڭ بۇ بىگۇناھ قۇرنى ئويلاڭ: نەتىجە = [] . نەتىجە تىزىملىك ​​[int] مۇ؟ A تىزىملىك ​​[str] ؟ تىزىملىك ​​[بۇيرۇق [str, Any]] ؟ قوشۇمچە مەزمۇن بولمىسا ، ھەقىقىي بىلگىلى بولمايدۇ. Python نىڭ ئىجرا قىلىنىش ۋاقتى پەرۋا قىلمايدۇ - تىزىملىكلەر تەبىئى جەھەتتىن ئوخشاش بولمايدۇ ، ئەمما تۇراقلىق تىپ تەكشۈرگۈچىلەر ئۆز خىزمىتىنى قىلىش ئۈچۈن ھەر بىر ئۆزگەرگۈچى مىقدارغا كونكرېت تىپ تەقسىملىشى كېرەك. بۇ Python نىڭ ھەرىكەتچان جانلىقلىقى بىلەن تۇراقلىق ئانالىزنىڭ تەمىنلەشكە كاپالەتلىك قىلىدىغان كاپالىتى ئوتتۇرىسىدا تۈپكى جىددىيلىك پەيدا قىلىدۇ.

مەسىلە لۇغەت ۋە يۈرۈشلۈكلەر بىلەن بىرىكىدۇ. قۇرۇق {} ئەمەلىيەتتە بۇيرۇق دەپ تەھلىل قىلىنىدۇ ، بۇ يۈرۈشلۈك ئەمەس ، بۇ تىپتىكى مۈجمەللىكنىڭ ئۈستىگە بىرىكمە مۈجمەللىك قوشىدۇ. ئۇۋا قاچىلانغان قاچىلار - سۈكۈتتىكى بۇيرۇق (تىزىملىك) ياكى نەتىجە = {k: [] كۇنۇپكىدىكى k ئۈچۈن} دەپ ئويلاڭ - يەكۈن ماتورنى ئۇلارنىڭ چېكىگە ئىتتىرىڭ. ھەر بىر تىپ تەكشۈرگۈچى ئۆزىنىڭ ئېرسىيەتشۇناسلىقىنى تەرەققىي قىلدۇردى ، ئوخشىماسلىق كۆپىنچە پروگراممېرلار ھېس قىلغاندىنمۇ مۇھىم.

ئىشلەپچىقىرىش سىستېمىلىرىدا ھەقىقىي خىزمەت يۈكىنى بىر تەرەپ قىلىش - مەيلى CRM خېرىدارلارنىڭ خاتىرىسىنى بىر تەرەپ قىلىش ، تالون مودۇلى ھاسىل قىلىدىغان لىنىيىلىك تۈرلەر ياكى ئانالىز تۇرۇبا لىنىيىسى توپلاش ئۆلچەملىرى بولسۇن - قۇرۇق قاچىلار توختىماستىن دەسلەپكى باشلىنىش شەكلى سۈپىتىدە كۆرۈنىدۇ. ئۇلارنىڭ تىپلىرىنى خاتا چۈشىنىش پەقەت ئاگاھلاندۇرۇش پەيدا قىلمايدۇ. ئۇ ئىجرا ۋاقتىغا سىيرىلىدىغان ھەقىقىي كەمتۈكلەرنى نىقابلىيالايدۇ.

Mypy: ئېنىق بولمىغان ھەر قانداق

بىلەن كېچىكتۈرۈلگەن يەكۈن

ئەڭ كونا ۋە ئەڭ كەڭ قوللىنىلغان Python تىپلىق تەكشۈرگۈچ Mypy قۇرۇق قاچىلارغا نىسبەتەن يۇمشاق مۇئامىلە قىلىدۇ. ئىقتىدار دائىرىسىدە x = [] غا يولۇققاندا ، ئۇ تىپ قارارىنى كېچىكتۈرۈش ۋە ئېلېمېنتنىڭ كېيىنكى ئىشلىتىلىشىدىن يەكۈنلەشكە ئۇرۇنىدۇ. ئەگەر سىز x = [] دىن كېيىن x.append (42) نى يازسىڭىز ، mypy تىزىملىك ​​[int] نى يەكۈنلەيدۇ. بۇ «قوشۇلۇش» ئىستراتېگىيىسى قاچا ئوخشاش دائىرىدە ئولتۇراقلاشقان بىۋاسىتە ئەھۋاللار ئۈچۈن ھەيران قالارلىق دەرىجىدە ياخشى ئىشلەيدۇ.

قانداقلا بولمىسۇن ، mypy نىڭ ھەرىكىتى مەزمۇن ۋە قاتتىقلىق تەڭشىكىگە ئاساسەن زور دەرىجىدە ئۆزگىرىدۇ. بۆلەك دائىرىسىدە (يۇقىرى دەرىجىلىك كود) ياكى قاچا-قۇچىلار نوپۇسقا ئېلىنىشتىن بۇرۇن باشقا ئىقتىدارغا ئۆتكەندە ، mypy ھەمىشە تىزىملىككە [ھەر قانداق] گە قايتىدۇ. - چەكلىمە بايرىقى ئاستىدا ، بۇ خاتالىق كەلتۈرۈپ چىقىرىدۇ ، ئەمما سۈكۈتتىكى ھالەتتە ئۇ ئۈن-تىنسىز ئۆتىدۇ. بۇ قاتتىق ھالەتسىز mypy نى ئىجرا قىلىدىغان گۇرۇپپىلارنىڭ تىپىك سىستېمىدىن قېچىش رولىنى ئوينايدىغان ئون نەچچە يوشۇرۇن خەت ساندۇقىنى توپلىيالايدىغانلىقىدىن دېرەك بېرىدۇ.

ئالاھىدە بىر ئىنچىكە ھەرىكەت: 0.990 دىن بۇرۇنقى mypy نۇسخىلىرى بەزىدە ئىچكى قىسىمدا تىزىملىك [نامەلۇم] نى يەكۈنلەپ ، ئاندىن تاپشۇرۇقتىكى تىزىملىك [ھەر قانداق] گە كېڭىيىدۇ. 0.990-يىلدىن كېيىن ، يەكۈن تېخىمۇ چىڭىتىلدى ، ئەمما بۇ ئۆزگىرىش ھەيران قالارلىق ساندىكى رېئال دۇنيا كود يەشكۈچلىرىنى بۇزۇپ تاشلىدى. بۇ قايتا-قايتا تەكرارلىنىدىغان تېما - قۇرۇق قاچا يەكۈنگە ئۆزگەرتىش ئەڭ قالايمىقان بولغان تەكشۈرۈش تەكشۈرگۈچلىرىنىڭ بىرى ، چۈنكى قېلىپلار ھەممىلا جايدا بار.

نەشر ھوقۇقى: قاتتىق يەكۈن ۋە «نامەلۇم» تىپ

مىكروسوفت تەرىپىدىن ئىجاد قىلىنغان ۋە VS كودىدىكى Pylance نى كۈچلەندۈرىدىغان نەشر ھوقۇقى تۈپتىن ئوخشىمايدىغان پەلسەپە مەيدانىنى قوللىنىدۇ. نەشر ھوقۇقى ئۈن-تىنسىز ھەر قانداق غا قايتىشتىن كۆرە ، نامەلۇم (تېخى بېكىتىلمىگەن تىپ) بىلەن ھەر قانداق (تىپ تەكشۈرۈشنى ئوچۇق-ئاشكارە رەت قىلىش) نى پەرقلەندۈرىدۇ. نەشر ھوقۇقىنىڭ قاتتىق ھالەتتە x = [] نى يازسىڭىز ، ئۇ تىزىملىك [نامەلۇم] غا تەسىر كۆرسىتىدۇ ۋە دىئاگنوزنى دوكلات قىلىدۇ ، سىزنى ئىزاھلاشقا مەجبۇرلايدۇ.

نەشر ھوقۇقى دائىرىدە تارىيىش غا قارىتا تېخىمۇ تاجاۋۇزچىلىق قىلىدۇ. يازسىڭىز:

  • x = [] كەينىدىن x.append ("ياخشىمۇسىز") - نەشر ھوقۇقىغا خىلاپلىق قىلغۇچىلار تىزىملىك [str]
  • x = [] كەينىدىن x.append (1) ئاندىن x.append ("ياخشىمۇسىز") - نەشر ھوقۇقىغا خىلاپلىق قىلغۇچىلار تىزىملىك str]
  • x = [] بىۋاسىتە چاقىرىش تور بېتىدىن تىزىملىك [int] - نەشر ھوقۇقىغا خىلاپلىق قىلغۇچىلار تىزىملىك [int] نى ئۈمىد قىلىدىغان ئىقتىدارغا ئۆتتى.
  • x = [] فۇنكىسىيەدىن قايتىش تىپىدىكى ئىزاھسىز قايتىپ كەلدى - نەشر ھوقۇقى پەرەز قىلىشتىن كۆرە خاتالىق مەلۇم قىلىدۇ

بۇ قوش يۆنىلىشلىك يەكۈن (كېيىنكى ئىشلىتىش ۋە چاقىرىش تور بېكەتلىرىنىڭ مۆلچەردىكى تۈرلىرىنى ئىشلىتىش) نەشر ھوقۇقىنى قۇرۇق قاچىلارغا Mypy غا قارىغاندا تېخىمۇ ئېنىق قىلىدۇ. سودىدا سۆزلەش بىر قەدەر ئوچۇق: بىر نەچچە ئوچۇق مەنبەلىك كۆچمەنلەر دوكلاتىنىڭ تەھلىلىگە قارىغاندا ، نەشر ھوقۇقىنىڭ قاتتىق ھالەتتىكى تىپىك نامەلۇم كود يەشكۈچتە تەخمىنەن 30-40% ئارتۇق مەسىلە بايراق چىقىرىدىكەن. مۇرەككەپ ئارقا سىستېما بەرپا قىلىدىغان گۇرۇپپىلارغا نىسبەتەن ، مەسىلەن ، CRM ، مائاش ۋە ئانالىزنى ئۆز ئىچىگە ئالغان 207 ئۆز-ئارا مۇناسىۋەتلىك مودۇلنى باشقۇرىدىغان سۇپا - نەشر ھوقۇقىنىڭ قاتتىقلىقى كەڭ قورساقلىق بىلەن قولدىن بېرىپ قويمايدىغان ئىنچىكە كۆرۈنمە يۈزى ماسلاشمايدۇ.

Pytype ۋە Pyre: ئاز سەپەر قىلىنغان يوللار

گۇگۇلنىڭ pytype بەلكىم ئەڭ قوللىنىشچان ئۇسۇلنى قوللىنىشى مۇمكىن. Pytype ئىزاھلاشنى تەلەپ قىلىش ياكى ھەر قانداق غا قايتىشنىڭ ئورنىغا ، پۈتۈن پروگرامما ئانالىزى ئارقىلىق قاچىنىڭ ئىقتىدار چېگراسىدا قانداق ئىشلىتىلىدىغانلىقىنى ئىز قوغلايدۇ. ئەگەر سىز بىر فۇنكىسىيەدە قۇرۇق تىزىملىك ​​قۇرسىڭىز ھەمدە ئۇنى پۈتۈن سان قوشۇۋالىدىغان باشقا ئورۇنغا يەتكۈزسىڭىز ، pytype ھېچقانداق ئىزاھسىزلا تىزىملىك ​​[int] نى يەكۈنلىيەلەيدۇ. بۇ ھالقىلىق ئىقتىدار يەكۈنى ھېسابلاش جەھەتتە قىممەت - pytype چوڭ كود يەشكۈچتىكى سىر ياكى نەشر ھوقۇقىدىن كۆرۈنەرلىك ئاستا - ئەمما ئۇ نامەلۇم كودلاردا ئاز بولمىغان ئىجابىي تەرەپلەرنى ھاسىل قىلىدۇ.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →

Pytype يەنە قۇرۇق قاچىلارغا «قىسمەن تىپلار» ئۇقۇمىنى تونۇشتۇرىدۇ. يېڭىدىن قۇرۇلغان [] قىسمەن تىپقا ئېرىشىدۇ ، تەكشۈرگۈچى تېخىمۇ كۆپ ئىشلىتىشكە دۇچ كەلگەندە بارا-بارا مۇكەممەللەشتۈرۈلىدۇ. بۇ ئۇقۇم جەھەتتىن نەپىس ، ئەمما قىسمەن تىپنى تولۇق ھەل قىلغىلى بولمىغاندا ، قالايمىقان قاچا-قۇچىلارنى قالايمىقانلاشتۇرۇۋېتىدۇ.

Meta's pyre شۇنىڭ بىلەن بىر ۋاقىتتا ، mypy نىڭ ھەرىكىتىگە تېخىمۇ يېقىنلىشىدۇ ، ئەمما سۈكۈتتىكى ھالىتى تېخىمۇ قاتتىق. Pyre x = [] نى تىزىملىك ​​[نامەلۇم] دەپ قارايدۇ ۋە كۆپىنچە مەزمۇنلاردا ئىزاھلاشنى تەلەپ قىلىدۇ. Pyre ئۆزىنى پەرقلەندۈرىدىغان يەردە ، kwargs سۈپىتىدە ئىشلىتىلىدىغان قۇرۇق لۇغەت لۇغىتىنى بىر تەرەپ قىلىشتا - تور رامكىسىدىكى كۆپ ئۇچرايدىغان ئەندىزە. Pyre نىڭ ئاچقۇچلۇق سۆز تالاش-تارتىش مەزمۇنىدىن لۇغەت تىپلىرىنى يەكۈنلەيدىغان ئالاھىدە ئەھۋال لوگىكىسى بار ، رامكا ئېغىر كود يەشكۈچلىرىدە ئىزاھلاش يۈكى يېنىكلەيدۇ. كۆپىنچە زامانىۋى تور قوللىنىشچان پروگراممىلىرىنىڭ لۇغەت بوغچىسىنى سەپلەش ۋە تەلەپلەرنى بىر تەرەپ قىلىشتا ئېغىر ئىشلىتىشنى ئۆز ئىچىگە ئالىدىغانلىقىنى كۆزدە تۇتقاندا ، بۇ ئەمەلىيەتچىل پايدا تەقسىملەيدۇ.

رېئال دۇنيا تەسىرى: پەرقلىق پەرقلىق بىشارەتلەر

تىپ تەكشۈرگۈچىلەرنىڭ پەرقى ئۇلارنى ئىشلەپچىقىرىش كودىدا باشتىن كەچۈرمىگۈچە ئىلمىيدەك كۆرۈنۈشى مۇمكىن. سودا قوللىنىشچان پروگراممىلىرىدا كۆپ ئۇچرايدىغان ئەندىزىنى ئويلىشىپ كۆرۈڭ: شەرتلىك ھالدا نوپۇس قۇرۇلمىسىنى قوزغىتىش.

ئەڭ خەتەرلىك قۇرۇق قاچىلار تىپىدىكى تەكشۈرگۈچىلەر بايرىقى ئەمەس - ئۇلار يەكۈنلەنگەن ھەر قانداق تىپى بىلەن ئۈن-تىنسىز ئۆتىدىغان بولۇپ ، ماس كەلمەيدىغان سانلىق مەلۇماتلارنى ئاگاھلاندۇرۇش بەرمەي توپلاشقا بولىدۇ.

كونكېرت مىسال: fintech ئىگىلىك تىكلەش گۇرۇپپىسىدىكى بىر گۇرۇپپا چىقىمنى ئۈچ كۈن ئىشلەپچىقىرىش مەسىلىسىنى ھەل قىلىش نى دوكلات قىلدى. بۇ تىزىملىكتە پۇل سوممىسىنىڭ ئونلۇق ئوبيېكتى بولۇشى كېرەك ئىدى ، ئەمما ئۇنىڭ ئورنىغا كود يولى لەيلىمە قىممىتىنى قوشۇۋاتاتتى. Mypy نىڭ مۇلايىم يەكۈنلىرى ئۈن-تىنسىز يول قويدى. بۇ خاتالىق پەقەت لەيلىمە ھېسابلاشتىكى يۇمىلاق ئۈستەل خاتالىقلىرى بىر تۈركۈم 12000 تالوندا 0.01 دوللارلىق ئوخشىماسلىقنى كەلتۈرۈپ چىقارغاندا پەيدا بولدى. ئەگەر ئۇلار نەشر ھوقۇقىنى قاتتىق ھالەتتە ئىشلەتكەن بولسا ياكى قۇرۇق تىزىملىكنى تىزىملىك [ئونلۇق] دەپ ئىزاھلىغان بولسا ، بۇ خاتالىق تەرەققىيات ۋاقتىدا تۇتۇلغان بولاتتى.

Mewayz دە ، سۇپا 138،000+ ئىشلەتكۈچى ھېساباتىدىكى تالون ، مائاش ھېسابلاش ۋە پۇل-مۇئامىلە ئانالىزلىرىنى بىر تەرەپ قىلىدۇ ، بۇ خىل بىخەتەرلىك پەرقى نەزەرىيەۋى ئەمەس - ئۇ توغرا مائاش يۈرۈشتۈرۈش بىلەن قىممەت ھېسابلاشنىڭ پەرقى. كونتېينېرنى دەسلەپكى قەدەمدە قاتتىق يېزىش ئىنتىزامى كىشىنى ھاياجانغا سالىدىغان ئىشلەپچىقىرىش ۋەقەلىرىنىڭ ئالدىنى ئالىدىغان «زېرىكىشلىك» قۇرۇلۇش مەشغۇلاتلىرىنىڭ بىرى.

مۇداپىئە قاچىلىغۇچنى قوزغىتىشتىكى ئەڭ ياخشى ئۇسۇل

گۇرۇپپىڭىزنىڭ قايسى خىل تەكشۈرگۈچ ئىشلىتىشىدىن قەتئىينەزەر ، قۇرۇق قاچا مۈجمەللىكىنى پۈتۈنلەي يوقىتىشنىڭ كونكرېت ئىستراتېگىيىسى بار. بۇنىڭدىكى مەقسەت قۇرۇق قاچىلارغا يەكۈن چىقىرىشقا ھەرگىز تايانماسلىق - تىپنى ئوچۇق قىلىپ قويۇڭ ، شۇڭا كودىڭىز بارلىق تەكشۈرگۈچىلەردە ئېلىپ يۈرۈشكە ئەپلىك بولۇپ ، نەشىردىكى يەكۈن ھەرىكىتىنىڭ ئۆزگىرىشىدىن ساقلىنالايدۇ.

  1. ھەمىشە قۇرۇق قاچا ئۆزگەرگۈچى مىقدارنى ئىزاھلاڭ. نەتىجە: تىزىملىك [int] = [] نەتىجە = [] نىڭ ئورنىغا. تېجەش ۋاقتىغا سېلىشتۇرغاندا ، كىچىك سۆزلۈك تەننەرخىگە سەل قاراشقا بولمايدۇ. بۇ يەككە مەشغۇلات تەخمىنەن% 80 قۇرۇق قاچا يەكۈن چىقىرىش مەسىلىسىنى تۈگىتىدۇ.
  2. مۇرەككەپ قاچىلارغا زاۋۇت فۇنكسىيەسىنى ئىشلىتىڭ. قايتۇرۇش تىپىدىكى ئىزاھات كۆزلىگەن تىپنى ئېنىق ۋە ئۆزى ھۆججەتكە ئايلاندۇرىدۇ.
  3. كىچىك تىپتىكى تىپلارغا يېزىلغان خەت يازغۇچىلارنى ياخشى كۆرۈڭ. سۈكۈتتىكى ھۆكۈم ۋە Counter ئۈچۈن ھەمىشە تىپ پارامېتىرى بىلەن تەمىنلەڭ: ھېسابلاش: Counter [str] = Counter () .
  4. يېڭى كود ئۈچۈن تىپ تەكشۈرگۈچىڭىزنىڭ قاتتىق ھالىتىنى سەپلەڭ. مىراس كودىنى تەدرىجىي كۆچۈرگەندە يېڭى مودۇللارنى قاتتىق تەكشۈرۈشنى قوزغىتىڭ. بۇ يوشۇرۇن شەكىلدىكى يېڭى قاچىلارنىڭ يىغىلىشىنىڭ ئالدىنى ئالىدۇ.
  5. CI تۇرۇبا يولىغا سېلىشتۇرۇشنى سېلىشتۇرۇشنى قوشۇڭ. ئەگەر بىر ئەندىزە بىر تەكشۈرگۈچىدىن ئۆتۈپ كەتسە ، يەنە بىرى مەغلۇپ بولسا ، بۇ تىپنىڭ ئېنىق ئەمەسلىكىنىڭ سىگىنالى.

چوڭراق رەسىم: گۇرۇپپا مەشىقى سۈپىتىدە تەكشۈرۈش

قۇرۇق قاچا يەكۈن ئاخىرىدا Python نىڭ تىپى سىستېمىسىدىكى تېخىمۇ چوڭ رىقابەتنىڭ كىچىكلىتىلگەن كارتىنىسى: قۇلايلىق بىلەن بىخەتەرلىك ئوتتۇرىسىدىكى جىددىيلىك. Python نىڭ «بىز ھەممىمىز چوڭلارغا قوشۇلىمىز» پەلسەپىسى ئۈلگە يېزىش ۋە قوليازما ئۈچۈن ناھايىتى ياخشى ئىشلەيدۇ ، ئەمما مىڭلىغان ئابونتلارغا مۇلازىمەت قىلىدىغان ئىشلەپچىقىرىش سىستېمىسى تېخىمۇ كۈچلۈك كاپالەتكە موھتاج. تۆت چوڭ تىپتىكى تەكشۈرگۈچىلەرنىڭ [] نىڭ تىپىغا ئوخشاش ئاساسى ئىشلاردا بىرلىككە كېلەلمىگەنلىكى Python خەت بېسىش ئېكولوگىيە سىستېمىسىنىڭ تېخى پىشىپ يېتىلىۋاتقانلىقىنى كۆرسىتىپ بېرىدۇ.

مۇرەككەپ گۇرۇپپىلارنى قۇرۇپ چىقىدىغان قۇرۇلۇش گۇرۇپپىلىرىغا نىسبەتەن - مەيلى سىز بىر نەچچە مىكرو مۇلازىمېتىرنى باشقۇرۇڭ ياكى Mewayz نىڭ سودا مەشغۇلات سىستېمىسىغا ئوخشاش يۈزلىگەن ئۆز-ئارا مۇناسىۋەتلىك مودۇللار بىلەن توپلاشتۇرۇلغان سىستېمىنى باشقۇرۇڭ - ئەمەلىي مەسلىھەت بىۋاسىتە: قۇرۇق قاچىلارغا يەكۈن چىقىرىشقا تايانماڭ ، تىپ تەكشۈرگۈچنى تاللاڭ ۋە ئۇنى قاتتىق تەڭشەڭ ، تىپ ئىزاھاتىنى ماشىنا تەكشۈرگىلى بولىدىغان ھۆججەتلەر قاتارىدا بىر تەرەپ قىلىڭ. [] نىڭ ئورنىغا تىزىملىك ​​[تالون] نى يېزىشقا سەرپ قىلىنغان بەش مىنۇت كود يەشكۈچ تارازىسى بولغاندا سىزنى بىر نەچچە سائەت ھەل قىلالايسىز.

PEP 696 (سۈكۈتتىكى تىپ پارامېتىرلىرى) ۋە PEP 695 (تىپ پارامېتىر گرامماتىكىسى) يېڭى Python نەشىرىگە داۋاملىق قونغاندا ، ئوچۇق خەت يېزىشنىڭ ئېروگونومىيىسى داۋاملىق ياخشىلىنىدۇ. «ئىزاھلانغان» بىلەن «ئىزاھلانمىغان» Python نىڭ پەرقى كىچىكلەيدۇ. ئەمما شۇ كۈنىگە قەدەر ، ئېنىق قاچا تىپلىرى يەنىلا Python ئاچقۇچىلار قورال ئامبىرىدىكى ئەڭ يۇقىرى ROI مەشغۇلاتلىرىنىڭ بىرى بولۇپ قالدى - بۇ كىچىك پەن ، ھەر بىر مودۇل ، ھەر بىر چامباشچىلىق ۋە ھەر بىر ئىشلەپچىقىرىش ئورۇنلاشتۇرۇشىدا بىرىكمە ئۆسۈم تۆلەيدۇ.

بۈگۈن سودا مەشغۇلات سىستېمىڭىزنى قۇرۇپ چىقىڭ

ئەركىن كەسىپكارلاردىن تارتىپ ئورگانلارغىچە ، مېۋايز 137،000+ كارخانىنى 207 توپلاشتۇرۇلغان مودۇل بىلەن تەمىنلەيدۇ. ھەقسىز باشلاڭ ، ئۆسكەندە يېڭىلاڭ.

ھەقسىز ھېسابات قۇرۇش →

دائىم سورايدىغان سوئاللار

نېمىشقا تەكشۈرگۈچىلەر قۇرۇق تىزىملىكنىڭ تۈرىگە قوشۇلمايدۇ؟

`x = []` نى يازغاندا ، تىپ تەكشۈرگۈچى چوقۇم ئېنىق بېشارەت بەرمەي بىر تۈرنى يەكۈنلىشى كېرەك. ئوخشىمىغان تەكشۈرگۈچىلەر ئوخشىمىغان ئىستراتېگىيىلەرنى قوللىنىدۇ: بەزىلىرى «ھەر قانداق تىزىملىك» (ھەر قانداق بىر تىزىملىك) نى يەكۈنلەيدۇ ، يەنە بەزىلىرى «تىزىملىك ​​[None]» غا ئوخشاش تېخىمۇ ئېنىق ، ئەمما خاتا تىپنى يەكۈنلىشى مۇمكىن. بۇ ئۇنىۋېرسال ئۆلچەمنىڭ كەملىكى ئۇلارنىڭ قوشۇلماسلىقىنىڭ سەۋەبى. كۆپ خىل تەكشۈرۈش ئۈسكۈنىسىنى ئىشلىتىدىغان تۈرلەرگە نىسبەتەن ، بۇ ماس كەلمەسلىك ئاساسلىق باش ئاغرىقى بولۇپ ، باشقا قورالدىن ئۆتىدىغان بىر قورالدا تەھلىلنى بۇزۇپ تاشلايدۇ.

قۇرۇق قاچا خاتالىقىنى تۈزىتىشنىڭ ئەڭ ئاددىي ئۇسۇلى نېمە؟

ئەڭ ئاددىي ھەل قىلىش چارىسى ئېنىق تىپتىكى ئىزاھات بېرىش. «My_list = []» نىڭ ئورنىغا ، «my_list: list [str] = []» نى يېزىپ ، كۆزلىگەن تىپنى ئېنىق ئېلان قىلىڭ. بۇ تىپ تەكشۈرگۈچتىكى بارلىق مۈجمەللىكنى چىقىرىپ تاشلاپ ، mypy ، نەشر ھوقۇقى ۋە Pyre غا ئوخشاش ئوخشىمىغان قوراللار ئارا بىردەك ھەرىكەتكە كاپالەتلىك قىلىدۇ. يەكۈن خاتالىقلىرىنىڭ ئالدىنى ئېلىش ئۈچۈن بارلىق قۇرۇق قاچىلارنى باشلاش ئۈچۈن بۇ مەشغۇلات تەۋسىيە قىلىنىدۇ.

دەرس ئېنىقلىمىسى ئىچىدىكى قۇرۇق قاچىلارنى قانداق بىر تەرەپ قىلىمەن؟

بۇ كۆپ ئۇچرايدىغان مەسىلە ، چۈنكى دەرس ئىچىدىكى ئىزاھلار ئالاھىدە بىر تەرەپ قىلىشنى تەلەپ قىلىدۇ. ئەگەر تىزىملىك ​​بىر تۈر خاسلىقى بولسا ، چوقۇم «__future__ ئىمپورت ئىزاھاتى» ياكى «ClassVar» ئىزاھاتىنى ئىشلىتىڭ. مەسىلەن ، `class MyClass: my_list: ClassVar [list [str]] = []`. بۇ بولمىسا ، تىپ تەكشۈرگۈچى تىپنى توغرا يەكۈنلەپ ، خاتالىق كەلتۈرۈپ چىقىرىشى مۇمكىن.

چوڭ تۈرلەردە بۇ خەت بېسىش مەسىلىلىرىنى باشقۇرۇشقا ياردەم بېرىدىغان قوراللار بارمۇ؟

شۇنداق ، نەشر ھوقۇقى (VS كودىدىكى Pylance غا ئوخشاش) غا ئوخشاش ئىلغار تىپتىكى تەكشۈرگۈچىلەر مۇرەككەپ يەكۈننى بىر تەرەپ قىلىشقا ئالاھىدە ماھىر. چوڭ كود يەشكۈچلىرىگە نىسبەتەن ، Mewayz غا ئوخشاش سۇپىلار (ھەر ئايدا 19 دوللار ئۈچۈن 207 ئانالىز مودۇلى بىلەن تەمىنلەيدۇ) تېخىمۇ چوڭقۇر ، تېخىمۇ تۇراقلىق بولغان تەكشۈرۈشنى تەمىنلەپ ، پۈتۈن گۇرۇپپىڭىزدا ئىزاھلاش مەشغۇلاتىنى يولغا قويۇپ ، ماقالىدە سۆزلەنگەن ماسلاشماسلىقنى پەسەيتىدۇ.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime