Работа со строками python: Работа со строками в Python — функции, преобразование, форматирование

Содержание

Задачник по Python. Тема 8. Работа со строками

Оглавление

Содержание

python / задачник

  • Тип данных: str

  • Контент: Вопросы (6шт) + задачи (6шт)

Предыдущая тема

Тема 7. Работа с множествами

Следующая тема

Тема 9. Условные
выражения

Оглавление

Введение

Рассмотрим строки как тип данных в Python. Опишем основные методы и свойства строк, необходимые для решения задач.

Перейти

Вопросы и ответы

6 вопросов по теме «Строки» + ответы

Перейти

Условия задач

6 задач по теме двух уровней сложности: Базовый и *Продвинутый

Перейти

Решения задач

Приводим код решений указанных выше задач

Перейти

Введение

Строки в языке питон являются неизменяемыми объектами. Это значит, что в момент запуска скрипта ячейка памяти, на которую ссылается строка, не меняется. Из этого следует, что символы этого типа данных не могут меняться или переприсваиваться.

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

Для успешного решения заданий нужно повторить: срезы, методы строк, операции и основные свойства.

Вопросы по теме «Работа со строками»

Задачи по теме «Работа со строками»

Решение

Решение

Решение

Решение

Решение

Решение

Решения

Задача 1. Базовый уровень

Условие

Напишите функцию search_substr(subst, st), которая принимает 2 строки и определяет, имеется ли подстрока subst в строке st. 
В случае нахождения подстроки, возвращается фраза «Есть контакт!», а иначе «Мимо!». 
Должно быть найдено совпадение независимо от регистра обеих строк.

Для решения задания необходимо воспользоваться строковыми методами lower() и find(). Стоит помнить, что find() возвращает -1 в случае ненахождения нужного элемента.

Решение – IDE

def search_substr(subst, st):
    if subst.lower() in st.lower():
        	return 'Есть контакт!'
    else:
    	return 'Мимо!'


# Тесты
print(search_substr('Кол', 'коЛокОл'))
print(search_substr('Колобок', 'колобоК'))
print(search_substr('Кол', 'Плов'))

Результат выполнения

Есть контакт!
Есть контакт!
Мимо!

Задача 2. Базовый уровень

Условие

Требуется определить индексы первого и последнего вхождения буквы в строке. 
Для этого нужно написать функцию first_last(letter, st), включающую 2 параметра: letter – искомый символ, st – целевая строка. 
В случае отсутствия буквы в строке, нужно вернуть кортеж (None, None), если же она есть, то кортеж будет состоять из первого и последнего индекса этого символа.

Решение задачи сводится к оперированию методами find() и rfind().

Решение — IDE

def first_last(letter, st):
    first = st.find(letter)
    if first < 0:
        return None, None
    last = st.rfind(letter)
    return first, last



# Тесты
print(first_last('a', 'abba'))
print(first_last('a', 'abbaaaab'))
print(first_last('a', 'a'))
print(first_last('a', 'spring'))

Результат выполнения

(0, 3)
(0, 6)
(0, 0)
(None, None)

Читайте также

Программирование на Python. Урок 4. Работа со строками

Строки в Python. Тип данных: str. Учимся выполнять основные действия над строковым типом данных в Python: создание, экранирование, конкатенация и умножение, срезы, форматирование, строковые методы.

Задача 3. Базовый уровень

Условие

На основании предоставленного отрывка текста определить 3 наиболее часто встречаемых символа в ней. 
Пробелы нужно игнорировать (не учитывать при подсчете).  
Для выведения результатов вычислений требуется написать функцию top3(st). 
Итог работы функции представить в виде строки: «символ – количество раз, символ – количество раз…».

Для простоты подсчета количества вхождений символов удобно использовать Counter из модуля collections.

Решение – IDE

from collections import Counter


def top3(st):
    counter_top3 = Counter(st.replace(' ', '')).most_common(3)
    return ', '.join([f'{letter} - {cnt}' for letter, cnt in counter_top3])


# Тесты
print(top3('Улыбкой ясною природа Сквозь сон встречает утро года Синея блещут небеса. Еще прозрачные, леса'))
print(top3('АаА'))
print(top3('Голова думала'))

Результат выполнения

е - 9, о - 8, р - 6
А - 2, а - 1
А - 3, о - 2, л - 2

Задача 4. *Продвинутый уровень

Условие

Николай решил вспомнить старые времена.
В свое время было модно писать сообщения с чередующимися заглавной и малой буквами. Он захотел изобрести функцию, которая будет делать с любой предоставленной строкой аналогичное. Ваша задача: повторить труд студента camel(st) с учетом того, что пробелы и знаки препинания не должны портить чередование регистра символов (они в этом процессе не учитываются, но возвращаются в итоговой строке).

При помощи методов lower() и upper() проблема решается достаточно просто.

Решение — IDE

def camel(st):
    new_st = ''
    letter_counter = 0
    for index, val in enumerate(st):
        if val.isalpha():
            if letter_counter % 2 == 0:
                new_st += val.upper()
            else:
                new_st += val.lower()
            letter_counter += 1
        else:
            new_st += val
    return new_st


# Тесты
print(camel('Утром!! было! солнечно!!!!'))
print(camel('КРАСОТА)))'))
print(camel('дождливЫЙ, вечеР??'))

И еще один вариант решения:

Решение — IDE

CASE_FUNCTIONS = [str. upper, str.lower]

def camel(st):

    index = 0
    camel_st = ''
    for sym in st:
        if sym.isalpha():
            camel_st += CASE_FUNCTIONS[index % 2](sym)
            index += 1
        else:
            camel_st += sym

    return camel_st

# Тесты
print(camel('Утром!! было! солнечно!!!!'))
print(camel('КРАСОТА)))'))
print(camel('дождливЫЙ, вечеР??'))


Результат выполнения

УтРоМ!! бЫлО! сОлНеЧнО!!!!
КрАсОтА)))
ДоЖдЛиВыЙ, вЕчЕр??

Задача 5. * Продвинутый уровень

Условие

Дмитрий считает, что когда текст пишут в скобках (как вот тут, например), его читать не нужно. 
Вот и надумал он существенно укоротить время чтения, написав функцию, которая будет удалять все, что расположено внутри скобок. 
Помогите ленивому Диме разработать функцию shortener(st), которая будет удалять все, что внутри скобок и сами эти скобки, возвращая очищенный текст (скобки могут быть вложенными). 

При разработке алгоритма решения нужно учесть, что самая последняя открывающая скобка должна обязательно иметь после себя закрывающую.

