Пайдалы кеңестер

Python бағдарламалау тілінде мәліметтерді қалай шығару керек

Python-да қандай ортада бағдарламалар құруға және іске қосуға болатындығын анықтағаннан кейін, сіз осы тілдің негіздерін біле бастай аласыз. Ең қызығы, алғашқы қарапайым бағдарламаларды кез-келген күрделі құрылымдар мен бағдарламаның құрамын білместен жазуға болады (Паскальдағыдай). Бұл сабақта біз Python-да енгізу-шығару операцияларымен, сондай-ақ компьютер экранында арифметикалық амалдардың жылдам шығарылуымен танысамыз.



Бағдарламада жасалған әрекеттер нәтижесінде не болатынын білу үшін сіз оны қандай да бір жолмен көрсетуіңіз керек. Бағдарламадан мәліметтерді шығарудың қарапайым және қарапайым тәсілі - бұл нәтижені экранға, IDLE әзірлеу ортасының Shell командалық сызығынан алынған ескірген нәтиже.

Экранда мәндерді көрсету үшін Python функциясы бар басып шығару (). Үтірлермен бөлінген жақшалардың ішіне шығарғыңыз келетін нәрсені жазыңыз.

Қолайлы форматтау

Қазіргі уақытта біз мәндерді шығарудың екі әдісін анықтадық: операторлық өрнектер (өрнектер) және басып шығару () функциясы. (Үшінші әдіс - файл нысандарының жазу () әдісін қолдану; сіз стандартты шығыс файлына sys.stdout ретінде сілтеме жасай аласыз. Осы тармақ туралы көбірек ақпарат алу үшін Кітапхана анықтамасын қараңыз.)

Көбінесе бос орындармен бөлінген мәндерді кәдімгі басып шығарудан гөрі шығарылымды пішімдеуді көбірек басқарғысы келеді. Шығарылымды пішімдеудің екі әдісі бар. Бірінші әдіс - барлық жұмыстарды өзіңіз жасау: сызықтарды қысқарту және байланыстыру арқылы сіз өзіңіз қалаған шаблонды жасай аласыз. Стандартты жол модулінде жолдарды белгілі бір баған еніне туралау үшін көптеген пайдалы операциялар бар (біз оларды жақын арада қарастырамыз). Екінші әдіс - str.format () әдісін қолдану.

Жол модулінде Шаблондар класы бар, ол мәндерді жолдарға ауыстырудың басқа жолын ұсынады.

Әрине, бір сұрақ қалады: мәндерді жолдарға қалай түрлендіруге болады? Бақытымызға орай, Python-да кез-келген мәнді жолға түрлендірудің екі жолы бар - бұлар repr () және str () функциялары.

Str () функциясының мақсаты - мәндерді аударылған (немесе балама синтаксис болмаған жағдайда SyntaxError тудыруы мүмкін) нысандарды құру болып табылатын repr () -тен айырмашылығы мәндерді қайтарып алу. Адамның оқи алатын нысаны жоқ нысандар үшін str () функциясы repr () сияқты мәнді қайтарады. Сандар немесе құрылымдар сияқты көптеген мәндер, мысалы тізімдер мен сөздіктер, екі функция үшін де бірдей. Жолдар мен өзгермелі нүкте нөмірлері, атап айтқанда, екі түрлі формада болады.

Квадраттар мен кубтардың кестесін көрсетудің екі әдісі:

(Бірінші мысалда, басып шығару () функциясы бағандар арасындағы жалғыз бос орынға қосылатындығын ескеріңіз: ол әрқашан оның параметрлері арасындағы бос орындарды кірістіреді)

Бұл мысалда жолдың сол жаққа шегіну арқылы жолды ені өрісінде оң жаққа туралайтын rjust () әдісінің жұмысы көрсетілген. Ұқсас әдістерді түзету () және центр () үшін қолдануға болады. Бұл әдістер ештеңе шығармайды, олар тек жаңа жолды қайтарады. Егер кіріс сызығы тым ұзын болса, онда олар оны кесіп тастамайды, бұл әдетте зұлымдықтың кішіреюі болып табылады. (Кесу үшін кесу амалын қосуға болады, мысалы: x.ljust (n) [: n].)

