ЖОЛДЫҚ АЙНЫМАЛЫЛАРДЫ ҚОЛДАНЫП ЕСЕПТЕРДІ ШЫҒАРУ
(4 сағат)
Тақырып 5.1: Python бағдарламалау тілі. Жол деректерімен жұмыс істеу
Жұмыстың мақсаты: жолды белгілеу, жолдың бөлігін алу, берілген ішкі жолды іздестіру, берілген ішкі жолдың жолында индексті анықтау, берілген ішкі жолды жою.
Қысқаша теориялық мәлімет
Жол inputt () функциясынан стандартты енгізуден оқылады.
Екінші жолда, қосу (конкатенация) операциясы анықталып, жолды санға көбейту операциясы да анықталған.
Жол символдар тізбегінен тұрады. Len функциясын таңбалардың санын (жол ұзындығы) табу үшін пайдалануға болады.
1. Python-да кез келген басқа объект оған сәйкес келетін жолға аударылуы мүмкін. Мұны істеу үшін () функциясын шақырыңыз, оны жолға аударылған нысанды дәлел ретінде жіберу.
Шын мәнінде, Python тұрғысынан әр жол, str классы. Басқа кластың басқа нысанының нысанын алу үшін оған қандай да бір жолмен жауап беру функциясын пайдалануға болады. Бұл функцияның атауы объектіге сілтеме жасайтын класстың аты сияқты. (Білгіштер үшін: бұл функция осы класстың нысандарының конструкторы.) Мысал: int - бүтін сандар үшін класс.
Мысал 1. Жолды санға аудару
s = input()
print(len(s))
t = input()
number = int(t)
u = str(number)
print(s * 3)
print(s + ' ' + u)
2. Қабыршақтар
Бөлік (кесінді) - фрагментке немесе подпоследовательности осы жолдың алу бір таңбаны немесе подстрока. Үш пішінді кесектер бар. Кесу қарапайым түрі: бір-желісі сипатын ескере отырып, атап айтқанда, S [I] - бірқатар Мен бар бір сипаттағы, тұратын б лік болып табылады. S = 'Hello', содан кейін S [0] == 'H', S [1] == «е», S [2] == 'L', егер ол, нөмірлеу Яғни санының 0. басталады деп көзделіп отыр , S [3] == 'L', S [4] == 'O'.
Python бір түрі жол емес екенін ескеріңіз. жол түрі, сондай-ақ көш табылады - [I] кесінді S нәтижесінде алынған Әрбір объект.
жолда бір таңбалар Numbers (сондай-ақ басқа да деректер құрылымын: тізімдері, луын) индексі деп аталады.
Сіз индексі теріс мән көрсетпесеңіз, саны саны 1 бастап, соңына түскен есептеледі болады. Яғни, S [-1] == 'O', S [-2] == 'L', S [-3] == 'L', S [-4] == «е», S [-5 ] == 'H'.
Немесе мынадай кесте түрінде:
Строка S
|
H
|
e
|
l
|
l
|
o
|
Индекс
|
S[0]
|
S[1]
|
S[2]
|
S[3]
|
S[4]
|
Индекс
|
S[-5]
|
S[-4]
|
S[-3]
|
S[-2]
|
S[-1]
|
Егер S-line бөліміндегі таңба саны LEN (S) немесе одан жоғары мәнге тең болса, немесе -len (S) мәнінен аз болса, ИндексError: Индекс индексі қателіктерден тыс болады, егер бұл жол қолжетімді болса.
Екі параметрлерімен бөлік: S [а: б] б үзіндісін қайтарады - сипаты C indeksoma басталатын таңбаларды, яғни оған қоса алғанда емес символы индексі б, үшін. Мысалы, S [1: 4] == 'ell', сол кезде S [-4: -1] жазады. Ол, мысалы, бір бөлімінде оң және теріс екі кодтарын пайдалану S болады [1: -1] - бірінші және соңғы символы жоқ жол (б лік символы индексі 1 басталады және 1 индексінің, бірақ, оның ішінде емес аяқталады).
Егер қате түрін пайдалансаңыз, IndexError ешқашан орын алмайды. (Желілік 100-ден астам таңба болмаса): [100 1]: Мысалы, б лік S [1 5], екінші индексі өте үлкен жасауға Егер 'Ello «жол оралады, нәтиже мысалы, S, бірдей болады.
Екінші параметрді өткізіп тастасаңыз (бірақ қос нүктені қойыңыз), онда тілек сызықтың соңына алынады. Мысалы, жолдан бірінші таңбаны (оның индексі 0) алып тастау үшін S [1:] тілімшесін қабылдауға болады. Сол сияқты, егер сіз бірінші параметрді алып тастасаңыз, жолдың басынан б лік алай аласыз. Яғни, S [: - 1] тілімшесін пайдаланып, соңғы таңбаны сызықтан алып тастай аласыз. S [:] тілінің қисық сызығы S.
Жолдың қимасы бар кез-келген операциялар жаңа жолдар жасайды және бастапқы жолды ешқашан өзгертпейді. Python-да желілер әдетте өзгермейді, оларды өзгерту мүмкін емес.
Сіз ескі айнымалыға жаңа жолды ғана тағайындай аласыз.
Шындығында, питонда ешқандай айнымалылар жоқ. Кез келген нысандармен байланысты тек атаулар бар. Алдымен атыңызды бір нысанмен байланыстыра аласыз, содан кейін басқа. Бірнеше атауды сол нысанмен байланыстыруға болады.
Үш параметрлер S бар болса орнатыңыз кесінді [A: B: D], үшінші параметр қадам белгілейді, іс funktsieyrange сияқты, яғни индекстерінің а + D, A + 2 * D, т.б. таңбаларды қабылданады ... Сіз үшінші параметр мәні б лігіне, 2 тең орнатылған кезде қажы екінші сипаты алады, және сіз -1 тең жарығы сөнген мәні алуға болса, онда таңбалар кері енеді. Мысалы, сіз S [:: - 1] тілімшесі бар сызықты аудара аласыз.
2-мысал. Нәтижесінде бағдарлама не шығарады?
s = 'abcdefg'
print(s[1])
print(s[-1])
print(s[1:3])
print(s[1:-1])
print(s[:3])
print(s[2:])
print(s[:-1])
print(s[::2])
print(s[1::2])
print(s[::-1])
Кесудің үшінші параметрі ауқымның range() функциясының үшінші параметріне қалай ұқсас екенін ескеріңіз:
Мысал 3. Диапазонды () функциясын пайдалану. Бағдарлама қандай болады?
s = 'abcdefghijklm'
print(s[0:10:2])
for i in range(0, 10, 2):
print(i, s[i])
3. әдістері
Әдіс - бұл объектке қолданылатын функция, бұл жағдайда жол. Бұл әдіс деп аталады
ObjectName. MethodName (параметрлер)
Мысалы, S.find («e») «e» параметрінің бір параметрімен іздеу әдісінің S жолына қолданба.
3.1. Әдістерді табыңыз және жасаңыз
Табылған әдіс берілген жолдағы осы әдісті (ол әдіс қолданылатын) табады. Функция қажетті ішкі жолдың бірінші пайда болу индексін қайтарады. Егер подстрок табылмаса, әдіс -1 қайтарады.
Мысал 4. Бағдарлама нені шығарады және неге?
S = 'Hello'
print(S.find('e'))
print(S.find('ll'))
print(S.find('L'))
Сол сияқты, rfind әдісі берілген жолдың соңғы пайда болу индексін қайтарады («іздеу құқығы»).
Мысал 5. Бағдарлама нені шығарады?
S = 'Hello'
print(S.find('l'))
print(S.rfind('l'))
Егер сіз іздеу әдісін S.find (T, a, b) үш параметрімен шақырсаңыз, іздеу [a: b] тілінде орындалады. Егер сіз тек қана S.find (T, a) параметрлерін анықтасаңыз, онда іздеу S [a:] тілінде орындалады, яғни индекстің а және соңындағы символдан басталады.
S.find әдісі (T, a, b) индексті тілге емес, S жолына қайтарады.
3.2. Ауыстыру әдісі
Ауыстыру әдісі бір жолдың барлық қайталануларын басқасымен ауыстырады.
Пішім: S.replace (ескі, жаңа) - S сызығымен ауыстырыңыз. Мысал:
Мысал 6. Ішкі жолды ауыстыру
print('Hello'.replace('l', 'L'))
Басқа параметрді орнату үшін әдісін ауыстыру, егер: S.replace (ескі, жаңа, санау), ол, оның ішінде бірінші санау қарағанда ғана көп емес барлық даналарын ауыстырылады емес болады.
Мысал 7. Бірнеше ішкі жолдарды ауыстыру.
Басып шығару ( «Abrakadabra'.replace ( 'A', 'A', 2))
Есептеу әдісі
Басқа жолдағы бір жолдың қайталану санын есептейді. қарапайым түрі S.count қоңырау (T) Бұл жағдайда жолдың С. ішінде жол Т қайталанулар санын қайтарады, тек емес қабаттасатын жағдай есептеледі, мысалы:
Мысал 8. Жолда астын сызуды санау.
Басып шығару ( «Abracadabra'.count ( 'A'))
Басып шығару (( 'A' * 10) .count ( «AA»))
S.count үш параметрлерін көрсете кезде (Т, А, В), [A: B] желісі T srezeS жылы қайталанулар санын санау үшін теңшеледі.
Достарыңызбен бөлісу: |