Автор оригинала: Team Python Pool.
Что делает Zfill в Python | Python String zfill()
Много раз, делая какие-то математические вычисления или какую-то научную работу, мы хотим заполнить нашу строку нулями. Если мы сделаем это вручную, это займет много нашего времени, и есть большая вероятность сделать некоторые ошибки. Итак, чтобы сделать это более точно и без каких-либо проблем в Python. У нас есть специальная строковая функция, которая называется python zfill().
То, что Python string zfill() в основном делает – он добавляет нули (0) в начале строки, пока она не достигнет заданной длины. Здесь следует отметить следующее: если значение параметра length меньше длины строки, заполнение не производится.После прочтения определения у вас могут возникнуть некоторые сомнения или опасения. Но я даю вам гарантию, что вы станете мастером в методе python zfill(), если будете следовать статье от начала до конца.
Синтаксис
string.zfill(length)
Параметры
длина | Необходимый. Он определяет длину нужной нам строки. |
Примечание: Длина строкового параметра должна быть больше текущей длины строки.
Тип возврата
Возвращает копию строки с символами ‘0’, добавленными в левую часть данной строки. Здесь следует отметить, что длина строки зависит от размера переданного нами параметра. Таким образом, в возвращаемом типе функции Python zfill() может быть два случая.
- Предположим, длина строки равна 5, и вы передали значение параметра как 8. В этом случае функция python zfill() вернет копию строки с тремя нулями (0), заполненными слева.
- Второе условие может быть выполнено, если значение параметра меньше или равно длине исходной строки. Затем он вернет копию исходной строки. И эта строка не будет содержать никаких нулей.
Давайте рассмотрим некоторые примеры, чтобы получить более глубокое представление о том, как на самом деле работает 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 являются:
- Вы не можете заполнять нули с правой стороны или в постфиксе строки.
- Могут быть моменты, когда вы хотите заполнить нули в соответствии с текущей проблемой, но в случае zfill вы тоже не можете этого сделать.
- Существует некоторая двусмысленность, когда мы используем zfill со знаковыми символами.
Альтернативы Python String zfill()
Знание функции в глубине прекрасно, но могут быть различные обстоятельства, когда функция не может решить нашу желаемую проблему. В этом случае мы должны искать некоторые альтернативы текущей функции. Кроме того, в приведенном выше разделе мы видели некоторые ограничения этой функции. Итак, это необходимость часа, чтобы найти какие-то заменители. Ниже приведены некоторые параметры функции Python zfill():
- Метод форматирования
- струна.()
- 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:
- Они используют python версии 2.4 или ниже.
- Второе, что я замечаю, - это то, что многие люди дают значение параметра меньше или равно длине строки. И они получают копию исходной строки без каких-либо нулей. На самом деле это не ошибка, но именно так работает метод заполнения. Если (значение параметра < len строки), то он вернет исходную строку. Как начинающий программист, вы можете подумать о том, почему нет нулевой подкладки. Но это нормально; вы будете учиться шаг за шагом.
Также Читайте
- Таблица Matplotlib в Python С примерами
- Длина списка Python | Как найти длину списка в Python
- Как удалить символ из строки Python(Открывается в новой вкладке браузера)post
Заключительные Слова
Python zfill-это встроенная функция, которая принимает длину в качестве аргумента и заполняет нули слева от строки. Заполнение числовых нулей зависит от длины аргумента, передаваемого в функции zfill.
Однако, если у вас есть какие-либо сомнения или вопросы, дайте мне знать в разделе комментариев ниже. Я постараюсь помочь вам как можно скорее.
Счастливого Пифонирования!