Тағы бір әдіс бар - zfill (), ол сан жолының сол жағындағы бос орындармен толтырылады. Ол плюс және минус белгілерін таниды:

Str.format () әдісін қолданудың негізгі әдісі келесідей:

Ішінде таңбалары бар жақшалар (олар аталады) өрістерді пішімдеу (өрістерді пішімдеу)) форматтау әдісіне өткен нысандармен алмастырылады. Жақшадағы сан пішім әдісіне өткен параметрлер тізіміндегі объектінің орнын көрсетеді.

Егер пішімдеу әдісі аталған параметрлерді қолданса, сіз тиісті аргументтің атын қолдана отырып олардың мәндеріне сілтеме жасай аласыз.

Позициялық және аталған параметрлер ерікті түрде біріктірілуі мүмкін:

Қосымша ':' пішімдегіші өріс атауына сәйкес келуі мүмкін. Мәнді пішімдеуді басқару үшін оны пайдаланыңыз. Келесі мысалда Pi ондық бөлгіштен кейін үш сан ғана қалады.

':' Спецификаторынан кейін сіз санды белгілей аласыз - таңбалар санында өрістің минималды ені. Бұл әдемі кестелер құру үшін пайдалануға ыңғайлы:

Егер сіздің пішім жолыңыз өте ұзын болса және сіз оны ішкі жолдарға бөлгіңіз келмесе, сіз пішімдеуге арналған айнымалы орынға емес, атына сілтеме жасасаңыз жақсы болар еді. Мұны тек сөздікті өтіп, квадрат жақшаларды қолдану арқылы жасауға болады.[]Кілттерге қол жеткізу үшін.

Дәл солай аталатын параметрлердің сөздігін «**» белгісін қолдана отырып жасауға болады:

Атап айтқанда, бұл техниканы жергілікті айнымалылармен сөздікті қайтаратын vars () функциясымен бірге қолдануға ыңғайлы.

Str.format () әдісін қолдана отырып пішімдеу жолдарының толық сипаттамасы форматтау жолдарының синтаксисі бөлімінде сипатталған.

Экран шығысы

Бізде қандай да бір шамасы бар айнымалы бар және оны экранда көрсеткіміз келеді делік. Бұл үшін Питон функциясы бар басып шығару (). Жақша ішінде біз айнымалы немесе кейбір таңбалардың атын қоямыз. Егер сіз жай санды сандық айнымалы ретінде енгізсеңіз, аудармашы ант береді.

Функция іске қосылған сайын басып шығару () кейбір мәліметтер экранда пайда болады, бұл жағдайда солай болады. Кейін басып шығару () Оған айтылғанның бәрін басып шығарды, ол келесі жолға шегінеді. Бұған жол бермеу үшін сізге бір нәрсе қосу керек ...

Тырнақшаларда сіз, негізінен, жүрегіңіздің қалауын жаза аласыз.

Ескі стильдегі жолдарды пішімдеу

Сіз жолдарды пішімдеу үшін% операциясын қолдана аласыз. Ол сол жақ операнды sprintf стиліндегі форматты жол ретінде түсіндіреді, оны оң жақ операндқа қолдану керек және осы түрлендірудің нәтижесінде алынған жолды қайтарады. Мысалы:

Str.format () әдісі жаңа болғандықтан, Python бастапқы коды әлі де% операциясын қолданады. Алайда уақыт өте келе, жолды пішімдеу тілден жойылады, сондықтан көп жағдайда str.format () қолданылуы керек.

Қосымша ақпаратты Ескі стильдегі жолды форматтау әрекеттерін форматтау бөлімінен табуға болады.

Пайдаланушы енгізу

