Умножение строки
1 — скорее всего True == 1 неявное преобразование. 2 — нет умножения на дробное. К целому не приводит напрямую.
10 ноя 2016 в 10:47
Выходит, что True приводится к 1 типа int? Почему так происходит?
10 ноя 2016 в 11:01
@Max, потому, что внутреннее представление True == 1, попробуйте: True * 3.7
10 ноя 2016 в 11:06
10 ноя 2016 в 11:33
@vadimvaduxa хорошая статья, но на английском(
10 ноя 2016 в 11:41
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
С ошибкой в третьем примере всё очевидно — строчку нельзя повторить дробное число раз, поэтому умножение строки определено только на int.
Со вторым примером немножко интереснее.
Разработчики питона не стали делать логический тип с чистого листа, а просто унаследовали его от int. При этом True эквивалентно единице, а False — нулю.
Таким образом, с логическим типом данных можно делать все математические действие, которые определены для целочисленного типа.
isinstance(True, int) # Выведет: True # То есть логический тип действительно является потомком int 3 + True # Выведет: 4 # То есть True действительно эквивалентен единице 3 / False # Выведет ошибку деления на ноль # То есть False действительно эквивалентно нулю
Работа со строками в Python
Заметьте что сложение чисел в формате string не производит над ними математической операции:
num = '5' + '5' print(num ) '55'
Так же следует помнить что сложение строк с числами формата int приведет к ошибке TypeError.
Умножение строки
var = 'Hello'
print(var * 5 ) 'HelloHelloHelloHelloHello'
Тут тоже без сюрпризов. И комментариев не требуется
Как узнать длину строки?
В этом нам поможет встроенная функция len()
len('Alex')
4
string = 'Def Python' print(len(string))
10
Доступ к элементу строки по её индексу
Вот мы и подобрались к самому интересному. Наиболее частой задачей в работе со строкой в Python является разбор строки. Основой разбора строки является как раз возможность получения элемента строки по ее индексу:
string = 'Def Python'
print(string[0])
print(string[2])
print(string[5])
'D'
'f'
'y'
Заметьте, что первый элемент строки имеет индекс [0].
Так же получить элемент строки по отрицательному индексу, при этом отсчет пойдет с конца строки:
string = 'Def Python'
print(string[-1])
print(string[-3])
'n'
'h'
Так же можно получить не один отдельный элемент строки а целый срез:
string = 'Def Python'
print(string[0:2])
print(string[4:10])
'Def'
'Python'
Как видно из примера первый аргумент указывает на начало среза, а второй на окончание
Если первый аргумент не задан — то по умолчанию он равен 0, т.е. началу строки. Так же если второй аргумент не задан — он по умолчанию равен длине стоки.
Проапгрейдем наш предидущий пример.
string = 'Def Python'
print(string[:2])
print(string[4:])
'Def'
'Python'
Так же имеется и третий аргумент. Он задает шаг, с которым будет сделан срез.
string = 'Def Python'
print(string[0:10:2])
print(string[6:3:-1])
'DfPto'
'tyP'
Как видно из примера, так же может быть отрицательным, что означает что отсчет пойдет с конца строки.
Так же может можно использовать с первыми двумя аргументами по умолчанию:
string = 'Def Python'
print(string[::3])
'D tn'
И вот наш первый приемчик:
Как в Python вывести строку задом наперед?
string = 'Def Python'
print(string[::-1])
'nohtyP feD'
В этой небольшой статье мы лишь познакомились со строками в Python. В следующей статье этого цикла я расскажу о методах строк.
Ошибка сервера в приложении ‘/’.
Описание: На сервере возникла ошибка приложения. Текущая пользовательская настройка ошибок для этого приложения не позволяет удаленно просматривать сведения об ошибке данного приложения (из соображений безопасности). Однако, сведения можно просматривать в браузерах, запущенных на локальном сервере.
Сведения: Для разрешения просмотра сведений данного сообщения об ошибке на локальном сервере создайте тег в файле конфигурации «web.config», который находится в корневом каталоге текущего веб-приложения. В теге следует задать атрибут «mode» со значением «Off».
Примечания: Отображаемую в данный момент страницу ошибок можно заменить на пользовательскую страницу ошибок, изменив атрибут «defaultRedirect» тега конфигурации приложения таким образом, чтобы он содержал URL-адрес пользовательской страницы ошибок.
Как умножить строку на число python



Скачай курс
в приложении
Перейти в приложение
Открыть мобильную версию сайта
© 2013 — 2023. Stepik
Наши условия использования и конфиденциальности

Public user contributions licensed under cc-wiki license with attribution required