题主是大一学生,刚刚开始学习python,但是题主有一定的c语言基础,在这里以两者对比的形式做一些学习笔记。

这里准备把输出语句单独拿出来写一篇文章,因为笔者觉得python 的输出语句语法很繁多(恕我直言,就像是几个人意见不合所以创造了几套语法,显得很多余,很不“计算机”),有多种不同格式,这里做一个总结。

由于python的输出语句着实繁杂,这里可能有遗漏,望指正!

#零、c语言的输出语句

c语言的输出格式就很规范了:

printf()函数的基础使用很简单:括号内有文本内容和变量内容,变量内容使用“%”引出。

例如:

int c = 0;
printf("%d",c)

##当然这里也隐藏了很多细节:

2.“%”和s之间也可以添加表达式来规范输出格式

具体格式为%[flags][width][.prec][hiL]type

1.flag 有四个标识,分别为 +、-、(space)、0

+:在前面添加正负号

-:左对齐

(space):正数留空

0:0填充

2.width/.prec也有四个标识,为number、.number、*、.*

number:输出的总长度

.number:小数位数的长度

*使用参数填充

.*:使用参数填充小数点后的位数

3.hiL 修饰类型:hh、h、l、ll、L

类型分别为单个字节,short,long,long long,long double

相当于强制类型转化

4.type就是常见的d、f、lf、c、s等等 用于输出对应的变量,还有很多种不太常见的类型(n、i、g等等),不做拓展。

c语言的输出语句格式非常严谨,也很好理解

这里对一些格式试举几例:

*/.*

#include<stdio.h>
int main()
{
int a = 0;
printf("%*d",9,a);
return 0;
}

//        0

这里使用9填充了*,就相当于%9d

number/.number

number指代总长度(包括小数长度)

.number指代小数长

#python的输出语句

在笔者的学习中,把常见的输出语句分成了三类

##直接输出变量或者文本

a = 0
print(a)
a = [11,2,3,4,5]
print (a)

只要是个变量可以直接输出,非常方便,即使是列表也可以不使用循环进行遍历,当然针对特殊需求也会使用循环输出

a = [1,2,3,45,5]
print(a)
#输出[1,2,3,45,5]
for i in a
print(i,end = ',')
#输出1,2,3,45,5

文本则可以使用“ ”来包含

也可以混合输出

使用sep改变间隔

a = 0
b = 1
c = 2
print(a,"jj",c,"hh",c)
#0 jj 2 hh 2
print(a,"jj",c,"hh",c,sep = '')
#0jj2hh2

##使用“%”来进行文本内容和变量的混合输出

这里和c语言比较相似

a = 0
print("aaaaaaaaaa%daaaaaaa"%(a))
#aaaaaaaaaa0aaaaaaa

通过改变%后的标识符也可以改变格式

##使用“{}+format()”来进行文本内容和变量的混合输出

笔者最喜欢这种输出方式,因为使用{}可以分隔变量和文本,用的安心。

a = 0
print("aaaaaaaa{}aaaa".format(a))
#aaaaaaaa0aaaa

在大括号内可以进行各种操作来更改输出格式:

使用“:”引出操作。

这里例举几个笔者常用的操作

使用十六进制、二进制、八进制输出:{:#x}{:#b}{:#o}

对齐填充:{:[符号][格式][宽度]}

符号:使用要求的符号填充空格,不说明为空格

格式:<左对齐、>右对齐、^居中

宽度:预期输出内容和填充内容的总长

a = 'hello'
print("{:!^9}".format(a))
#!!hello!!

输出多个变量:每个变量都使用{}代替,format中用逗号分隔

a = 'hello'
b = 'world'
print("{},{}".format(a,b))
#hello,world

截断:{:.[宽度]}

"{:.5}".format("Hello world") # 截取前5个字符

# Hello

小数位数保留:{:.[位数]f}

a = 3.14159265
print("{:.2f}".format(a))
#3.14

注意,这里的位数是小数位数。

另外如果文本中要输出{},则使用\{\}

结束符

无论何种输出方式,python默认的结束符号是“\n”,而c的是“”

python中通过end来更改结束符号

print("1",end='')
print("2",end='')
print("2",end='')
print("2",end='')
print("2",end='')
#12222

二、小结

python在笔者看来,其实可以全部使用{}+format的形式输出,虽然繁琐但是万能。