Есіңізде болсын, пайдаланушы енгізгеннің бәрі таңбалар айнымалысы, тіпті егер ол тек сан енгізсе де.
Егер бізге қолданушыдан онымен бірге келесі әрекеттерді орындау үшін нөмір енгізу қажет болса (мысалы, математикалық операциялар үшін), онда біз келесі амалды орындауымыз керек: жол нәтижесін санға түрлендіру.

Біріншіден, пайдаланушы енгізген және басқаннан кейін деректерді енгізеді Енгізіңіз, ол енгізген жол туралы ақпарат сандық форматқа өзгертіледі. Бұл функция бізге көмектеседі. int (). Ол кез-келген деректерді сандық бүтін сан пішіміне түрлендіреді. Бірақ егер сіз кейбір таңбаларды сандық форматқа түрлендіргіңіз келсе, аудармашы сізге қате жібереді.

Хаттар сандар емес!

Қарапайым жолмен біз «тілде енгізу және шығару» туралы таныстық Питон«

Файлдарды жазу және оқу

Open () функциясы файл нысанын қайтарады және көп жағдайда екі аргументпен қолданылады: open (file_name, режимін таңдаңыз) .

Бірінші параметр - файлдың атауы бар жол. Екіншісі - файлды қалай пайдалану керектігін сипаттайтын бірнеше таңбалардан тұратын тағы бір жол. Параметр мәні режимін таңдаңыз егер файл тек оқуға арналған болса, 'r' символы болуы мүмкін, 'w' тек жазу үшін ашық (дәл осындай атаумен бар файл өшіріледі) және 'a' файлы қосу үшін ашық: файлға автоматты түрде жазылған кез келген деректер соңына қосылады. 'r +' файлды оқу мен жазуға ашады. Параметр режимін таңдаңыз қосымша: егер ол алынып тасталса, онда ол 'r' -ге тең болады.

Кәдімгі жағдайда файлдар ашылады мәтіндік режим (мәтіндік режим) - бұл файлдан оқып, белгілі бір кодтаудағы файл жолдарына жазғаныңызды білдіреді (әдепкіде ол қолданылады Утф-8) Егер сіз файл режиміне символ b қоссаңыз, файл ашылады екілік режим (екілік режим): қазір мәліметтер бинарлық нысандар ретінде оқылады және жазылады. Бұл режим мәтіні жоқ барлық файлдарға қолданылуы керек.

Мәтіндік режимді қолданған кезде, барлық сызықтың аяқталуы, әдетте, платформаға тән ( n Unix-та, r n Windows-та) файлдан оқыған кезде n таңбасына қиыстырылады және n-дан нақты көрініске ауыстырылады. файлға жазу кезінде платформалар. Бұл деректердегі сахнадағы өзгерістер мәтіндік файлдар жағдайында дұрыс жұмыс істейді, бірақ JPEG немесе EXE сияқты файлдарда екілік деректерді бүлдіреді. Мұндай файлдарды оқу және жазу кезінде екілік режимді пайдалануға абай болыңыз.

Файл объектісінің әдістері

Төмендегі мысалдар f деп аталатын файл нысаны алдын-ала жасалған деп болжайды.

Файлдың мазмұнын оқу үшін f.read (қоңырау шалыңыз)мөлшері) - функция белгілі бір мәліметтерді оқып, оны жол немесе байт нысаны ретінде қайтарады. мөлшері - қосымша сандық параметр. Егер мөлшері көрсетілмеген немесе теріс болса, файлдың бүкіл мазмұны оқылады және қайтарылады, егер бұл сіздің компьютеріңіздің ЖЖҚ-нан екі есе үлкен болса, онда бұл мәселені шешу сіздің ар-ожданыңызда қалады. Әйтпесе, максимум оқылып, қайтарылады. мөлшері байт Егер файлдың соңына қол жеткізілген болса, f.read () бос жолды қайтарады ().

