Наоми Седер - Python. Экспресс-курс

Тут можно читать онлайн Наоми Седер - Python. Экспресс-курс - бесплатно полную версию книги (целиком) без сокращений. Жанр: Программы, издательство Питер, год 2019. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Python. Экспресс-курс
  • Автор:
  • Жанр:
  • Издательство:
    Питер
  • Год:
    2019
  • ISBN:
    978-5-4461-0908-1
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Наоми Седер - Python. Экспресс-курс краткое содержание

Python. Экспресс-курс - описание и краткое содержание, автор Наоми Седер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
Вы уже умеете кодить на одном или нескольких языках программирования? Тогда настала пора пройти экспресс-курс Python. Впервые на русском языке выходит новое издание одной из самых популярных книг издательства Manning. С помощью этой книги вы можете быстро перейти от основ к управлению и структурам данных, чтобы создавать, тестировать и развертывать полноценные приложения.
Наоми Седер рассказывает не только об основных особенностях языка Python, но и его объектно-ориентированных возможностях, которые появились в Python 3. Данное издание учитывает все изменения, которые произошли с языком за последние 5 лет, а последние 5 глав рассказывают о работе с большими данными.

Python. Экспресс-курс - читать онлайн бесплатно полную версию (весь текст целиком)

Python. Экспресс-курс - читать книгу онлайн бесплатно, автор Наоми Седер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Любой разработчик, которому доводилось работать со строками, наверняка посчи-тает методы split и join бесценными. По сути они противоположны друг другу: split возвращает список подстрок, а join берет список строк и объединяет их в одну строку, вставляя исходную строку между каждой парой элементов. Обычно split

использует символы-пропуски в качестве разделителя при разбиении, но это по-ведение можно изменить при помощи необязательного аргумента. Конкатенация строк оператором + полезна, но она неэффективна для объединения большого количества строк в одну строку, потому что при каждом применении + создается новый объект строки. В предыдущем примере «Hello, World» создаются три строковых объекта, один из которых будет немедленно отброшен. Лучше вос-пользоваться функцией join :

>>> " ".join(["join", "puts", "spaces", "between", "elements"]) 'join puts spaces between elements'

Изменяя строку, используемую для вызова join , можно разместить между объ-единяемыми строками практически любые символы: >>> "::".join(["Separated", "with", "colons"])

'Separated::with::colons'

Для объединения элементов списка может использоваться даже пустая строка: >>> "".join(["Separated", "by", "nothing"])

'Separatedbynothing'

Пожалуй, на практике метод split чаще всего используется в качестве простого механизма разбора разделенных данных, хранящихся в текстовых файлах. По умол-чанию split осуществляет разбивку по пропускам, а не по одиночным пробелам, но вы также можете приказать методу разбивать текст по конкретной последователь-ности символов, которая передается в необязательном аргументе: >>> x = "You\t\t can have tabs\t\n \t and newlines \n\n " \ "mixed in"

>>> x.split()

['You', 'can', 'have', 'tabs', 'and', 'newlines', 'mixed', 'in'] >>> x = "Mississippi"

>>> x.split("ss")

['Mi', 'i', 'ippi']

Иногда бывает полезно разрешить, чтобы последнее поле объединенной строки содержало произвольный текст — возможно, даже с подстроками, которые могли бы совпасть с разделителями при чтении этих данных. Для этого можно указать, сколько разбиений должен выполнить метод split при генерировании результатов при помощи второго необязательного аргумента. Если передать в этом аргументе n , метод split будет обрабатывать входную строку, пока не проведет n разбиений (и сгенерирует список, элементами которого являются n +1 подстрок) или пока не кончится строка. Несколько примеров:

>>> x = 'a b c d'

>>> x.split(' ', 1)

['a', 'b c d']

>>> x.split(' ', 2)

['a', 'b', 'c d']

>>> x.split(' ', 9)

['a', 'b', 'c', 'd']

При использовании split со вторым необязательным аргументом необходимо за-дать первый аргумент. Чтобы метод split выполнял разбиение по пропускам и при этом использовал второй аргумент, передайте None в первом аргументе. Я очень часто использую методы split и join — чаще всего при работе с текстовыми файлами, сгенерированными другими программами. Если вы захотите генерировать более стандартные выходные файлы в своих программах, хорошими кандидатами станут модули csv и json из стандартной библиотеки Python.

