ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
Скачать 242.51 Kb.
|
Файлдың болуы Егер біз жоқ файлды ашуға тырыссақ, Python FileNotFoundError-ны алып тастайды. Ерекше жағдайды алу үшін біз try дизайнын қолдана аламыз...except. Дегенмен, файлды ашпас бұрын, оның os әдісін қолдана отырып бар-жоғын тексеруге болады.path.exists(path). Бұл әдіске жол беріледі, оны тексеру керек:
5 ТАРАУ Жолдар Жолдармен жұмыс Жол Unicode кодтаудағы таңбалар тізбегін білдіреді. Біз квадрат жақшадағы индекс бойынша жолдың жеке таңбаларына жүгіне аламыз:
Индекстеу нөлден басталады, сондықтан жолдың бірінші таңбасында 0 индексі болады. Егер Біз жолда жоқ индекске жүгінуге тырыссақ, онда IndexError ерекшелік аламыз. Мысалы, жоғарыдағы жағдайда жолдың ұзындығы 11 таңбадан тұрады, сондықтан оның таңбаларында 0-ден 10-ға дейінгі индекстер болады. Жолдың соңынан бастап таңбаларға қол жеткізу үшін теріс индекстерді қолдануға болады. Сонымен, -1 индексі соңғы таңбаны, ал -2 - соңғы таңбаны және т. б. білдіреді:
Таңбалармен жұмыс жасау кезінде жолдың өзгермейтін (өзгермейтін) түрі екенін ескеру керек, сондықтан егер біз жолдың жеке таңбасын өзгертуге тырыссақ, онда келесі жағдайдағыдай қате пайда болады:
Біз жолдың мәнін оған басқа мән беру арқылы толығымен қайта орната аламыз. Ішкі жолды алу Қажет болса, біз жолдан жеке таңбаларды ғана емес, сонымен қатар ішкі жолды да ала аламыз. Ол үшін келесі синтаксис қолданылады: string [: end]: таңбалар тізбегі 0-ші индекстен бастап алынады индекс end string [start: end]: таңбалар тізбегі start индексінен бастап end индексіне дейін алынады string [start:end:step]: start индексінен бастап қадам қадамы арқылы end индексіне дейінгі таңбалар тізбегі алынады Біз ішкі жолды алудың барлық нұсқаларын қолданамыз:
Ord және len функциялары Өйткені жол құрамында символдар Unicode болса, онда функциясының көмегімен ord() аламыз сандық мәні үшін символдан кодтау Unicode:
Жолдың ұзындығын алу үшін Len функциясын қолдануға болады():
Жолда іздеу Term in string өрнегін қолдана отырып, жол сызығындағы term ішкі жолын табуға болады. Егер ішкі жол табылса, онда өрнек шын мәнін қайтарады, әйтпесе жалған мән қайтарылады:
Жолды санау For циклінің көмегімен сіз жолдың барлық таңбаларын сұрыптай аласыз:
Негізгі жол әдістері Қосымшаларда қолдануға болатын жолдардың негізгі әдістерін қарастырыңыз: isalpha (): егер жол тек алфавиттік таңбалардан тұрса, True қайтарады islower (): егер жол тек кіші әріптегі таңбалардан тұрса, True қайтарады isupper (): егер барлық жол таңбалары жоғарғы регистрде болса, True қайтарады isdigit (): егер жолдың барлық таңбалары сандар болса, True қайтарады isnumeric (): егер жол Сан болса, True қайтарады startswith (str): егер жол strr ішкі жолынан басталса, True қайтарады endswith (str): егер жол strr ішкі жолында аяқталса, True қайтарады lower (): жолды төменгі регистрге аударады upper (): жолды маңызды регистрге аударады title (): жолдағы барлық сөздердің бастапқы таңбалары жоғарғы регистрге аударылады capitalize (): жолдың бірінші сөзінің бірінші әрпін жоғарғы регистрге аударады lstrip (): жолдан бастапқы бос орындарды жояды rstrip (): жолдан соңғы бос орындарды жояды strip (): жолдан бастапқы және соңғы бос орындарды жояды ljust( width): егер жолдың ұзындығы width параметрінен аз болса, онда жолдың оң жағындағы бос орындар width мәнін қосу үшін қосылады, ал жолдың өзі сол жаққа тураланады rjust( width): егер жолдың ұзындығы width параметрінен аз болса, онда жолдың сол жағына Бос орындар қосылады, ал жолдың өзі оң жаққа тураланады center (width): егер жолдың ұзындығы width параметрінен аз болса, онда жолдың сол және оң жағында Бос орындар width мәнін толықтыру үшін біркелкі қосылады, ал жолдың өзі ортаға тураланады find (str [, start [, end]): жолдағы ішкі жол индексін қайтарады. Егер ішкі жол табылмаса, -1 саны қайтарылады replace (old, new [, num]): жолдағы бір ішкі жолды екіншісіне ауыстырады split ([delimeter [, num]]): бөлгішке байланысты жолды ішкі жолдарға бөледі join (strs): жолдарды бір жолға біріктіріп, олардың арасына белгілі бір бөлгіш салыңыз Мысалы, егер біз пернетақтадан Нөмірді енгізуді күтетін болсақ, онда енгізілген жолды санға түрлендірмес бұрын, isnumeric() әдісін қолдана отырып, санның шын мәнінде енгізілгенін тексеруге болады, егер солай болса, онда түрлендіру әрекетін орындаңыз:
Тексеру, белгілі бір ішкі жолға жол басталады немесе аяқталады:
Жолдың басында және соңында бос орындарды жою:
Жолды бос орындармен толықтыру және туралау:
Консольді шығару: iPhone 7: 52000 Huawei P10: 36000 Жолда іздеу Python-дағы жолдағы ішкі жолды іздеу үшін find () әдісі қолданылады, ол жолға бірінші ішкі жолдың кіру индексін қайтарады және үш нысаны бар: find (str): str ішкі жолын іздеу жолдың басынан аяғына дейін жүзеге асырылады find (str, start): start параметрі іздеу жүргізілетін бастапқы индексті анықтайды find (str, start, end): end параметрі іздеу жүретін соңғы индексті анықтайды Егер ішкі жол табылмаса, әдіс -1 қайтарады:
Жолда ауыстыру Бір ішкі жолды екіншісіне ауыстыру үшін replace() әдісі қолданылады: replace (old, new): old ішкі жолын жаңасына ауыстырады replace (old, new, num): num параметрі old ішкі жолының қанша кездесуін жаңасына ауыстыру керектігін көрсетеді
Ішкі жолдарға бөлу Split () әдісі бөлгішке байланысты жолды ішкі жолдар тізіміне бөледі. Бөлгіш кез-келген таңба немесе таңбалар тізбегі бола алады. Бұл әдіс келесі формаларға ие: split (): бөлгіш ретінде бос орын қолданылады split (delimeter): бөлгіш ретінде delimeter қолданылады split (delimeter, num): num параметрі бөлу үшін delimeter-дің қанша рет кездесетінін көрсетеді. Жолдың қалған бөлігі тізімге ішкі жолдарға бөлінбестен қосылады
Жолдарды біріктіру Жолдармен қарапайым операцияларды қарастырған кезде, Қосу әрекетін қолдана отырып, жолдарды қалай біріктіру керектігі көрсетілді. Жолдарды қосудың тағы бір мүмкіндігі-join () әдісі: ол жолдар тізімін біріктіреді. Сонымен қатар, осы әдіс шақырылған ағымдағы жол бөлгіш ретінде қолданылады:
Тізімнің орнына қарапайым жолды join әдісіне беруге болады, содан кейін бөлгіш осы жолдың таңбалары арасында енгізіледі:
Пішімдеу Жолдарда анықталған format () әдісі белгілі бір мәндерді ойнатқыштардың орнына қою арқылы жолды пішімдеуге мүмкіндік береді. Жолға кірістіру үшін бұйра жақшалармен ({}) жиектелген арнайы параметрлер қолданылады. Аталған параметрлер Пішімделетін жолда параметрлерді анықтай аламыз, FORMAT () әдісінде осы параметрлер үшін мәндерді беру:
Сонымен қатар, әдіске сәйкес, аргументтер жолдағы параметрлермен бірдей атпен анықталады. Сонымен, егер параметр бірінші жағдайдағыдай first_name деп аталса, онда мән берілген аргумент first_name деп те аталады. Позиция бойынша параметрлер Сондай-ақ, біз format әдісіне дәйектілікпен дәлелдер жиынтығын бере аламыз, ал пішімделетін жолда бұл дәлелдерді бұйра жақшаларға олардың санын көрсете отырып енгізе аламыз (нөмірлеу нөлден басталады):
Бұл жағдайда аргументтерді жолға бірнеше рет енгізуге болады:
Ауыстырулар Пішімделген мәндерді жолға берудің тағы бір тәсілі-белгілі бір мәндер енгізілген алмастырғыштарды немесе арнайы ойнатқыштарды пайдалану. Пішімдеу үшін келесі ойнатқыштарды пайдалануға болады: s: жолдарды салу үшін d: бүтін сандарды енгізу үшін f: бөлшек сандарды енгізу үшін. Бұл түр үшін бөлшек бөлігіндегі белгілердің санын нүкте арқылы да анықтауға болады. % : мәнді 100-ге көбейтеді және пайыз белгісін қосады e: экспоненциалды жазбадағы санды көрсетеді Плейсхолдердің жалпы синтаксисі келесідей:
Ойнатқышқа байланысты қосымша параметрлерді қосуға болады. Мысалы, float сандарын пішімдеу үшін келесі параметрлерді пайдалануға болады
Format әдісін шақырған кезде оған дәлелдер ретінде ойнатқыштардың орнына енгізілген мәндер беріледі:
Нәтиже ретінде format () әдісі жаңа форматталған жолды қайтарады. Бүтін сандарды пішімдеу:
Егер пішімделетін Сан 999-дан үлкен болса, онда біз ойнатқыштың анықтамасында үтірді разрядты бөлгіш ретінде қолданғымыз келетінін көрсете аламыз:
Бөлшек сандар үшін, яғни float түрін білдіретін сандар үшін, ойыншы кодының алдында нүктеден кейін бөлшек бөлігінде қанша таңба шығарғымыз келетінін көрсетуге болады:
Тағы бір параметр таңбалардағы пішімделетін мәннің ең аз енін орнатуға мүмкіндік береді:
Пайыздарды шығару үшін кодты қолданған дұрыс "%":
Экспоненциалды жазбада санды шығару үшін "e" плейсхолдері қолданылады":
|