题主是大一学生,刚刚开始学习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格式化输出(format)_kaichenkai的博客-CSDN博客_python.format格式化输出(format)1.基本用法&quot;hello {}&quot;.format(&quot;python&quot;) # 引用一个参数 传字符串# 输出:hello python&quot;hello {}&quot;.format(1024) # 传数字# 输出:hello 1024&quot;https://blog.csdn.net/m0_37714245/article/details/81750784?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164951559516780271580682%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=164951559516780271580682&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-81750784.142^v7^pc_search_result_cache,157^v4^control&utm_term=python%E8%BE%93%E5%87%BA%E8%AF%AD%E5%8F%A5format&spm=1018.2226.3001.4187另外如果文本中要输出{},则使用\{\}
结束符
无论何种输出方式,python默认的结束符号是“\n”,而c的是“”
python中通过end来更改结束符号
print("1",end='')
print("2",end='')
print("2",end='')
print("2",end='')
print("2",end='')
#12222
二、小结
python在笔者看来,其实可以全部使用{}+format的形式输出,虽然繁琐但是万能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)