БЫСТРАЯ.ПРОВЕРКА:.SPLIT.И.JOIN

Как использовать методы split и join для замены всех пропусков в строке x дефисами — например, преобразовать "this is a test" в "this-is-a-test" ?

6.4.2. Преобразование строк в числа

Функции int и foat преобразуют строки в целые числа или числа с плавающей точкой соответственно. Если функциям передается строка, которая не может интерпретироваться как число заданного типа, эти функции выдают исключение ValueError . Исключения рассматриваются в главе 14. Кроме того, int можно передать необязательный второй аргумент с основанием системы счисления, которая должна использоваться при интерпретации входной строки:

>>> float('123.456')

123.456

>>> float('xxyy')

Traceback (innermost last):

File "", line 1, in ?

ValueError: could not convert string to float: 'xxyy'

>>> int('3333')

3333

>>> int('123.456') картинка 41Целое число не может содержать точку

Traceback (innermost last):

File "", line 1, in ?

ValueError: invalid literal for int() with base 10: '123.45 >>> int('10000', 8) картинка 4210000 интерпретируется как восьмеричное число 4096

>>> int('101', 2)

5

>>> int('ff', 16)

255

>>> int('123456', 6) 123456 не может интерпретироваться как числоTraceback (innermost last): картинка 43 в шестеричной системе счисленияFile "", line 1, in ?

ValueError: invalid literal for int() with base 6: '123456' А вы поняли причину последней ошибки? Я затребовала, чтобы строка интерпрети-ровалась как число в системе счисления с основанием 6, но цифра 6 в шестеричном числе присутствовать не может. Хитро!

БЫСТРАЯ.ПРОВЕРКА:.ПРЕОБРАЗОВАНИЕ.СТРОК.В.ЧИСЛА Какая из следующих строк не будет преобразована в число и почему? int('a1')

int('12G', 16)

float("12345678901234567890")

int("12*2")

6.4.3. Удаление лишних пропусков

На удивление полезна тройка простых методов: strip , lstrip и rstrip . Метод strip возвращает новую строку, которая получается из исходной после удаления всех про-пусков в начале и в конце строки. Методы lstrip и rstrip работают аналогично, но они удаляют пропуски только в начале или в конце исходной строки соответственно: >>> x = " Hello, World\t\t "

>>> x.strip()

'Hello, World'

>>> x.lstrip()

'Hello, World\t\t '

>>> x.rstrip()

' Hello, World'

В этом примере символы табуляции относятся к пропускам. Точное значение этого термина может зависеть от операционной системы, но вы всегда можете узнать, какие символы Python относит к категории пропусков, обратившись к константе string. whitespace . В моей системе Windows Python возвращает следующий результат: >>> import string

>>> string.whitespace

' \t\n\r\x0b\x0c'

>>> " \t\n\r\v\f"

' \t\n\r\x0b\x0c'

Символы в шестнадцатеричном формате ( \xnn ) представляют символы верти-кальной табуляции и прогона страницы. Пробел означает сам себя. Возможно, вам захочется изменить значение этой переменной, чтобы повлиять на работу strip и других методов, но делать этого не стоит. Нет никаких гарантий, что это приведет к желаемому результату.

Однако вы можете изменить состав символов, удаляемых strip , rstrip и lstrip , передавая константу с удаляемыми символами в дополнительном параметре: >>> x = "www.python.org"

>>> x.strip("w") картинка 44Отсекает все буквы w

'.python.org'

Обратите внимание: strip удаляет все символы, содержащиеся в дополнительном параметре, независимо от порядка их следования  . Чаще всего эти функции используются для быстрой очистки только что прочитан-ных строк. Они особенно полезны при чтении строк из файлов (глава 13), потому что Python всегда читает всю строку, включая завершающий символ новой строки, если он существует. Когда вы переходите к обработке прочитанных данных, за-вершающий символ новой строки обычно не нужен. Метод rstrip позволяет легко избавиться от него.

БЫСТРАЯ.ПРОВЕРКА:.STRIP

Если строка x равна "(name, date),\n" , какой из следующих вызовов вернет строку "name, date" ?

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Наоми Седер читать все книги автора по порядку

Наоми Седер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Python. Экспресс-курс отзывы


Отзывы читателей о книге Python. Экспресс-курс, автор: Наоми Седер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x