Решение — IDE

def shortener(st):
    while '(' in st or ')' in st:
        left = st.rfind('(')
        right = st.find(')', left)
        st = st.replace(st[left:right + 1], '')
    return st


# Тесты
print(shortener('Падал(лишнее (лишнее) лишнее) прошлогодний снег (лишнее)'))
print(shortener('(лишнее(лишнее))Падал прошлогодний (лишнее(лишнее(лишнее)))снег'))


Результат выполнения

Падал прошлогодний снег 
Падал прошлогодний снег

Задача 6. * Продвинутый уровень

Условие

Александр решил как-то отобразить в тексте BACKSPACE (т.е. удаление последнего символа). 
Он подумал, что символ «@» отлично для этого подходит. 
Всем своим знакомым он дал строки такого вида (например, «гр@оо@лк@оц@ва»), чтобы посмотреть, кому удастся написать функцию cleaned_str(st), возвращающую строку в ее чистом виде. 

Так как у строк нет метода pop(), нужно сначала преобразовать их в список, а потом провести нужные манипуляции.

Решение — IDE

def cleaned_str(st):
    clean_lst = []
    for symbol in st:
        if symbol == '@' and clean_lst:
            clean_lst.pop()
        elif symbol != '@':
            clean_lst.append(symbol)
    return ''.join(clean_lst)


# Тесты

print(cleaned_str('гр@оо@лк@оц@ва'))
print(cleaned_str('сварка@@@@@лоб@ну@'))


Результат выполнения

голова
слон


Предыдущая тема

Тема 7. Работа с множествами

Следующая тема

Тема 9. Условные
выражения

Как вам материал?

ПОКАЗАТЬ КОММЕНТАРИИ

Задачник. Программирование на Python.

Задачник по Python. Тема 2. Числа с плавающей точкой

Задачник по Python. Тема 3. Логический тип данных

Задачник по Python.

Тема 5. Работа со словарями

Задачник по Python. Тема 7. Работа с множествами

41 вопрос о работе со строками в Python / Хабр

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

Быть хорошим программистом — это не значит помнить все встроенные функции некоего языка. Но это не означает и того, что их запоминание — бесполезное дело. Особенно — если речь идёт о подготовке к собеседованию.

Хочу сегодня поделиться со всеми желающими моей шпаргалкой по работе со строками в Python. Я оформил её в виде списка вопросов, который использую для самопроверки. Хотя эти вопросы и не тянут на полноценные задачи, которые предлагаются на собеседованиях, их освоение поможет вам в решении реальных задач по программированию.



1. Как проверить два объекта на идентичность?

Оператор is возвращает True в том случае, если в две переменные записана ссылка на одну и ту же область памяти. Именно об этом идёт речь при разговоре об «идентичности объектов».

Не стоит путать is и ==. Оператор == проверяет лишь равенство объектов.

animals           = ['python','gopher']
more_animals      = animals
print(animals == more_animals) #=> True
print(animals is more_animals) #=> True
even_more_animals = ['python','gopher']
print(animals == even_more_animals) #=> True
print(animals is even_more_animals) #=> False
Обратите внимание на то, что animals и even_more_animals
не идентичны, хотя и равны друг другу.

Кроме того, существует функция id(), которая возвращает идентификатор адреса памяти, связанного с именем переменной. При вызове этой функции для двух идентичных объектов будет выдан один и тот же идентификатор.

name = 'object'
id(name)
#=> 4408718312

2. Как проверить то, что каждое слово в строке начинается с заглавной буквы?

Существует строковый метод istitle(), который проверяет, начинается ли каждое слово в строке с заглавной буквы.

print( 'The Hilton'.istitle() ) #=> True
print( 'The dog'.istitle() ) #=> False
print( 'sticky rice'.istitle() ) #=> False

3. Как проверить строку на вхождение в неё другой строки?

Существует оператор in, который вернёт True в том случае, если строка содержит искомую подстроку.

print( 'plane' in 'The worlds fastest plane' ) #=> True
print( 'car' in 'The worlds fastest plane' ) #=> False

4. Как найти индекс первого вхождения подстроки в строку?

Есть два метода, возвращающих индекс первого вхождения подстроки в строку. Это — find() и index(). У каждого из них есть определённые особенности.

Метод find() возвращает -1 в том случае, если искомая подстрока в строке не найдена.

'The worlds fastest plane'.find('plane') #=> 19
'The worlds fastest plane'.find('car') #=> -1
Метод index() в подобной ситуации выбрасывает ошибку ValueError.

'The worlds fastest plane'.index('plane') #=> 19
'The worlds fastest plane'.index('car') #=> ValueError: substring not found

5. Как подсчитать количество символов в строке?

Функция len() возвращает длину строки.

len('The first president of the organization..') #=> 41

6. Как подсчитать то, сколько раз определённый символ встречается в строке?

Ответить на этот вопрос нам поможет метод count(), который возвращает количество вхождений в строку заданного символа.

'The first president of the organization..'.count('o') #=> 3

7. Как сделать первый символ строки заглавной буквой?

Для того чтобы это сделать, можно воспользоваться методом capitalize().

'florida dolphins'.capitalize() #=> 'Florida dolphins'

8. Что такое f-строки и как ими пользоваться?

В Python 3.6 появилась новая возможность — так называемые «f-строки». Их применение чрезвычайно упрощает интерполяцию строк. Использование f-строк напоминает применение метода format().

При объявлении f-строк перед открывающей кавычкой пишется буква f.

name = 'Chris'
food = 'creme brulee'
f'Hello. My name is {name} and I like {food}.'
#=> 'Hello. My name is Chris and I like creme brulee'

9. Как найти подстроку в заданной части строки?

Метод index() можно вызывать, передавая ему необязательные аргументы, представляющие индекс начального и конечного фрагмента строки, в пределах которых и нужно осуществлять поиск подстроки.

'the happiest person in the whole wide world.'.index('the',10,44)
#=> 23
Обратите внимание на то, что вышеприведённая конструкция возвращает 23, а не 0, как было бы, не ограничь мы поиск.

'the happiest person in the whole wide world.'.index('the')
#=> 0

10. Как вставить содержимое переменной в строку, воспользовавшись методом format()?

Метод format() позволяет добиваться результатов, сходных с теми, которые можно получить, применяя f-строки. Правда, я полагаю, что использовать format() не так удобно, так как все переменные приходится указывать в качестве аргументов format().

difficulty = 'easy'
thing = 'exam'
'That {} was {}!'.format(thing, difficulty)
#=> 'That exam was easy!'