f.readline () файлдан бір жолды оқиды, жаңа жол таңбасы ( n) оқылған жолдың соңында қалады және егер файл бос жолмен аяқталмаса ғана файлдың соңғы жолын оқу кезінде болмайды. Осыған байланысты, қайтару мәні бір мәнді болмайды: егер f.readline () бос жолды қайтарса, файлдың соңына қол жеткізіледі, сонымен бірге ' n' ұсынылған бос жолда тек жаңа жол таңбасы болады.

f.readlines () файлда табылған барлық жолдардан тұратын тізімді қайтарады. Егер қосымша параметр hint_size берілсе, функция файлдан көрсетілген байттардың санын, сонымен қатар байттардың белгілі санын қосып, жолды аяқтауға жеткілікті және нәтижедегі жолдардың тізімін құрайды. Функция көбінесе үлкен файлдарды кезекпен оқу үшін тиімдірек (файл толығымен жадқа жүктелмейді) үшін қолданылады. Тек толық (аяқталған) жолдар қайтарылады.

Жолмен оқудың балама нұсқасы - бұл файл нысаны бойынша цикл. Ол жылдам, жады тиімді және нәтижесінде қарапайым код бар:

Балама әдіс қарапайым, бірақ не болып жатқанын бақылауды қамтамасыз етпейді. Бұл екі әдіс те жолдарды буферлеумен әр түрлі жолдармен жұмыс жасайтындықтан, оларды араластыруға болмайды.

f.write (жол) мазмұнын жазады ішектер файлға және жазылған байт санын қайтарады.

Жолдан файлға басқаша жазу үшін алдымен жолға бірдеңе аудару керек:

f.tell () файлдың басындағы байтпен өлшенген f файлындағы ағымдағы жағдайды білдіретін бүтін санды қайтарады. Файл объектісінің орнын өзгерту үшін f.seek (ығыстыру, қайдан) Позиция есептік нүктеге сілтемені қосу арқылы есептеледі, анықтамалық нүкте параметрден таңдалады қайдан . Параметр мәні 0 қайдан файлдың басынан бастап есептесуді өлшейді, 1 мәні файлдағы ағымдағы жағдайды қолданады, ал 2 мәні файлдың соңын сілтеме ретінде қолданады. Параметр қайдан файлдың басын сілтеме ретінде қолдана отырып, әдепкі бойынша 0 мәнін қалдыруға және орнатуға болады.

Мәтіндік файлдармен жұмыс істеу кезінде (режим жолында b таңбасы жоқ ашылады) іздеу файлға тек басынан бастап рұқсат етіледі (іздеу (0, 2) көмегімен файлдың соңына айналдыруды қоспағанда).

Файлдағы барлық әрекеттерді аяқтағаннан кейін, оны жабу үшін f.close () қоңырау шалыңыз және осы файлды ашуға пайдаланылған барлық жүйелік ресурстарды босатыңыз. F.close () қоңырау шалғаннан кейін файл нысанын қолданудың барлық әрекеттері ерекшелік тудырады.

Файл объектілерімен жұмыс жасау кезінде кілт сөзді қолдану жақсы тәжірибе болып саналады. Бұл әдістің артықшылығы - блок әрқашан дұрыс орындалғаннан кейін немесе орындалу барысында ерекшелік алынып тасталса, файл әрқашан дұрыс жабылады. Сонымен қатар, алынған код блоктары бар балама формадан әлдеқайда қысқа көріңіз - соңында :

Файл объектілерінде жиі пайдаланылмайтын isatty () және truncate () сияқты бірнеше қосымша әдістер бар, файл нысандарын толығымен шолу үшін Кітапхана анықтамасын қараңыз.

Маринадталған модуль

Жолдарды файлға оңай жазуға және оқуға болады. Сандар жағдайында сізге біршама күш жұмсау керек: оқу () әдісі тек '123' пішінінің жолын алатын және сандық мәнін қайтаратын 123 (int) сияқты функцияға өту керек жолдарды ғана қайтарады: 123. Алайда, егер сіз тізімдер, сөздіктер немесе сынып даналары сияқты неғұрлым күрделі деректер түрлерін сақтағыңыз келсе, онда олар сәл шатасады.

