Писање радног кода није увек довољно; требало би да покушате да напишете добро структуиран код који је такође лак за разумевање. Чист код ће вама – и другима – олакшати одржавање вашег софтвера.
Питхон има много функција и функција које вам могу помоћи да напишете чистији код. Ево неких од најбољих.
1. Аутоматско затварање ресурса помоћу Цонтект Манагер-а
Ручно затварање ресурса може бити незгодно када ваш код комуницира са много ресурса. Можда ћете заборавити да затворите ресурс. Ово чини да ваш програм користи системске ресурсе неефикасно што може довести до а цурење меморије.
Овај код отвара датотеку, а затим је затвара ручно:
датотека = отвори ('тест.ткт', 'р')
филе_цонтентс = филе.реад()
филе.цлосе()
речи = филе_цонтентс.сплит(' ')
ворд_цоунт = лен (речи)
штампа (број_речи)
Можете аутоматизовати затварање датотеке помоћу менаџера контекста. Менаџери контекста управљају ресурсима уместо вас, тако да не морате да се сетите да управљате њима ручно. Користити
са изјава за креирање контекста за управљање ресурсом:са отвори ('тест.ткт', 'р') као фајл:
филе_цонтентс = филе.реад()
речи = филе_цонтентс.сплит(' ')
ворд_цоунт = лен (речи)
штампа (број_речи)
Код у овом блоку се покреће унутар контекста фајл објекта који отворен враћа. Питхон аутоматски затвара ту датотеку када код напусти тај контекст, чак и ако дође до изузетка.
2. Писање чистијих условних изјава
Можда ћете се наћи да пишете много непотребног кода када радите са њим иф-елсе изјаве. Питхон има тернарне операторе који ће вам помоћи да напишете компактније изјаве. Блок кода испод приказује нормалну иф-елсе изјаву.
стање = Истина
ако стање:
к = 1
друго:
к = 0
штампа (к)
Овај код можете преписати користећи тернарни оператор који вам омогућава да напишете услов у једном реду кода.
стање = Истина
к = 1ако стање друго0
штампа (к)
Важно је напоменути да би требало да користите тернарне операторе када имплементирате једноставну логику. У сложенијој логици и угнежђеним условним изјавама, тернарни оператор може постати тежак за разумевање.
3. Праћење ставки помоћу функције Енумерате
Када итерирате преко Питхон листе, можете приступити индексу тренутне ставке на два начина. Један од начина је коришћење традиционалне фор петље. Ово добро функционише, али код није тако чист колико би могао бити. Такође захтева да ручно иницијализујете индекс.
аутомобили = ['Бугатти', 'мерцедес', 'Тоиота']
индекс = 0
за ауто ин аутомобили:
штампа (индекс, ауто)
индекс += 1
Други начин је коришћење уграђене Питхон функције набрајања. Ово ће вам омогућити да приступите индексу и одговарајућој вредности на листи током петље.
аутомобили = ['Бугатти', 'мерцедес', 'Тоиота']
за индекс, ауто ин набрајати (аутомобили):
штампа (индекс, ауто)
Сада не морате ручно да пратите индекс.
4. Петљање преко неколико листа са зип функцијом
Такође можете да користите функцију енумерате за петљу кроз неколико листа одједном. Узмите индекс прве листе, а затим га користите за приступ одговарајућим вредностима у другим листама.
енглисх_намес = ['храна', 'вода', 'ауто']
спанисх_намес = ['алименто', 'агуа', 'ауто']
за индекс, назив ин набрајати (енглески_намес):
шпански = шпански_намес [индекс]
принт (ф' {наме} на шпанском је {Шпански}')
Ово добро функционише, али ћете морати да напишете много непотребног кода ако се број листа повећа. Да бисте написали чистији код, можете користити зип функцију и проследити јој имена своје листе.
енглисх_намес = ['храна', 'вода', 'ауто']
спанисх_намес = ['алименто', 'агуа', 'ауто']
за енглеско-шпански ин зип (енглеска_имена, шпанска_имена):
штампа (ф' {енглески језик} на шпанском је {Шпански}')
Требало би да наставите да користите функцију енумерате за петља преко једне листе. Али ако прегледате неколико листа заједно, размислите о коришћењу зип функције.
Када уносите осетљиве информације, унос не би требало да буде видљив као обичан текст на екрану. Уобичајени начин уноса у Питхон-у је коришћење функције уноса:
корисничко име = улаз ('Корисничко име: ')
лозинка = улаз ('Лозинка: ')
штампа ('Пријављивањем...')
Међутим, функција уноса чини лозинку видљивом као обичан текст на екрану током куцања. Да бисте били сигурни да лозинка није приказана на екрану, требало би да користите функцију гетпасс:
из гетпасс увоз гетпасс
корисничко име = улаз ('Корисничко име: ')
лозинка = гетпасс('Лозинка:')
штампа ('Пријављивањем...')
Гетпасс модул је део Питхон-ове стандардне библиотеке, тако да не морате да га инсталирате.
6. Читљивост великих бројева помоћу чувара места за доњу црту
Када имате посла са великим бројевима у свом програму, може бити веома тешко прочитати их на први поглед. Додељивање нетачних бројева променљивим доводи до неисправног програма и уочавање ове грешке може бити веома тешко.
број1 = 10000000000
нум2 = 100000000
укупно = бр1 + бр2
штампа (укупно)
Можете да препишете горњи код користећи доње црте да бисте одвојили групе од хиљада, што је уобичајен начин да велике бројеве учините читљивијим.
број1 = 10_000_000_000
нум2 = 100_000_000
укупно = бр1 + бр2
штампа (ф'{укупно:,}')
Ф стринг у функцији штампања раздваја излаз користећи сепаратор хиљада.
7. Коришћење функције помоћи да бисте сазнали више о модулу
Функција помоћи је веома важна у Питхон-у. Обавестиће вас како да користите модул који сте инсталирали. Да бисте га користили, инсталирајте модул, а затим покрените Питхон интерпретер у терминалу и покажите на путању на којој сте инсталирали модул. Увезите модул и коначно проследите име модула функцији помоћи.
Да бисте открили које методе и атрибуте можете да користите, замените функцију помоћи са функцијом дир.
Функција дир враћа методе и атрибуте које модул подржава, а не целу документацију. Ово је корисно када желите да видите шта модул ради.
Писање чистача Питхон кода
Питхон је веома разноврстан језик. Као и са сваким другим језиком, временом ћете постати бољи у писању чистијег Питхон кода.
Питхон има много уграђених модула и функција. У неким случајевима можете написати код који је тешко читљив јер вам недостаје знање о постојању одређене функције. Да бисте били информисани, требало би да прочитате више чланака о томе како да напишете бољи код.