11. Как узнать о том, что в строке содержатся только цифры?

Существует метод isnumeric(), который возвращает True в том случае, если все символы, входящие в строку, являются цифрами.

'80000'.isnumeric() #=> True
Используя этот метод, учитывайте то, что знаки препинания он цифрами не считает.

'1.0'.isnumeric() #=> False

12. Как разделить строку по заданному символу?

Здесь нам поможет метод split(), который разбивает строку по заданному символу или по нескольким символам.

'This is great'.split(' ')
#=> ['This', 'is', 'great']
'not--so--great'.split('--')
#=> ['not', 'so', 'great']

13.

Как проверить строку на то, что она составлена только из строчных букв? Метод islower() возвращает True только в том случае, если строка составлена исключительно из строчных букв.

'all lower case'.islower() #=> True
'not aLL lowercase'.islower() # False

14. Как проверить то, что строка начинается со строчной буквы?

Сделать это можно, вызвав вышеописанный метод islower() для первого символа строки.

'aPPLE'[0].islower() #=> True

15. Можно ли в Python прибавить целое число к строке?

В некоторых языках это возможно, но Python при попытке выполнения подобной операции будет выдана ошибка TypeError.

'Ten' + 10 #=> TypeError

16. Как «перевернуть» строку?

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

''. join(reversed("hello world"))
#=> 'dlrow olleh'

17. Как объединить список строк в одну строку, элементы которой разделены дефисами?

Метод join() умеет объединять элементы списков в строки, разделяя отдельные строки с использованием заданного символа.

'-'.join(['a','b','c'])
#=> 'a-b-c'

18. Как узнать о том, что все символы строки входят в ASCII?

Метод isascii() возвращает True в том случае, если все символы, имеющиеся в строке, входят в ASCII.

print( 'Â'.isascii() ) #=> False
print( 'A'.isascii() ) #=> True

19. Как привести всю строку к верхнему или нижнему регистру?

Для решения этих задач можно воспользоваться методами upper() и lower(), которые, соответственно, приводят все символы строк к верхнему и нижнему регистрам.

sentence = 'The Cat in the Hat'
sentence.upper() #=> 'THE CAT IN THE HAT'
sentence.lower() #=> 'the cat in the hat'

20.

Как преобразовать первый и последний символы строки к верхнему регистру? Тут, как и в одном из предыдущих примеров, мы будем обращаться к символам строки по индексам. Строки в Python иммутабельны, поэтому мы будем заниматься сборкой новой строки на основе существующей.

animal = 'fish'
animal[0].upper() + animal[1:-1] + animal[-1].upper()
#=> 'FisH'

21. Как проверить строку на то, что она составлена только из прописных букв?

Имеется метод isupper(), который похож на уже рассмотренный islower(). Но isupper() возвращает True только в том случае, если вся строка состоит из прописных букв.

'Toronto'.isupper() #=> False
'TORONTO'.isupper() #= True

22. В какой ситуации вы воспользовались бы методом splitlines()?

Метод splitlines() разделяет строки по символам разрыва строки.

sentence = "It was a stormy night\nThe house creeked\nThe wind blew. "
sentence.splitlines()
#=> ['It was a stormy night', 'The house creeked', 'The wind blew.']

23. Как получить срез строки?

Для получения среза строки используется синтаксическая конструкция следующего вида:

string[start_index:end_index:step]
Здесь step — это шаг, с которым будут возвращаться символы строки из диапазона start_index:end_index. Значение step, равное 3, указывает на то, что возвращён будет каждый третий символ.

string = 'I like to eat apples'
string[:6] #=> 'I like'
string[7:13] #=> 'to eat'
string[0:-1:2] #=> 'Ilk oetape' (каждый 2-й символ)

24. Как преобразовать целое число в строку?

Для преобразования числа в строку можно воспользоваться конструктором str().

str(5) #=> '5'

25. Как узнать о том, что строка содержит только алфавитные символы?

Метод isalpha() возвращает True в том случае, если все символы в строке являются буквами.

'One1'.isalpha() #=> False
'One'.isalpha() #=> True

26. Как в заданной строке заменить на что-либо все вхождения некоей подстроки?

Если обойтись без экспорта модуля, позволяющего работать с регулярными выражениями, то для решения этой задачи можно воспользоваться методом replace().

sentence = 'Sally sells sea shells by the sea shore'
sentence.replace('sea', 'mountain')
#=> 'Sally sells mountain shells by the mountain shore'

27. Как вернуть символ строки с минимальным ASCII-кодом?

Если взглянуть на ASCII-коды элементов, то окажется, например, что прописные буквы имеют меньшие коды, чем строчные. Функция min() возвращает символ строки, имеющий наименьший код.

min('strings') #=> 'g'

28. Как проверить строку на то, что в ней содержатся только алфавитно-цифровые символы?

В состав алфавитно-цифровых символов входят буквы и цифры. Для ответа на этот вопрос можно воспользоваться методом isalnum().

'Ten10'.isalnum() #=> True
'Ten10.'.isalnum() #=> False

29. Как удалить пробелы из начала строки (из её левой части), из её конца (из правой части), или с обеих сторон строки?

Здесь нам пригодятся, соответственно, методы lstrip(), rstrip() и strip().

string = '  string of whitespace    '
string.lstrip() #=> 'string of whitespace    '
string.rstrip() #=> '  string of whitespace'
string.strip() #=> 'string of whitespace'

30. Как проверить то, что строка начинается с заданной последовательности символов, или заканчивается заданной последовательностью символов?

Для ответа на этот вопрос можно прибегнуть, соответственно, к методам startswith() и endswith().

city = 'New York'
city.startswith('New') #=> True
city.endswith('N') #=> False

31. Как закодировать строку в ASCII?

Метод encode() позволяет кодировать строки с использованием заданной кодировки. По умолчанию используется кодировка utf-8. Если некий символ не может быть представлен с использованием заданной кодировки, будет выдана ошибка UnicodeEncodeError.

'Fresh Tuna'.encode('ascii')
#=> b'Fresh Tuna'
'Fresh Tuna Â'.encode('ascii')
#=> UnicodeEncodeError: 'ascii' codec can't encode character '\xc2' in position 11: ordinal not in range(128)

32. Как узнать о том, что строка включает в себя только пробелы?

Есть метод isspace(), который возвращает True только в том случае, если строка состоит исключительно из пробелов.

''.isspace() #=> False
' '.isspace() #=> True
'   '.isspace() #=> True
' the '.isspace() #=> False

33. Что случится, если умножить некую строку на 3?