Бағдарламалаушыны күрделі деректер типіне арналған кодты үнемі жазуға және күйін келтіруге мәжбүр етудің орнына, Python маринадталған стандартты модульді ұсынады. Бұл кез-келген Python нысанын қабылдай алатын керемет модуль (тіпті Python кодының кейбір нысандары!) Және оны жол көрінісіне түрлендіреді: бұл процесс деп аталады сақтау (маринадтау) Нысанды оның жолды ұсынуынан қалпына келтіру деп аталады сақтау (босату): нысанды сипаттайтын жолды файлға сақтауға, кейбір мәліметтерге қосуға немесе қашықтағы компьютерге желілік байланыс арқылы жіберуге болады.

Егер сізде x нысанды және файлдық файл болса, екілік режимде (екілік режимде, 'wb' параметрімен) ашық, қарапайым әдіс сақтау нысан кодтың бір жолын талап етеді:

Нысанды қайта сақтау үшін, f оқуға ашық файлдың нысаны болған жағдайда (сонымен қатар 'rb' параметрімен екілік режимде):

(Бұл операцияларды орындау үшін нұсқалар бар, олар қашан қолданылады) сақтау бірнеше нысандарды немесе жазу қажет болған кезде консервіленген деректерді файлға енгізу үшін кітапхана анықтамалығындағы маринадталған модульге арналған құжаттаманы қараңыз.)

тұздық - бұл басқа бағдарламалар немесе сол бағдарламаның болашақ нұсқаларында қайта пайдалануға болатын Python нысандарын құрудың стандартты тәсілі, олар үшін техникалық термин бар - тұрақты зат (тұрақты нысан) Маринадты жиі қолданатын болғандықтан, Python кеңейтімдерінің көптеген авторлары матрицалар сияқты жаңа мәліметтер типтері дұрыс таңдалғанына көз жеткізеді консервіленген және мылжың.

Редактор, Автор: Фред Л. Дрэйк мл. (Фред Л. Дрейк, кіші) және т.б.

жинақтар

Python-да деректердің керемет енгізілген түрлері бар, бірақ кейде олар өздерін қалағандай ұстамайды.

Бақытымызға орай, Python кіріктірілген кітапханасында ыңғайлы қосымша деректер түрлері бар коллекциялық модуль бар:

Python-дағы заттың ішіне қалай қарап, оның атрибуттарына қалай қарау керектігі туралы ойландыңыз ба? Әрине, олар ойлады.

1 тамыз сағат 10: 00-де, желіде, ақысыз

Пәрмен жолын қолданыңыз:

Бұл Python-дағы интерактивті сессия кезінде, сонымен бірге сіз жұмыс істейтін нысандар мен модульдерді динамикалық зерттеу үшін пайдалы болуы мүмкін.

$ эмодзи орнату

Өзіңізді байқап көргіңіз келмейтін сияқты:

импорт __ бастап

Python танымалдылығының зардаптарының бірі - жаңа нұсқалар үнемі жетілдіріліп, шығарылып отырады. Жаңа нұсқалар - жаңа мүмкіндіктер, бірақ егер сіз ескірген болсаңыз, сізге жарамайды.

Алайда, бәрі бірдей жаман емес. __Future__ модулі болашақ Python нұсқаларының функционалдығын импорттауға мүмкіндік береді. Бұл жай сапар немесе сиқыр сияқты:

Бағдарламалаушыларға географияны шарлау қиынға соғуы мүмкін. Алайда, геопия модулі мыналарды жеңілдетеді:

$ пип орнату геопиясы

Ол әртүрлі геокодтау қызметтерінің API интерфейстерін рефераттау арқылы жұмыс істейді. Бұл модуль жердің толық мекен-жайын, оның бойлығы мен енін, тіпті биіктігін білуге ​​мүмкіндік береді.

