Рубрики
Без рубрики

Что делает Zfill в Python | Python String zfill()

Python zfill-это встроенная функция, которая принимает длину в качестве аргумента и заполняет нули слева от строки. Заполнение числа

Автор оригинала: Team Python Pool.

Что делает Zfill в Python | Python String zfill()

Много раз, делая какие-то математические вычисления или какую-то научную работу, мы хотим заполнить нашу строку нулями. Если мы сделаем это вручную, это займет много нашего времени, и есть большая вероятность сделать некоторые ошибки. Итак, чтобы сделать это более точно и без каких-либо проблем в Python. У нас есть специальная строковая функция, которая называется python zfill().

То, что Python string zfill() в основном делает – он добавляет нули (0) в начале строки, пока она не достигнет заданной длины. Здесь следует отметить следующее: если значение параметра length меньше длины строки, заполнение не производится.После прочтения определения у вас могут возникнуть некоторые сомнения или опасения. Но я даю вам гарантию, что вы станете мастером в методе python zfill(), если будете следовать статье от начала до конца.

Синтаксис

string.zfill(length)

Параметры

длина Необходимый. Он определяет длину нужной нам строки.

Примечание: Длина строкового параметра должна быть больше текущей длины строки.

Тип возврата

Возвращает копию строки с символами ‘0’, добавленными в левую часть данной строки. Здесь следует отметить, что длина строки зависит от размера переданного нами параметра. Таким образом, в возвращаемом типе функции Python zfill() может быть два случая.

  1. Предположим, длина строки равна 5, и вы передали значение параметра как 8. В этом случае функция python zfill() вернет копию строки с тремя нулями (0), заполненными слева.
  2. Второе условие может быть выполнено, если значение параметра меньше или равно длине исходной строки. Затем он вернет копию исходной строки. И эта строка не будет содержать никаких нулей.

Давайте рассмотрим некоторые примеры, чтобы получить более глубокое представление о том, как на самом деле работает python zfill ().

Пример 1: Базовый пример для понимания Того, как Zfill работает в Python

Выход:

0Hello World
00Hello World
000Hello World
0000Hello World

Объяснение:

Приведенный выше пример довольно прост. Здесь мы только что инициализировали строку с именем s1, которая содержит строковое значение “Hello World”. Здесь длина строки равна 11 (включая пробел). В этом базовом примере мы применили функцию zfill() четыре раза. Сначала мы передали параметр length как 12. Таким образом, в этом случае мы получим заполнение 1 нулем слева или в начале строки.

Аналогично, во втором, третьем и четвертом операторах печати мы увеличили значение параметра length на 1. Поэтому функция zfill() будет возвращать ‘Hello World’ с одним 0 , растущим каждый раз с левой стороны.

Пример 2: Как будет работать функция Python zfill, когда (длина < len строки)

Выход:

Learn Python
Learn Python
Learn Python
Learn Python

Объяснение:

В этом примере 2 мы попытались увидеть, что произойдет, если значение параметра меньше или равно длине строки. Таким образом, в этом случае функция zfill возвращает копию исходной строки без каких-либо нулей. Отсюда можно сделать вывод, что если значение параметра меньше значения строки, то мы получим исходную строку.

Пример 3: Функция Python zfill Со Знаковыми Символами

Выход:

-000000880

+000Hello World

-0000000000+any+text

+00000000++text+num-

Объяснение:

Функция Python zfill() работает по-другому, если строка начинается с префикса знака ( + , -). В приведенном выше примере мы имеем четыре случая, когда строка начинается со знакового префикса.

  • Случай 1: Когда у нас есть числовая строка, она начинается только с одного знака (-). В этом случае нули будут добавляться после префикса знака.
  • Случай 2: Здесь у нас есть простая строка “Hello World” со знаком (+) в начале. Таким образом, в этом случае результат будет аналогичен случаю 1. Функция zfill() вернет копию строки с нулями, заполненными после символа знака.
  • Case 3: В третьем случае вместо одного знакового символа у префикса. Мы добавили два знаковых символа, чтобы увидеть, что возвращает функция zfill (), если мы добавим более одного знакового символа. Но результаты довольно удивительны, так как функция zfill() возвращает копию строки с нулями, заполненными после первого знака. Не после второго знака символа.
  • Случай 4: Играя с этой функцией zfill (), я задаюсь вопросом, что произойдет, если мы поместим знаковый символ как в префикс, так и в постфикс. Но потом я довольно хорошо узнал об этой функции. Таким образом, я могу сделать вывод, что функция zfill добавляет нули в левой части строки после первого префикса знака. И он не заботится о другом знаковом символе в постфиксе, между строкой и после первого знакового префикса.

Поддерживает Ли zfill Как Python 2, Так И 3

Метод zfill был введен для string и Unicode в Python 2.4.1. Дата выпуска-17 марта 2005 года. Так, можно сказать. Да, он поддерживает все последующие версии python 2 и 3.

Ограничения функции zfill

Не имеет значения, насколько хороша функция, каждая функция имеет некоторые ограничения, как в случае zfill. Тремя основными недостатками или ограничениями функции zfill являются:

  1. Вы не можете заполнять нули с правой стороны или в постфиксе строки.
  2. Могут быть моменты, когда вы хотите заполнить нули в соответствии с текущей проблемой, но в случае zfill вы тоже не можете этого сделать.
  3. Существует некоторая двусмысленность, когда мы используем zfill со знаковыми символами.

Альтернативы Python String zfill()

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

  1. Метод форматирования
  2. струна.()
  3. f-струны

Давайте кратко рассмотрим вышеприведенные альтернативы. Мы подробно поговорим о них в некоторых других статьях.

PS: Я постараюсь написать об этом как можно скорее. 😛

1. заполнение нулей в строке методом форматирования

Выход:

000Hello From Python Pool
Hello From Python Pool000

2. Использование метода string.rjust для добавления нулей в строку

Выход:

000000this is string

3. Заполнение Нулей В Строке С Помощью F-строк

Примечание: Python f-strings доступны из Python версии 3.6 и выше, и он работает только с вещественными числами.

Выход:

0000065656

Можем ли мы заполнить нули с правой стороны строки в Python С помощью функции zfill?

К сожалению, мы не можем дополнить или добавить нули с правого конца данной строки с помощью функции zfill. Но мы можем использовать альтернативы для заполнения нулей справа от строки в python, как показано в приведенных выше альтернативах. (просто, формат и т. Д.)

Python все еще Не Работает Проблема

Исследуя, почему этот метод не работает для нескольких людей, я прошел через множество форумов и обнаружил, что есть две основные причины, из-за которых они не могут правильно использовать zfill:

  1. Они используют python версии 2.4 или ниже.
  2. Второе, что я замечаю, - это то, что многие люди дают значение параметра меньше или равно длине строки. И они получают копию исходной строки без каких-либо нулей. На самом деле это не ошибка, но именно так работает метод заполнения. Если (значение параметра < len строки), то он вернет исходную строку. Как начинающий программист, вы можете подумать о том, почему нет нулевой подкладки. Но это нормально; вы будете учиться шаг за шагом.

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

  • Таблица Matplotlib в Python С примерами
  • Длина списка Python | Как найти длину списка в Python
  • Как удалить символ из строки Python(Открывается в новой вкладке браузера)post

Заключительные Слова

Python zfill-это встроенная функция, которая принимает длину в качестве аргумента и заполняет нули слева от строки. Заполнение числовых нулей зависит от длины аргумента, передаваемого в функции zfill.

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

Счастливого Пифонирования!