Будет создана новая строка, представляющая собой исходную строку, повторённую три раза.

'dog' * 3
# 'dogdogdog'

34. Как привести к верхнему регистру первый символ каждого слова в строке?

Существует метод title(), приводящий к верхнему регистру первую букву каждого слова в строке.

'once upon a time'.title() #=> 'Once Upon A Time'

35. Как объединить две строки?

Для объединения строк можно воспользоваться оператором +.

'string one' + ' ' + 'string two' 
#=> 'string one string two'

36. Как пользоваться методом partition()?

Метод partition() разбивает строку по заданной подстроке. После этого результат возвращается в виде кортежа. При этом подстрока, по которой осуществлялась разбивка, тоже входит в кортеж.

sentence = "If you want to be a ninja"
print(sentence.partition(' want '))
#=> ('If you', ' want ', 'to be a ninja')

37. Строки в Python иммутабельны. Что это значит?

То, что строки иммутабельны, говорит о том, что после того, как создан объект строки, он не может быть изменён. При «модификации» строк исходные строки не меняются. Вместо этого в памяти создаются совершенно новые объекты. Доказать это можно, воспользовавшись функцией id().

proverb = 'Rise each day before the sun'
print( id(proverb) )
#=> 4441962336
proverb_two = 'Rise each day before the sun' + ' if its a weekday'
print( id(proverb_two) )
#=> 4442287440
При конкатенации 'Rise each day before the sun' и ' if its a weekday' в памяти создаётся новый объект, имеющий новый идентификатор. Если бы исходный объект менялся бы, тогда у объектов был бы один и тот же идентификатор.

38. Если объявить одну и ту же строку дважды (записав её в 2 разные переменные) — сколько объектов будет создано в памяти? 1 или 2?

В качестве примера подобной работы со строками можно привести такой фрагмент кода:

animal = 'dog'
pet = 'dog'
При таком подходе в памяти создаётся лишь один объект. Когда я столкнулся с этим в первый раз, мне это не показалось интуитивно понятным. Но этот механизм помогает Python экономить память при работе с длинными строками.

Доказать это можно, прибегнув к функции id().

animal = 'dog'
print( id(animal) )
#=> 4441985688
pet = 'dog'
print( id(pet) )
#=> 4441985688

39. Как пользоваться методами maketrans() и translate()?

Метод maketrans() позволяет описать отображение одних символов на другие, возвращая таблицу преобразования.

Метод translate() позволяет применить заданную таблицу для преобразования строки.

# создаём отображение
mapping = str.maketrans("abcs", "123S")
# преобразуем строку
"abc are the first three letters".translate(mapping)
#=> '123 1re the firSt three letterS'
Обратите внимание на то, что в строке произведена замена символов a, b, c и s, соответственно, на символы 1, 2, 3 и S.

40. Как убрать из строки гласные буквы?

Один из ответов на этот вопрос заключается в том, что символы строки перебирают, пользуясь механизмом List Comprehension. Символы проверяют, сравнивая с кортежем, содержащим гласные буквы. Если символ не входит в кортеж — он присоединяется к новой строке.

string = 'Hello 1 World 2'
vowels = ('a','e','i','o','u')
''.join([c for c in string if c not in vowels])
#=> 'Hll 1 Wrld 2'

41. В каких ситуациях пользуются методом rfind()?

Метод rfind() похож на метод find(), но он, в отличие от find(), просматривает строку не слева направо, а справа налево, возвращая индекс первого найденного вхождения искомой подстроки.

story = 'The price is right said Bob. The price is right.'
story.rfind('is')
#=> 39

Итоги

Я часто объясняю одному продакт-менеджеру, человеку в возрасте, что разработчики — это не словари, хранящие описания методов объектов. Но чем больше методов помнит разработчик — тем меньше ему придётся гуглить, и тем быстрее и приятнее ему будет работаться. Надеюсь, теперь вы без труда ответите на рассмотренные здесь вопросы.

Уважаемые читатели! Что, касающееся обработки строк в Python, вы посоветовали бы изучить тем, кто готовится к собеседованию?

Python String — строковые функции в Python

Python Strings и строковые функции в Python

Python string — это упорядоченный набор символов, который используется для представления и хранения текстовой информации. Строки хранятся как отдельные символы в непрерывной области памяти. Доступ к нему возможен с двух сторон: вперед и назад. Персонажи — это не что иное, как символы. Строки являются неизменяемыми типами данных в Python, что означает, что после создания строки ее нельзя изменить. В этом модуле мы узнаем все о строках в Python, чтобы начать работу со строками.

Посмотрите это видео о строковых операциях Python:


Ниже приведен список всех тем, которые рассматриваются в этом модуле.

  • Создание строки в Python
  • Доступ к символам строки Python
  • Обновление или удаление строки в Python
  • Строковые операторы Python
  • Встроенные строковые методы Python и строковые функции Python

Итак, без лишних слов, приступим.

Создание строки в Python

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

 #создание строки с одинарными кавычками
String1 = «Интеллектуальный»
print (String1)#создание строки с двойными кавычками
String2 = «Учебник по Python»
Print (Strings2) 

После создания строк их можно вывести на экран с помощью метода print(), как показано в приведенном выше примере. Вывод приведенного выше примера будет следующим:

 Интеллипат
Учебное пособие по Python 

Начните свою карьеру в Python с идеального курса Python в Нью-Йорке прямо сейчас!

Доступ к символам строки Python

В Python к символам строки можно обращаться по отдельности с помощью метода, называемого индексированием. Доступ к персонажам возможен с обоих направлений: вперед и назад. Прямая индексация начинается с 0, 1, 2…. Принимая во внимание, что обратная индексация начинается с −1, −2, −3…, где −1 — это последний элемент в строке, −2 — предпоследний и так далее. Мы можем использовать только целочисленный тип числа для индексации; в противном случае будет поднята ошибка TypeError.
Пример:

 String1 = ‘intellipaat’
печать (строка1)
печать (Строка1[0])
печать (Строка1[1])
печать (Строка1[-1])


Выход:
Intellipaat
я
н
t 

Python — один из самых востребованных навыков на рынке. Запишитесь на наше лучшее обучение Python в Бангалоре и станьте экспертом Python.

Обновление или удаление строки в Python

Как обсуждалось выше, строки в Python неизменяемы, поэтому обновление или удаление отдельного символа в строке не разрешено, а это означает, что изменение конкретного символа в строке не поддерживается в Python. Хотя всю строку можно обновить и удалить. Вся строка удаляется с помощью встроенного ключевого слова del.
Пример:

 #Код Python для обновления всей строки