Оның пайдалы қашықтық сыныбы бар. Ол ыңғайлы өлшем бірлігінде екі орын арасындағы қашықтықты есептейді.

Сіз проблемаға тап болдыңыз ба және оны шешуді есіңізде сақтайсыз ба? StackOverflow-қа бару керек, бірақ терминалдан шыққыңыз келмейді ме?

Содан кейін сіз осы пәрмен жолының құралынсыз жасай алмайсыз:

$ pip қондырғысын қалай жасауға болады

Кез-келген сұрақты қойыңыз, ол оған жауап табуға тырысады:

Бірақ абай болыңыз: ол StackOverflow-тың жоғарғы жауаптарынан код алады және әрдайым пайдалы ақпарат бермейді:

$ Howdoi шығу vim

Инспекторлық модуль Python сахнасының артында не болып жатқанын түсінуге көмектеседі. Сіз тіпті оның әдістерін өзіңіз шақыра аласыз!

Төменде өз бастапқы кодын шығару үшін inspect.getsource () әдісі қолданылады. Сонымен қатар, инспектор.getmodule () әдісі анықталған модульді шығару үшін қолданылады.

Соңғы команда ол орналасқан жол нөмірін көрсетеді:

Әрине, мұндай тривиалды пайдаланудан басқа, бұл модуль сіздің кодтың не істейтінін түсіну үшін пайдалы болуы мүмкін. Сондай-ақ, оны өзін-өзі құжаттау кодын жазу үшін пайдалануға болады.

Джеди кітапханасы кодтарды толтыруға және талдауға арналған. Бұл код жазу процесін жылдамдатады және оны өнімді етеді.

Егер сіз өзіңіздің IDE-ді жасамасаңыз, онда сіз Джедиді редактор кеңейтімі ретінде пайдалануға көбірек қызығушылық танытуыңыз мүмкін. К счастью, уже есть много вариантов.

Возможно, вы уже встречались с Jedi — IPython использует эту библиотеку для автодополнения.

Когда изучаешь любой язык, на пути встречается множество краеугольных камней. В случае с Python понимание таинственного синтаксиса **kwargs можно считать одним из них.

Две звёздочки впереди объекта словаря дают возможность передавать в функцию содержимое этого словаря как именованные аргументы.

Ключи словаря — это имена аргументов, а значения передаются в функцию. Вам даже не обязательно называть его kwargs :

Это полезно в тех случаях, когда ваши функции должны обрабатывать именованные аргументы, не определённые заранее.

Прим.перев. Ол сонымен қатар барлық дәлелдерді басқа функцияға жіберетін орауыш функцияларды жазу кезінде пайда болады.

Тізімдер генераторлары

Python-ның тағы бір керемет мүмкіндігі - тізімдерді тез жасауға мүмкіндік береді. Мұндай өрнектер табиғи код сияқты оқылатын таза кодты жазуды жеңілдетеді:

Python-да функционалды бағдарламалауға арналған жақсы қолдау бар. Ең пайдалы функциялардың бірі - бұл map () функциясы, әсіресе ламбда функциясымен үйлесімді:

Мұнда map () әр x элементінде қарапайым lambda функциясын қолданады және тізім немесе топль сияқты кейбір қайталанатын объектке айналдырылатын карта нысанын қайтарады.

газет3к

Егер сіз оны әлі кездестірмеген болсаңыз, онда газет модулінің сізді қуып жіберуіне дайын болыңыз.

Бұл көптеген көздерден мақалалар мен байланысты мета-деректерді алуға мүмкіндік береді. Сіз суреттерді, мәтінді және авторлардың аттарын шығара аласыз.

Ол тіпті кіріктірілген NLP функциясына ие.

Сондықтан, егер сіз өзіңіздің келесі жобаңызда BeautifulSoup немесе басқа кітапхананы веб-скраптау үшін қолданғыңыз келсе, уақытыңыз бен күшіңізді үнемдеп, газет орнатқаныңыз жөн:

