Python格式化中使用%与C prinf格式输出的区别

来源:互联网 发布:游族游戏官方网络 编辑:程序博客网 时间:2024/06/10 09:37

一.格式

1.1 C printf()的一般格式
   printf(格式控制,输出列表);

   例:int i = 3;
      double f = 4.56;
      printf("%d,%f", i,f);

1.2  PYTHON 格式化输出

   格式标记字符串 % 要输出的值组

   其中,左边部分的”格式标记字符串“可以完全和c中的一致。右边的'值组'如果有两个及以上的值则需要用小括号括起来,中 间 用短号隔开。

   例如:'%s %s %s'% (1, 2.3, ['one', 'two','three']) 

  它的输出为           '1 2.3 ['one', 'two','three']' 

二.格式字符

 1、d格式符:按十进制格式输出。
   %d 输出数字长度为变量数值的实际长度
   %mdm指定输出数据的宽度。当数据的实际宽度小于m时,则数据左端补空格;若大于m,则按数据的实际位数输出。
  %ld,%mld l(小写字母L)表示输出“长整型”数据
  %0md,%0mld 0(数字0)表示位数不足m时补0

2、o(字母)格式符:按八进制格式输出整数。(不会出现负数格式)
3、x格式符:按十六进制格式输出整数。(不会出现负数格式)
4、u格式符:以十进制数形式输出unsigned的整数。

6、s格式符:用来输出一个字符串。%s用来输出一个字符串,不含双引号. 例:printf("%s","CHINA");
      %msm指定宽度(字符串长度小于m时左补空格,大于时按实际宽度输出)
      %-ms 左对齐,不足m时右补空格
      %m.ns输出占m列,只取字符串中左端n个字符.这n各字符输出在m列的右侧,左补空格.
      %-m.ns同上,右补空格

 7、f格式符:按实数格式输出。%f整数部分全部显示出来,小数部分显示6位.但并不是显示的所有数字都是有效数字
        %m.nf指定数据的宽度共为m列,其中有n位小数.如果数值长度小于m,则左侧补空格。
        %-m.nf与%m.f类似,只是应在右侧补空格

8、e格式符:以指数形式输出实数。%e按规范化指数形式输出实数,系统自动给出6位小数,指数部分占5位
       %m.ne与前面的叙述相同
       %-m.ne与前面的叙述相同

9、g格式符:它将根据数值的大小,自动选用f格式或e格式输出数据,并且它不输出无意义的0.

10、 有时候在%6.2f这种形式中,6和2也不能事先指定,会在程序运行过程中再产生,那怎么输入呢,当然不能用%%d.%df或%d.%d%f。可以用%*.*f的形式,当然在后面的”要输出的值组“中包含那两个*的值。比如:'%*.*f' % (6, 2, 2.345)就相当于'%6.2f' % 2.345。