String1 = «Интеллектуальное руководство по Python»
print("исходная строка:")
print (String1)String1 = «Добро пожаловать в Intellipaat»
print("Обновленная строка:")
печать (строка1)


Выход:
Оригинальная строка:
Интеллектуальное руководство по Python
Обновленная строка:
Добро пожаловать в Intellipaat 

Пример:

 #Код Python для удаления всей строки
String1 = «Интеллектуальное руководство по Python»
печать (строка1)
дель String1
печать (строка1)


Выход:
Интеллектуальное руководство по Python
Traceback (последний последний вызов):
Файл «», строка 1, в
NameError: имя «String1» не определено 

Отправляйтесь на самый профессиональный онлайн-курс Python в Торонто и сделайте блестящую карьеру прямо сейчас!

Строка поддерживает три типа операторов:

  • Базовые операторы (+, *)
  • Операторы отношения (<, ><=, >=, ==, !=)
  • Операторы членства (входящие, не входящие)

Таблица: общие строковые константы и операции

Операторы Описание
с1 = ‘ ’ Пустая строка
s2 = «строка» Двойные кавычки
блок = ‘‘‘…’’’ Блоки в тройных кавычках
с1 + с2 Объединить
с2 * 3 Повторить
с2[i] я=Индекс
с2[и:к] Срез
лен(с2) Длина
«попугай %s» % «мертвый» Форматирование строк в Python
для x в s2 Итерация
‘m’ в s2 Членство

Получите 100% повышение!

Осваивайте самые востребованные навыки прямо сейчас!

Таблица: Строковые символы обратной косой черты

Операторы Описание
\новая строка Игнорируется (продолжение)
Новая строка (перевод строки ASCII)
\ Обратная косая черта (сохраняет один \)
\v Вертикальная вкладка
\’ Одинарная кавычка (сохраняется)
Горизонтальная вкладка
» Двойная кавычка (сохраняет “)
\r Возврат каретки
Звонок ASCII
Подача бумаги
Возврат
\0ХХ Восьмеричное значение XX
Побег (обычно)
\хХХ Шестнадцатеричное значение ХХ
\000 Null (не заканчивается строка)

Пример : Программа для объединения двух строк.

 S1 = «привет»
S2 = «Интеллипат»
print (S1 + S2) 

Станьте профессиональным программистом Python с этим полным курсом обучения Python в Сингапуре!

Встроенные строковые методы Python и строковые функции Python

Давайте разберемся с некоторыми строковыми функциями Python и стандартными встроенными методами

Длина строки Python

Функция len() — это встроенная функция языка программирования Python, которая возвращает длину строки.

 строка = «Интеллипаат»
печать (длина (строка))

Результат будет: 11

string = «Интеллектуальное руководство по Python»
печать (длина (строка))

Результатом будет: 27 

Python Slice String

Чтобы использовать синтаксис среза, вы должны указать начальный и конечный индексы, разделенные двоеточием. Требуемая часть строки будет возвращена.

 а = «Интеллипаат»
печать (а[2:5])

Выходные данные будут такими: тел 
Фрагмент от начала

Если вы пропустите начальный индекс, диапазон будет начинаться с первого символа.

 а = «Интеллипаат»
печать (а [: 5])

Вывод будет следующим: Intel 
Фрагмент с конца

Если вы пропустите начальный индекс, диапазон будет начинаться с первого символа.

 а = «Интеллипаат»
напечатать (а[2:])

Вывод будет: теллипаат 

Python Reverse String

В Python нет встроенной функции для реверсирования заданной строки, но самый простой способ сделать это — использовать срез, который начинается в конце строки и идет назад.

 x = «интеллигент» [::-1]
печать (х)

Вывод будет таким: taapilletni 

Career Transition

Python Split String

Метод split() позволяет разделить строку и возвращает список, в котором каждое слово строки является элементом списка.

 x = «Интеллектуальное руководство по Python»
а=x.split()
печать (а)

Вывод будет таким: [‘Intellipaat’, ‘Python’, ‘Tutorial’] 

По умолчанию разделителем является любой пробел, но его можно указать иначе.

Python Concatenate Strings

Оператор + используется для добавления или объединения строки с другой строкой

 a = «Python tutorial»
b = «от Intellipaat»
с = а + б
печать (с)

Вывод будет таким: Учебник по Python от Intellipaat 

Сравнение строк в Python

Мы можем сравнивать строки в Python с помощью операторов отношения. Эти операторы сравнивают значения Unicode каждого символа строк, начиная с нулевого индекса и до конца строк. В соответствии с используемым оператором он возвращает логическое значение.

 печать («Питон» == «Питон»)
print("Питон" < "Питон")
печать («Питон»> «Питон»)
print("Питон" != "Питон")

Выходы будут:
Истинный
Истинный
ЛОЖЬ
Ложь 

Список Python в строку

В python с помощью метода .join() любой список может быть преобразован в строку.

 a = ['Intellipaat', 'Python', 'Учебник']
б = ""
печать (b.join (а))

Результатом будет: Intellipaat Python Tutorial 

Python String Replace

Метод replace() в Python заменит указанную фразу другой.

 a = «Мне нравится программировать»
b = a.replace("Программирование", "Python")
печать (б)

Вывод будет таким: Мне нравится Python 

Просмотрите следующую таблицу, чтобы понять некоторые другие строковые методы Python:

Строковый метод/строковая функция в Python Описание строкового метода/строковой функции в Python
заглавная буква() Делает первую букву строки заглавной.
центр (ширина, символ заполнения) Возвращает строку, дополненную пробелами, с центром в исходной строке.
количество (строка, начало = 0, конец = длина (строка)) Подсчитывает, сколько раз «str» встречается в строке или в подстроке строки, если заданы начальный индекс «beg» и конечный индекс «end».
кодировка (кодировка = ‘UTF-8’, ошибки = ‘строгая’) Возвращает закодированную строковую версию строки; при ошибке по умолчанию выдается ValueError, если только ошибки не указаны с помощью «игнорировать» или «заменить».
заканчивается с(суффикс, начало=0, конец=длина(строка)) Определяет, заканчивается ли строка или подстрока строки (если заданы начальный индекс beg и конечный индекс end) суффиксом; он возвращает true, если это так, и false в противном случае.
расширить вкладки (размер вкладки = 8) Расширяет табуляцию в строке до нескольких пробелов; по умолчанию 8 пробелов на вкладку, если размер вкладки не указан.
найти (строка, начало = 0 конец = длина (строка)) Определяет, встречается ли «str» в строке или в подстроке строки, если заданы начальный индекс «beg» и конечный индекс «end», и возвращает индекс, если он найден, и −1 в противном случае.
индекс (строка, начало = 0, конец = длина (строка)) Работает так же, как find(), но вызывает исключение, если строка не найдена.
изальный номер() Возвращает true, если строка содержит хотя бы один символ и все символы буквенно-цифровые, и false в противном случае.
альфа() Возвращает true, если в строке есть хотя бы один символ и все символы алфавитные, и false в противном случае.
isdigit() Возвращает true, если строка содержит только цифры, и false в противном случае.
ниже() Возвращает true, если в строке есть хотя бы один символ в верхнем регистре, а все остальные символы в нижнем регистре, и false в противном случае.
верхний() Возвращает true, если в строке есть хотя бы один символ в верхнем регистре, а все остальные символы в верхнем регистре, и false в противном случае.
длина (строка) Возвращает длину строки.
макс(стр) Возвращает максимальное количество буквенных символов из строки str.
мин(стр) Возвращает минимальный буквенный символ из строки str.
верхний() Преобразует строчные буквы строки в прописные.
rstrip() Удаляет все пробелы в конце строки.
раскол(стр=””, число=строка.количество(стр)) Он используется для разделения строк в Python в соответствии с разделителем str (пробел, если он не указан) и возвращает список подстрок в Python
линии разделения (число=строка.количество(‘\n’)) Разбивает строку по символам новой строки и возвращает список каждой строки с удаленными символами новой строки.

Это подводит нас к концу этого модуля в Python Tutorial . Теперь, если вам интересно узнать, почему Python является наиболее предпочтительным языком для науки о данных, вы можете пройти через эти Учебник Python Data Science .
Кроме того, ознакомьтесь с нашим курсом Python Certification , который поможет мне преуспеть в моей карьере и достичь новых высот. Кроме того, воспользуйтесь бесплатным руководством по всем актуальным вопросам для интервью с Python , созданным отраслевыми экспертами.

Курсы, которые могут вам понравиться

Расписание курсов

3. Неформальное введение в Python — документация по Python 3.11.4

В следующих примерах ввод и вывод отличаются наличием или отсутствие подсказок (>>> и …): для повторения примера необходимо ввести все после подсказки, когда появится подсказка; строки, которые не начинаются с подсказкой выводятся из интерпретатора. Обратите внимание, что дополнительная подсказка на строка сама по себе в примере означает, что вы должны ввести пустую строку; это используется для завершить многострочную команду.

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

Многие примеры в этом руководстве, даже введенные в интерактивном режиме подскажите, включите комментарии. Комментарии в Python начинаются с символа решетки, # и до конца физической строки. Комментарий может появиться в начало строки или после пробела или кода, но не внутри строки буквальный. Хэш-символ внутри строкового литерала — это просто хеш-символ. Поскольку комментарии предназначены для пояснения кода и не интерпретируются Python, они могут опускать при вводе примеров.

Некоторые примеры:

 # это первый комментарий
spam = 1 # и это второй комментарий
          # ... а теперь и третий!
text = "# Это не комментарий, потому что он заключен в кавычки."
 

3.1. Использование Python в качестве калькулятора

Давайте попробуем несколько простых команд Python. Запустите интерпретатор и дождитесь основная подсказка, >>> . (Это не должно занять много времени.)

3.1.1. Номера

Интерпретатор действует как простой калькулятор: на нем можно ввести выражение и он напишет значение. Синтаксис выражения прост: операторы +, -, * и / можно использовать для выполнения арифметика; круглые скобки ( () ) могут использоваться для группировки. Например:

 >>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5,0
>>> 8 / 5 # деление всегда возвращает число с плавающей запятой
1,6
 

Целые числа (например, 2 , 4 , 20 ) имеют тип int , с дробной частью (например, 5.0 , 1.6 ) имеют тип поплавок . Мы увидим больше о числовых типах позже в учебнике.

Division ( / ) всегда возвращает число с плавающей запятой. Для разделения этажей и получить целочисленный результат можно с помощью оператора //; вычислять остальное можно использовать % :

 >>> 17 / 3 # классическое деление возвращает число с плавающей запятой
5.666666666666667
>>>
>>> 17 // 3 # деление этажа отбрасывает дробную часть
5
>>> 17 % 3 # оператор % возвращает остаток от деления
2
>>> 5 * 3 + 2 # частное * делитель + остаток
17
 

С Python можно использовать оператор ** для вычисления степени 1:

 >>> 5 ** 2 # 5 в квадрате
25
>>> 2 ** 7 # 2 в степени 7
128
 

Знак равенства ( = ) используется для присвоения значения переменной. После этого нет результат отображается перед следующей интерактивной подсказкой:

 >>> ширина = 20
>>> высота = 5 * 9
>>> ширина * высота
900
 

Если переменная не «определена» (не присвоено значение), попытка ее использования приведет к выдает ошибку:

 >>> n # попытка доступа к неопределенной переменной
Traceback (последний последний вызов):
  Файл "", строка 1, в 
NameError: имя «n» не определено
 

Полная поддержка операций с плавающей запятой; операторы со смешанными операндами преобразовать целочисленный операнд в число с плавающей запятой:

 >>> 4 * 3,75 - 1
14,0
 

В интерактивном режиме переменной присваивается последнее напечатанное выражение _ . Это означает, что когда вы используете Python в качестве настольного калькулятора, несколько проще продолжить вычисления, например:

 >>> налог = 12,5/100
>>> цена = 100,50
>>> цена * налог
12,5625
>>> цена + _
113.0625
>>> раунд(_, 2)
113. 06
 

Эта переменная должна рассматриваться пользователем как доступная только для чтения. Не делайте явно присвойте ей значение — вы бы создали независимую локальную переменную с то же имя, маскирующее встроенную переменную своим магическим поведением.

В дополнение к int и float Python поддерживает другие типы числа, например Десятичный и Дробный . Python также имеет встроенную поддержку комплексных чисел, и использует суффикс j или J для обозначения мнимой части (например, 3+5j ).

3.1.2. Строки

Помимо чисел, Python также может манипулировать строками, которые могут быть выражены несколькими способами. Они могут быть заключены в одинарные кавычки ( '...' ) или двойные кавычки ( "..." ) с тем же результатом 2. Можно использовать \ экранировать кавычки:

 >>> 'спам яйца' # одинарные кавычки