$ pip3 газет3к орнату

Оператордың шамадан тыс жүктемесі

Python оператордың шамадан тыс жүктемесін қолдайды - бұл барлық нақты компьютер ғалымдары айтып отырған нәрселердің бірі.

Шындығында, идея қарапайым. Неліктен Python + операторын сандарды қосуға және байланыстыратын жолдарға пайдалануға мүмкіндік береді? Мұның артында оператордың шамадан тыс жүктемесі тұр.

Сіз стандартты оператор таңбаларын пайдаланатын нысандарды кез-келген жолмен анықтай аласыз. Бұл оларды сіз жұмыс істейтін нысандар контекстінде қолдануға мүмкіндік береді:

Python функциясы стандартты түрде басып шығарады (). Егер сіз бірнеше үлкен кірістірілген нысанды көрсетуге тырыссаңыз, нәтиже өте жақсы болмайды.

Стандартты принтер кітапханасынан алынған модуль (әдемі басып шығарылған) мұнда құтқаруға келеді. Оны пайдалану арқылы күрделі құрылымы бар нысандарды оқуға болатын түрінде көрсетуге болады.

Жеке деректер құрылымымен жұмыс істейтін кез-келген Python әзірлеушісі үшін міндетті:

Python Queue стандартты модулін қолдануға көмектесетін көп ағынды қолдайды.

Мұндай мәліметтер құрылымын кезекке қоюға мүмкіндік береді. Кезектер элементтерді белгілі бір ережеге сәйкес қосуға және алуға мүмкіндік береді.

«Біріншіден, біріншіден», FIFO кезектері объектілерді олар қосылған ретпен алуға мүмкіндік береді. «Соңғы, бірінші, бірінші», «LIFO» кезектерінен сіз соңғы қосылған нысандарды шығарып ала аласыз.

Соңында, кезектілік кезектері нысандарды сұрыптау реті бойынша алуға мүмкіндік береді.

Мұнда сіз көп тізбекті Python бағдарламалауында кезектерді пайдалану мысалын көре аласыз.

Класты немесе нысанды анықтаған кезде, жолды нысанда ұсынудың «ресми» тәсілін қосқан пайдалы. Мысалы:

Бұл жөндеуді айтарлықтай жеңілдетеді. Мұнда істеу керек:

Шамамен. __Repr __ () әдісі бағдарламалаушыға арналған және күйін келтіру кезінде қолдануға ыңғайлы жолды ұсынуды анықтауға мүмкіндік береді, ал __str __ () әдісі бағдарлама интерфейсінде көрсетуге болатын пайдаланушыға ыңғайлы жолды ұсынуды анықтауға мүмкіндік береді.

Python - керемет сценарий тілі. Бірақ кейде стандартты os және ішкі процестер кітапханалары тек бас ауруын тудырады.

Sh кітапханасы жақсы балама бола алады.

Ол кез-келген бағдарламаны Python көмегімен ғана әртүрлі тапсырмаларды автоматтандыру үшін пайдалы болатын тұрақты функция ретінде шақыруға мүмкіндік береді:

Шамамен. Sh кітапханасы тек Linux және macOS платформаларын қолдайды, Windows-та жұмыс істеу үшін басқа құралды іздеу керек.

Аңғартпаларды теріңіз

Python - бұл динамикалық түрде терілетін тіл. Айнымалыларды, функцияларды, кластарды және т.б. анықтаған кезде деректер түрін көрсетудің қажеті жоқ.

Бұл даму процесін жылдамдатады. Дегенмен, қарапайым типтік сәйкессіздіктерден туындаған жұмыс уақыты қателігі аз болып табылады.

Python 3.5-тен бастап, функцияны анықтағанда, сіз аңғартпаларды қосуға болады:

Сіз бүркеншік ат түрлерін де анықтай аласыз:

Оларды қолдану міндетті емес, бірақ типтік аннотациялардың көмегімен кодты түсінуге болады.

