LINUX.ORG.RU

Python и строки (дополнить до нужного кол-ва знаков)


0

2

Блин глупый вопрос, но видать ближе к вечеру уже туплю.

Есть в питоне что нить аналогичное str_pad в php? или подскажите как это можно красиво реализовать?

есть переменая string она колеблится от 6 символов до 15 необходимо что бы, она всегда была одинакогвого размера (то есть в конец дописывалось необходимое кол-во пробелов, если вдруг симоволов меньше чем 15).

заранее спасибо.


Ответ на: комментарий от Morbid

Ещё лучше будет ввести просто help(), а оттуда уже плясать.

Virtuos86 ★★★★★
()
Ответ на: комментарий от JFreeM

Охрор, мне почему-то кажется, что он имел ввиду это извращением:

(s+"               ")[0:15]
Умножение строку на число это вполне окей же, может тебя еще смущает возведение строк и символов в степень?

anonymous
()
Ответ на: комментарий от JFreeM

потому что за умножение строки на число я бы убивал.

Умножение последовательности на число вполне законная и интуитивно понятная операция. А строка, это вообще то последовательность, так что приберегите патроны.

AIv ★★★★★
()
Ответ на: комментарий от Morbid

Две довольно полезные функции - help() и dir(). Можно применять как к модулям, как к классам, так к функциям, к чему угодно...

BattleCoder ★★★★★
()
Ответ на: комментарий от AIv

если кодер знает Питон то решение (s+sh*max)[:max] более универсально чем s.ljust(max)[:max]

к тому что нужно было тс для s.ljust(max) короткость характерна а вот понятность предпологает что читатель знает о функции ljust.

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

зы. help(obj) dir(obj) рулят

qulinxao ★★☆
()
Ответ на: комментарий от AIv

да конечно s.ljust(max) ровно то что нужно ТС ибо наиболее частым потребностям соответствуют более короткие «слова» поэтому и есть s.ljust(max) наряду c s.ljust(max,' ')

мне Python (2.7) по нраву как скрипты мелкие или учебные курсы . Но когда обнаружил что есть принципиальная разница межбу просто элементом строки и уникодным = утвердился что питон «устарел»

qulinxao ★★☆
()
Ответ на: комментарий от AIv

я о том что питон за свою долгую жизнь вошёл в стадию когда легаси кода больше чем кода который написан на «переднем крае» с использованием его новаций.

так что на питоне ещё лет двадцать можно успешно работу иметь

вот в каком смысле «устарел» - стал зрелым настолко что различие в работе с 8битными символами и UTF8 уже не устранимо

понятно что можно(что вероятно и сделали) добавить в «стандартную» библиотеку работу с UTF8 строками - и получим 2 вида строк - прелесть скриптового языка несколько тускнеет.

Выж наверно по опыту своему застали вахканалию со строками в BorlandPascal'e по мере попыток усидеть на всех стульях сразу (string /Pchar/ansistring/wide и так далее) и как синтаксис покорёжили у каких имён есть авторазименование у каких нет - что ухудшило(внесло не необходимую сложность) при обучении

так и Питон -«устарел»

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

Но когда обнаружил что есть принципиальная разница межбу просто элементом строки и уникодным

from __future__ import unicode_literals

baverman ★★★
()
Ответ на: комментарий от baverman

и насколько наличие __repr__ с __str__ и __unicode__ то есть 2ух сущьностей для одного(не совсем) того же
повышает ценик на питаниста знающего это различие?


насколько это различие обусловленно что Гвидо создавал питон слава богу уже после того как ansii кодировка устоялась как общая основа но UTF ещё нет (его вроде и небыло ещё)

т.е Жирафы большие им видней . однако для сохраниния лёгкости мона было старые чары как легаси оставить(т.е добавить приседаний если тебе важно так что бы строка была __repr__ с __str__ и некоторый полуИЛИполностью автоматический преобразователь кода ) а ща UTF8 использовать при строковых литералах (может так в 3 сделали хз не питонист)

qulinxao ★★☆
()
Ответ на: комментарий от qulinxao

Прозреваю, что кто-то упорно пытается сношать неюникодные строки. RTFM.

baverman ★★★
()
Ответ на: комментарий от qulinxao

Ну так пишите на третьем питоне.

Я не писал на борланд паскале, и меня все эти заморочки со строками мало волнуют. А для не-юникодных строк в которых встречаются юникодные символы я просто длину руками считаю (лень было мануал читать;-)).

Все языки, проходившие через переход к юникоду, имеют зоопарк строк. Но сам язык это никак не характеризует.

AIv ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.