спам-яйца
>>> 'не' # использует \' для выхода из одинарной кавычки. ..
"не"
>>> "не" # ...или вместо этого используйте двойные кавычки
"не"
>>> «Да, — сказали они».
— Да, — сказали они.
>>> "\"Да\" сказали они."
— Да, — сказали они.
>>> «Разве нет, — сказали они».
«Это не так, — сказали они».
 

В интерактивном интерпретаторе выходная строка заключена в кавычки и специальные символы экранируются обратной косой чертой. Хотя иногда это может выглядеть иначе, чем ввод (окружающие кавычки могут измениться), два строки эквивалентны. Строка заключается в двойные кавычки, если строка содержит одинарную кавычку и не содержит двойных кавычек, иначе заключен в одинарные кавычки. функция print() выдает более читаемый вывод, опуская кавычки и печатая экранированные и специальные символы:

 >>> '"Не так", - сказали они.'
«Это не так, — сказали они».
>>> print('"Неправда", - сказали они.')
«Нет, — сказали они.
>>> s = 'Первая строка.\nВторая строка.' # \n означает новую строку
>>> s # без print(), \n включается в вывод
'Первая строка. \nВторая строка.'
>>> print(s) # с помощью print(), \n создает новую строку
Первая линия.
Вторая линия.
 

Если вы не хотите, чтобы символы с префиксом \ интерпретировались как специальные символы, вы можете использовать необработанных строк , добавив r перед первая цитата:

 >>> print('C:\some\name') # здесь \n означает новую строку!
C:\некоторые
аме
>>> print(r'C:\some\name') # обратите внимание на букву r перед кавычками
C:\некоторые\имя
 

У необработанных строк есть один нюанс: необработанная строка может не заканчиваться на нечетное количество \ символов; видеть запись часто задаваемых вопросов для получения дополнительной информации и обходные пути.

Строковые литералы могут занимать несколько строк. Один из способов — использовать тройные кавычки: """...""" или '''...''' . Конец строк автоматически включены в строку, но этого можно избежать, добавив \ в конец строки. Следующий пример:

 печать("""\
Использование: штучка [ВАРИАНТЫ]
     -h Показать это сообщение об использовании
     -H hostname Имя хоста для подключения
""")
 

производит следующий вывод (обратите внимание, что начальная новая строка не включена):

 Применение: штучка [ВАРИАНТЫ]
     -h Показать это сообщение об использовании
     -H hostname Имя хоста для подключения
 

Строки могут быть объединены (склеены) с помощью оператора + и повторяется с * :

 >>> # 3 раза 'un', а затем 'ium'
>>> 3 * 'un' + 'ium'
'унунуниум'
 

Два или более строковых литералов (т.е. заключенных в кавычки) next друг к другу автоматически объединяются.

 >>> 'Пи' 'тон'
«Питон»
 

Эта функция особенно полезна, когда вы хотите разбить длинные строки:

 >>> text = ('Поместите несколько строк в круглые скобки'
... «чтобы они соединились вместе».)
>>> текст
«Поместите несколько строк в круглые скобки, чтобы соединить их вместе». 
SyntaxError: неверный синтаксис
 

Если вы хотите объединить переменные или переменную и литерал, используйте + :

 >>> префикс + 'тон'
«Питон»
 

Строки могут быть проиндексированы (подписаны), с первым символом, имеющим индекс 0. Нет отдельного типа персонажа; символ — это просто строка размера один:

 >>> слово = 'Питон'
>>> word[0] # символ в позиции 0
'П'
>>> word[5] # символ в позиции 5
'н'
 

Индексы также могут быть отрицательными числами, чтобы начать отсчет справа:

 >>> слово[-1] # последний символ
'н'
>>> word[-2] # предпоследний символ
'о'
>>> слово[-6]
'П'
 

Обратите внимание, что поскольку -0 совпадает с 0, отрицательные индексы начинаются с -1.

Помимо индексации, также поддерживается нарезка . Пока используется индексация для получения отдельных символов нарезка позволяет получить подстроку:

 >>> word[0:2] # символы с позиции 0 (включительно) до 2 (исключено)
'Пи'
>>> word[2:5] # символы со 2-й позиции (включительно) до 5-й (исключая)
'хотя'
 

Индексы срезов имеют полезные значения по умолчанию; пропущенный первый индекс по умолчанию равен нулю, опущенный второй индекс по умолчанию соответствует размеру нарезаемой строки.

 >>> word[:2] # символ с начала до позиции 2 (исключая)
'Пи'
>>> word[4:] # символов с позиции 4 (включительно) до конца
'на'
>>> word[-2:] # символов от предпоследнего (включительно) до конца
'на'
 

Обратите внимание, что начало всегда включается, а конец всегда исключается. Этот убедиться, что s[:i] + s[i:] всегда равно s :

 >>> слово[:2] + слово[2:]
«Питон»
>>> слово[:4] + слово[4:]
«Питон»
 

Один из способов запомнить, как работают срезы, — представить индексы как указывающие между символами, при этом левый край первого символа имеет номер 0. Тогда правый край последнего символа строки из n символов имеет индекс n , например:

 +---+---+---+---+---+---+
 | П | у | т | ч | о | н |
 +---+---+---+---+---+---+
 0 1 2 3 4 5 6
-6 -5 -4 -3 -2 -1
 

Первая строка чисел указывает положение индексов 0…6 в строке; во второй строке даны соответствующие отрицательные индексы. Срез от i до j состоит из всех символов между ребрами, помеченными i и j , соответственно.

Для неотрицательных индексов длина среза равна разности индексы, если оба находятся в пределах допустимого диапазона. Например, длина word[1:3] равна 2.

Попытка использовать слишком большой индекс приведет к ошибке:

 >>> word[42] # слово состоит только из 6 символов
Traceback (последний последний вызов):
  Файл "", строка 1, в 
IndexError: индекс строки вне допустимого диапазона
 

Однако индексы срезов вне допустимого диапазона обрабатываются изящно при использовании для нарезка:

 >>> слово[4:42]
'на'
>>> слово[42:]
''
 

Строки Python нельзя изменить — они неизменяемы. Следовательно, присваивание индексированной позиции в строке приводит к ошибке:

 >>> слово[0] = 'J'
Traceback (последний последний вызов):
  Файл "", строка 1, в 
TypeError: объект 'str' не поддерживает назначение элементов
>>> слово[2:] = 'ру'
Traceback (последний последний вызов):
  Файл "", строка 1, в 
TypeError: объект 'str' не поддерживает назначение элементов
 

Если вам нужна другая строка, вы должны создать новую:

 >>> 'J' + слово[1:]