Сондай-ақ, олар TypeError қателерін ұстау үшін типті тексеру құралдарын пайдалануға мүмкіндік береді.

Uuid стандартты модулі UUID (әмбебап бірегей сәйкестендіргіш) құрудың жылдам әрі қарапайым әдісі болып табылады.

Осылайша біз кездейсоқ 128 биттік кездейсоқ санды жасаймыз.

Екіден көп UUID болуы мүмкін. Бұл 5 миллиардтық немесе 5,000,000,000,000,000,000,000,000,000,000,000,000-ден асады.

Берілген жиынтықта телнұсқаларды табу ықтималдығы өте аз. Тіпті бір триллион UUID бар болса да, олардың арасында қайталану ықтималдығы миллиардқа жетпейді.

Кодтың екі жолына жаман емес.

Виртуалды орта

Көбінесе Python бағдарламашылары бірден бірнеше жоба бойынша жұмыс істейді. Өкінішке орай, кейде екі жоба бірдей тәуелділіктің әртүрлі нұсқаларына байланысты болады. Қайсысын орнату керек?

Бақытымызға орай, Python екі әлемнің ең жақсысын қабылдайтын виртуалды орталарға қолдау көрсетеді. Пәрмен жолына енгізіңіз:

Енді бір компьютерде Python-ның әртүрлі тәуелсіз нұсқалары болуы мүмкін.

Википедияда керемет API бар, ол сізге мүлдем тегін ақпараттың қайнар көзіне қол жеткізуге мүмкіндік береді.

Wikipedia модулі осы API-ге қол жеткізуді өте ыңғайлы етеді:

Нақты сайт сияқты, модуль көптеген тілдерге қолдау көрсетеді, парақтардың анық еместігін шешеді, кездейсоқ бетті және тіпті донорлық () әдісін алады.

Әзіл - Python-дың басты ерекшелігі. Соңында тілге Монти Питонның «Ұшқан циркі» комедиялық шоуының аты берілді. Ресми құжаттаманың көптеген орындарында сіз шоудың ең танымал эпизодтарына сілтемелер таба аласыз.

Әрине, әзіл-оспақ құжаттамамен аяқталмайды. Келесі жолды енгізіп көріңіз:

Өзің тұр, Питон. Өзіңіз тұрыңыз.

YAML «YAML белгілеу тілі емес» дегенді білдіреді («YAML емес белгілеу тілі»). Бұл деректерді пішімдеу тілі, бұл JSON-тың жоғарғы жиыны.

JSON-дан айырмашылығы, YAML күрделі нысандарды сақтай алады және өзінің элементтеріне сілтеме жасай алады. Сондай-ақ, сіз сол жерде түсініктемелер жаза аласыз, бұл YAML-ді конфигурация файлдарына жарамды етеді.

PyYAML модулі Python-да YAML қолдануға мүмкіндік береді. Сіз оны келесідей орната аласыз:

$ пипамл орнату

Сосын импорт:

PyYAML сізге кез-келген Python нысандарын және кез-келген жеке сыныптардың даналарын сақтауға мүмкіндік береді.

Соңында, тағы бір керемет нәрсе. Екі тізімнен сөздік жасау қажет болды ма?

Кірістірілген zip () функциясы бірнеше қайталанатын нысандарды қабылдайды және бұралу тізбегін қайтарады. Әрбір жолақ объектілер элементтерін индекстері бойынша топтайды.

Сіз zip () -ді кері (*) көмегімен орындай аласыз.

Ал сіз қандай әдістерді немесе пайдалы кітапханаларды білесіз? Пікірлермен бөлісіңіз.

  1. 0, 0.0 ↩
  2. 0, 1.0 ↩
  3. 0, 1.0 ↩
  4. 0, -2.0 ↩

Яндекс сіздің деректерді және машинаны оқытуды қызметтерді жекелендіру үшін қалай пайдаланады - YaC 2019 оқыңыз және қараңыз.