Я поместил открытый интерфейс сначала, но я не всегда делал это. Я раньше делал вещи назад к этому, с частным, затем защищенным, затем общественность. Оглядывание назад, это не имело много смысла.
Как разработчик класса, Вы, вероятно, хорошо познакомитесь с его "внутренностями", но пользователи класса не очень заботятся, или по крайней мере они не были должны. Они главным образом интересуются тем, что класс может сделать для них, правильно?
, Таким образом, я поместил общественность сначала и обычно организую ее функцией/утилитой. Я не хочу, чтобы они должны были пробраться через мой интерфейс для нахождения всех методов связанными с X, я хочу, чтобы они видели все это вместе организованным способом.
я никогда не использую несколько общедоступных/защищать/частных разделов - слишком сбивающий с толку для следования, по-моему.
Я полагаю, что у вас есть список, а не массив, но здесь это не имеет большого значения; в 2.6 и более ранних версиях Python, что-то вроде:
>>> L = [2.32313e+07, 2.1155e+07, 1.923e+07, 11856, 112.32]
>>> for x in L: print '%f' % x
...
23231300.000000
21155000.000000
19230000.000000
11856.000000
112.320000
, а в 2.6 или более поздних версиях - метод .format
. Я полагаю, вы знаете, что числа сами по себе, как числа, не имеют никакого «формата» - это строки , которые вы получаете, форматируя числа, например для вывода, которые находятся в каком-то формате. Кстати, варианты этого % f
могут позволить вам контролировать количество знаков после запятой, ширину, выравнивание и т. Д. - трудно предложить именно то, что вы можете захотеть, без дополнительных спецификаций от вас.
В awk,
В ответ на последнюю часть вашего вопроса: awk
может использовать тот же формат printf
:
awk '{printf "%f\n",$1}' exponential_file
Где exponential_file содержит:
2.32313e+07
2.1155e+07
1.923e+07
11856
112.32
Вы можете преобразовать в переменная для использования в дальнейшем. Вот упрощенный пример:
awk '{n = sprintf("%f\n",$1); print n * 2}' exponential_file
Вы можете использовать locale.format () для форматирования чисел для вывода. Это дает дополнительное преимущество в том, что оно согласуется с любыми соглашениями для конкретной локали, которые можно ожидать при представлении чисел. Если вам нужен полный контроль в определенном месте, где вы делаете вывод, вам лучше использовать print "format"% vars ... вариант .
Пример:
>>> import locale
>>> locale.setlocale(locale.LC_ALL, "")
'C/UTF-8/C/C/C/C'
>>> locale.format("%f", 2.32313e+07, 1)
'23231300.000000'
]