'Джитон'
>>> слово[:2] + 'py'
'Пипи'
 

Встроенная функция len() возвращает длину строки:

 >>> s = 'supercalifragilisticexpialidocious'
>>> Лен(ы)
34
 

См. также

Тип текстовой последовательности — str

Строки являются примерами типов последовательностей и поддерживают общие операций, поддерживаемых такими типами.

Методы строк

Строки поддерживают большое количество методов для основные преобразования и поиск.

Форматированные строковые литералы

Строковые литералы со встроенными выражениями.

Синтаксис строки формата

Информация о форматировании строки с помощью str.format() .

Форматирование строк в стиле printf

Старые операции форматирования, вызываемые при преобразовании строк. левый операнд оператора % более подробно описан здесь.

3.1.3. Списки

Python знает ряд составных типов данных, используемых для группировки других ценности. Наиболее универсальным является список , который можно записать в виде списка разделенные запятыми значения (элементы) в квадратных скобках. Списки могут содержать элементы разных типов, но обычно все элементы имеют один и тот же тип.

 >>> квадраты = [1, 4, 9, 16, 25]
>>> квадраты
[1, 4, 9, 16, 25]
 

Как и строки (и все другие встроенные типы последовательностей), списки могут быть проиндексировано и нарезано:

 >>> Squares[0] # индексирование возвращает элемент
1
>>> квадраты[-1]
25
>>> квадраты[-3:] # нарезка возвращает новый список
[9, 16, 25]
 

Все операции над срезами возвращают новый список, содержащий запрошенные элементы. Этот означает, что следующий фрагмент возвращает мелкая копия списка:

 >>> квадраты[:]
[1, 4, 9, 16, 25]
 

Списки также поддерживают такие операции, как конкатенация:

 >>> квадраты + [36, 49, 64, 81, 100]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
 

В отличие от строк, которые являются неизменяемыми, списки являются изменяемыми. тип, т.е. возможно изменение их содержания:

 >>> cubes = [1, 8, 27, 65, 125] # здесь что-то не так
>>> 4**3# куб 4 это 64, а не 65!
64
>>> cubes[3] = 64 # заменить неверное значение
>>> кубики
[1, 8, 27, 64, 125]
 

Вы также можете добавлять новые элементы в конец списка, используя метод append() (подробнее о методах мы поговорим позже):

 >>> cubes. append(216) # добавить куб из 6
>>> cubes.append(7 ** 3) # и куб из 7
>>> кубики
[1, 8, 27, 64, 125, 216, 343]
 

Также возможно назначение слайсов, и это может даже изменить размер список или очистить его полностью:

 >>> буквы = ['a', 'b', 'c', 'd', 'e', ​​'f', 'g']
>>> буквы
['a', 'b', 'c', 'd', 'e', ​​'f', 'g']
>>> # заменить некоторые значения
>>> буквы [2:5] = ['C', 'D', 'E']
>>> буквы
['a', 'b', 'C', 'D', 'E', 'f', 'g']
>>> # теперь удалите их
>>> буквы [2:5] = []
>>> буквы
['а', 'б', 'ф', 'г']
>>> # очистить список, заменив все элементы пустым списком
>>> буквы [:] = []
>>> буквы
[]
 

Встроенная функция len() также применяется к спискам:

 >>> буквы = ['а', 'б', 'с', 'г']
>>> длина(буквы)
4
 

Возможно вложение списков (создание списков, содержащих другие списки), для пример:

 >>> а = ['а', 'б', 'с']
>>> n = [1, 2, 3]
>>> х = [а, п]
>>> х
[['а', 'б', 'с'], [1, 2, 3]]
>>> х[0]
['а', 'б', 'в']
>>> х[0][1]
'б'
 

3.

2. Первые шаги к программированию

Конечно, мы можем использовать Python для более сложных задач, чем сложение двух и двух. вместе. Например, мы можем написать начальную подпоследовательность ряд Фибоначчи следующим образом:

 >>> # ряд Фибоначчи:
... # сумма двух элементов определяет следующий
... а, б = 0, 1
>>> в то время как < 10:
... печать (а)
... а, б = б, а+б
...
0
1
1
2
3
5
8
 

В этом примере представлено несколько новых функций.

  • Первая строка содержит множественное присвоение : переменные a и b одновременно получить новые значения 0 и 1. В последней строке это снова используется, демонстрируя, что все выражения в правой части оцениваются сначала перед выполнением любого из заданий. Выражения правой части оцениваются слева направо.

  • Цикл while выполняется до тех пор, пока выполняется условие (здесь: a < 10 ) остается верным. В Python, как и в C, любое целочисленное значение, отличное от нуля, является истинным; ноль ЛОЖЬ. Условие также может быть строкой или значением списка, фактически любой последовательностью; все, что имеет ненулевую длину, истинно, пустые последовательности ложны. Тест в примере используется простое сравнение. Стандартные операторы сравнения пишутся так же, как и в C: < (меньше), > (больше), == (равно), <= (меньше или равно), >= (больше или равно) и != (не равно).

  • Тело цикла имеет отступ : отступ — это способ группировки в Python заявления. В интерактивной подсказке вы должны ввести табуляцию или пробел(ы) для каждой строки с отступом. На практике вы подготовите более сложный ввод для Python с текстовым редактором; все приличные текстовые редакторы имеют автоматический отступ средство. Когда составной оператор вводится интерактивно, он должен быть за которой следует пустая строка, указывающая на завершение (поскольку синтаксический анализатор не может угадайте, когда вы напечатали последнюю строку). Обратите внимание, что каждая строка в базовом блок должен иметь одинаковый отступ.

  • Функция print() записывает значение переданных ей аргументов. Это отличается от простого написания выражения, которое вы хотите написать (как мы сделали ранее в примерах калькулятора) в том, как он обрабатывает несколько аргументов, числа с плавающей запятой и строки. Строки печатаются без кавычек, и пробел вставляется между элементами, так что вы можете красиво форматировать вещи, например это:

     >>> i = 256*256
    >>> print('Значение i равно', i)
    Значение i равно 65536.
     

    Аргумент ключевого слова end можно использовать, чтобы избежать новой строки после вывода, или закончить вывод другой строкой:

     >>> а, б = 0, 1
    >>> в то время как < 1000:
    ... печать (а, конец = ',')
    ... а, б = б, а+б
    ...
    0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
     

Сноски

1

Так как ** имеет более высокий приоритет, чем - , -3**2 будет интерпретируется как -(3**2) и таким образом получается -9 .

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *