Главная страница
Навигация по странице:

  • 5 ТАРАУ Жолдар Жолдармен жұмыс

  • Ord және len функциялары

  • Негізгі жол әдістері Қосымшаларда қолдануға болатын жолдардың негізгі әдістерін қарастырыңыз: isalpha ()

  • Позиция бойынша параметрлер

  • ГЛАВА 2, 3, 4, 5. 2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе


    Скачать 242.51 Kb.
    Название2 тарау. Python Негіздері Бадарламаларды жазуа кіріспе
    Дата07.02.2022
    Размер242.51 Kb.
    Формат файлаdocx
    Имя файлаГЛАВА 2, 3, 4, 5.docx
    ТипДокументы
    #354527
    страница9 из 10
    1   2   3   4   5   6   7   8   9   10

    Файлдың болуы

    Егер біз жоқ файлды ашуға тырыссақ, Python FileNotFoundError-ны алып тастайды. Ерекше жағдайды алу үшін біз try дизайнын қолдана аламыз...except. Дегенмен, файлды ашпас бұрын, оның os әдісін қолдана отырып бар-жоғын тексеруге болады.path.exists(path). Бұл әдіске жол беріледі, оны тексеру керек:

    1

    2

    3

    4

    5

    filename = input("Введите путь к файлу: ")

    if os.path.exists(filename):

        print("Указанный файл существует")

    else:

        print("Файл не существует")

    5 ТАРАУ

    Жолдар

    Жолдармен жұмыс

    Жол Unicode кодтаудағы таңбалар тізбегін білдіреді. Біз квадрат жақшадағы индекс бойынша жолдың жеке таңбаларына жүгіне аламыз:

    1

    2

    3

    4

    5

    6

    7

    8

    string = "hello world"

    c0 = string[0]  # h

    print(c0)

    c6 = string[6]  # w

    print(c6)

     

    c11 = string[11]  # ошибка IndexError: string index out of range

    print(c11)


    Индекстеу нөлден басталады, сондықтан жолдың бірінші таңбасында 0 индексі болады. Егер Біз жолда жоқ индекске жүгінуге тырыссақ, онда IndexError ерекшелік аламыз. Мысалы, жоғарыдағы жағдайда жолдың ұзындығы 11 таңбадан тұрады, сондықтан оның таңбаларында 0-ден 10-ға дейінгі индекстер болады.
    Жолдың соңынан бастап таңбаларға қол жеткізу үшін теріс индекстерді қолдануға болады. Сонымен, -1 индексі соңғы таңбаны, ал -2 - соңғы таңбаны және т. б. білдіреді:

    1

    2

    3

    4

    5

    string = "hello world"

    c1 = string[-1]  # d

    print(c1)

    c5 = string[-5]  # w

    print(c5)


    Таңбалармен жұмыс жасау кезінде жолдың өзгермейтін (өзгермейтін) түрі екенін ескеру керек, сондықтан егер біз жолдың жеке таңбасын өзгертуге тырыссақ, онда келесі жағдайдағыдай қате пайда болады:

    1

    2

    string = "hello world"

    string[1] = "R"


    Біз жолдың мәнін оған басқа мән беру арқылы толығымен қайта орната аламыз.
    Ішкі жолды алу

    Қажет болса, біз жолдан жеке таңбаларды ғана емес, сонымен қатар ішкі жолды да ала аламыз. Ол үшін келесі синтаксис қолданылады:

    • string [: end]: таңбалар тізбегі 0-ші индекстен бастап алынады индекс end

    • string [start: end]: таңбалар тізбегі start индексінен бастап end индексіне дейін алынады

    • string [start:end:step]: start индексінен бастап қадам қадамы арқылы end индексіне дейінгі таңбалар тізбегі алынады

    Біз ішкі жолды алудың барлық нұсқаларын қолданамыз:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    string = "hello world"

     

    # с 0 до 5 символа

    sub_string1 = string[:5]

    print(sub_string1)      # hello

     

    # со 2 до 5 символа

    sub_string2 = string[2:5]

    print(sub_string2)      # llo

     

    # со 2 по 9 символ через один символ

    sub_string3 = string[2:9:2]

    print(sub_string3)      # lowr


    Ord және len функциялары

    Өйткені жол құрамында символдар Unicode болса, онда функциясының көмегімен ord() аламыз сандық мәні үшін символдан кодтау Unicode:

    1

    print(ord("A"))     # 65


    Жолдың ұзындығын алу үшін Len функциясын қолдануға болады():

    1

    2

    3

    string = "hello world"

    length = len(string)

    print(length)   # 11


    Жолда іздеу

    Term in string өрнегін қолдана отырып, жол сызығындағы term ішкі жолын табуға болады. Егер ішкі жол табылса, онда өрнек шын мәнін қайтарады, әйтпесе жалған мән қайтарылады:

    1

    2

    3

    4

    5

    6

    string = "hello world"

    exist = "hello" in string

    print(exist)    # True

     

    exist = "sword" in string

    print(exist)    # False


    Жолды санау

    For циклінің көмегімен сіз жолдың барлық таңбаларын сұрыптай аласыз:


    1

    2

    3

    string = "hello world"

    for char in string:

        print(char)

    Негізгі жол әдістері
    Қосымшаларда қолдануға болатын жолдардың негізгі әдістерін қарастырыңыз:


    • 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() әдісін қолдана отырып, санның шын мәнінде енгізілгенін тексеруге болады, егер солай болса, онда түрлендіру әрекетін орындаңыз:

    1

    2

    3

    4

    string = input("Введите число: ")

    if string.isnumeric():

        number = int(string)

        print(number)


    Тексеру, белгілі бір ішкі жолға жол басталады немесе аяқталады:

    1

    2

    3

    4

    file_name = "hello.py"

     

    starts_with_hello = file_name.startswith("hello")   # True

    ends_with_exe = file_name.endswith("exe")           # False


    Жолдың басында және соңында бос орындарды жою:

    1

    2

    3

    string = "   hello  world!  "

    string = string.strip()

    print(string)           # hello  world!


    Жолды бос орындармен толықтыру және туралау:

    1

    2

    print("iPhone 7:", "52000".rjust(10))

    print("Huawei P10:", "36000".rjust(10))


    Консольді шығару:
    iPhone 7: 52000

    Huawei P10: 36000
    Жолда іздеу

    Python-дағы жолдағы ішкі жолды іздеу үшін find () әдісі қолданылады, ол жолға бірінші ішкі жолдың кіру индексін қайтарады және үш нысаны бар:


    • find (str): str ішкі жолын іздеу жолдың басынан аяғына дейін жүзеге асырылады




    • find (str, start): start параметрі іздеу жүргізілетін бастапқы индексті анықтайды




    • find (str, start, end): end параметрі іздеу жүретін соңғы индексті анықтайды


    Егер ішкі жол табылмаса, әдіс -1 қайтарады:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    welcome = "Hello world! Goodbye world!"

    index = welcome.find("wor")

    print(index)       # 6

     

    # поиск с 10-го индекса

    index = welcome.find("wor",10)

    print(index)       # 21

     

    # поиск с 10 по 15 индекс

    index = welcome.find("wor",10,15)

    print(index)       # -1

    Жолда ауыстыру

    Бір ішкі жолды екіншісіне ауыстыру үшін replace() әдісі қолданылады:


    • replace (old, new): old ішкі жолын жаңасына ауыстырады




    • replace (old, new, num): num параметрі old ішкі жолының қанша кездесуін жаңасына ауыстыру керектігін көрсетеді

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    phone = "+1-234-567-89-10"

     

    # замена дефисов на пробел

    edited_phone = phone.replace("-", " ")

    print(edited_phone)     # +1 234 567 89 10

     

    # удаление дефисов

    edited_phone = phone.replace("-", "")

    print(edited_phone)     # +12345678910

     

    # замена только первого дефиса

    edited_phone = phone.replace("-", "", 1)

    print(edited_phone)     # +1234-567-89-10


    Ішкі жолдарға бөлу

    Split () әдісі бөлгішке байланысты жолды ішкі жолдар тізіміне бөледі. Бөлгіш кез-келген таңба немесе таңбалар тізбегі бола алады. Бұл әдіс келесі формаларға ие:


    • split (): бөлгіш ретінде бос орын қолданылады




    • split (delimeter): бөлгіш ретінде delimeter қолданылады




    • split (delimeter, num): num параметрі бөлу үшін delimeter-дің қанша рет кездесетінін көрсетеді. Жолдың қалған бөлігі тізімге ішкі жолдарға бөлінбестен қосылады

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    text = "Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой"

    # разделение по пробелам

    splitted_text = text.split()

    print(splitted_text)

    print(splitted_text[6])     # дуб,

     

    # разбиение по запятым

    splitted_text = text.split(",")

    print(splitted_text)

    print(splitted_text[1])     # в два обхвата дуб

     

    # разбиение по первым пяти пробелам

    splitted_text = text.split(" ", 5)

    print(splitted_text)       

    print(splitted_text[5])     # обхвата дуб, с обломанными ветвями и с обломанной корой


    Жолдарды біріктіру

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

    1

    2

    3

    4

    5

    6

    7

    8

    9

    words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"]

     

    # разделитель - пробел

    sentence = " ".join(words)

    print(sentence)  # Let me speak from my heart in English

     

    # разделитель - вертикальная черта

    sentence = " | ".join(words)

    print(sentence)  # Let | me | speak | from | my | heart | in | English


    Тізімнің орнына қарапайым жолды join әдісіне беруге болады, содан кейін бөлгіш осы жолдың таңбалары арасында енгізіледі:

    1

    2

    3

    word = "hello"

    joined_word = "|".join(word)

    print(joined_word)      # h|e|l|l|o


    Пішімдеу

    Жолдарда анықталған format () әдісі белгілі бір мәндерді ойнатқыштардың орнына қою арқылы жолды пішімдеуге мүмкіндік береді.
    Жолға кірістіру үшін бұйра жақшалармен ({}) жиектелген арнайы параметрлер қолданылады.
    Аталған параметрлер

    Пішімделетін жолда параметрлерді анықтай аламыз, FORMAT () әдісінде осы параметрлер үшін мәндерді беру:

    1

    2

    3

    4

    5

    text = "Hello, {first_name}.".format(first_name="Tom")

    print(text)     # Hello, Tom.

     

    info = "Name: {name}\t Age: {age}".format(name="Bob", age=23)

    print(info)     # Name: Bob  Age: 23

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

    Сондай-ақ, біз format әдісіне дәйектілікпен дәлелдер жиынтығын бере аламыз, ал пішімделетін жолда бұл дәлелдерді бұйра жақшаларға олардың санын көрсете отырып енгізе аламыз (нөмірлеу нөлден басталады):

    1

    2

    info = "Name: {0}\t Age: {1}".format("Bob", 23)

    print(info)     # Name: Bob  Age: 23


    Бұл жағдайда аргументтерді жолға бірнеше рет енгізуге болады:

    1

    text = "Hello, {0} {0} {0}.".format("Tom")


    Ауыстырулар

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


    • s: жолдарды салу үшін




    • d: бүтін сандарды енгізу үшін




    • f: бөлшек сандарды енгізу үшін. Бұл түр үшін бөлшек бөлігіндегі белгілердің санын нүкте арқылы да анықтауға болады.




    • % : мәнді 100-ге көбейтеді және пайыз белгісін қосады




    • e: экспоненциалды жазбадағы санды көрсетеді


    Плейсхолдердің жалпы синтаксисі келесідей:

    1

    {:плейсхолдер}


    Ойнатқышқа байланысты қосымша параметрлерді қосуға болады. Мысалы, float сандарын пішімдеу үшін келесі параметрлерді пайдалануға болады

    1

    {:[количество_символов][запятая][.число_знаков_в_дробной_части] плейсхолдер}


    Format әдісін шақырған кезде оған дәлелдер ретінде ойнатқыштардың орнына енгізілген мәндер беріледі:

    1

    2

    3

    4

    welcome = "Hello {:s}"

    name = "Tom"

    formatted_welcome = welcome.format(name)

    print(formatted_welcome)        # Hello Tom


    Нәтиже ретінде format () әдісі жаңа форматталған жолды қайтарады.
    Бүтін сандарды пішімдеу:

    1

    2

    3

    4

    source = "{:d} символов"

    number = 5

    target = source.format(number)

    print(target)   # 5 символов


    Егер пішімделетін Сан 999-дан үлкен болса, онда біз ойнатқыштың анықтамасында үтірді разрядты бөлгіш ретінде қолданғымыз келетінін көрсете аламыз:

    1

    2

    source = "{:,d} символов"

    print(source.format(5000))   # 5,000 символов


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

    1

    2

    3

    4

    5

    number = 23.8589578

    print("{:.2f}".format(number))   # 23.86

    print("{:.3f}".format(number))   # 23.859

    print("{:.4f}".format(number))   # 23.8590

    print("{:,.2f}".format(10001.23554))    # 10,001.24


    Тағы бір параметр таңбалардағы пішімделетін мәннің ең аз енін орнатуға мүмкіндік береді:

    1

    2

    print("{:10.2f}".format(23.8589578))    #     23.86

    print("{:8d}".format(25))               #      25


    Пайыздарды шығару үшін кодты қолданған дұрыс "%":

    1

    2

    3

    4

    number = .12345

    print("{:%}".format(number))        # 12.345000%

    print("{:.0%}".format(number))      # 12%

    print("{:.1%}".format(number))      # 12.3%


    Экспоненциалды жазбада санды шығару үшін "e" плейсхолдері қолданылады":

    1

    2

    3

    4

    number = 12345.6789

    print("{:e}".format(number))        # 1.234568e+04

    print("{:.0e}".format(number))      # 1e+04

    print("{:.1e}".format(number))      # 1.2e+04

    1   2   3   4   5   6   7   8   9   10


    написать администратору сайта