题主是大一学生,刚刚开始学习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的形式输出,虽然繁琐但是万能。