python的输出
python输出中的print()函数,直接引用即可,它的完整格式为:
1
2
|
#最后面还有文件操作的,我们主要学习输出相关,所以暂不加入 print ( object , sep = ' ' , end = '\n' ) |
object
——是我们要输出的东西,可以是变量也可以是具体的数据,可以是单个也可以是多个,如果是多个中间用' , '分隔即可
sep
——当我们要输出多个东西时才会用到,它表示我们输出的多个数据之间输出时用什么来进行分隔,如果输出时不设置,那就默认以一个空格来分隔
end
——用来设置输出完我们要输出的数据之后,用什么来结尾。当你不特意进行设置时它默认为end='\n' ,所以print()函数默认输出结束后自动换行
1
2
3
4
5
6
7
|
print ( 1 , 2 , 3 ,end = '') print ( 1 , 2 , 3 ,sep = '!' ) print ( 1 , 2 , 3 ,) #它们的输出如下: 1 2 31 ! 2 ! 3 1 2 3 #请仔细思考为什么这样,理清楚头绪 |
我们在C语言中学的scanf()函数是格式化输出的,可以设置要输出的数据的格式与数据形式,那我们在python如何来实现呢?
1
2
3
|
int a = 10 ; float b = 6.6 ; scanf( "%d%f\n" ,a,b); |
上面C语言代码用python实现为:
1
2
3
4
|
a = 10 b = 6.6 print ( "%d%f" % (a,b)) #print(a,b,sep='') |
如果对输出数据格式有要求我们选用上面的方式,可以和c语言一样对于输出的格式进行修改设定
如果对输出格式没有要求我们选用第二种方法,比较方便,与字符串一起输出时可以用+进行连接,但前提是输出类型也是字符串类型的,如果不是字符串类型,那我们可以用str()函数进行强制转换在进行连接输出,如下:
1
2
|
a = 18 print ( "Her age is " + a + " !" ) |
上面这样写时错误的,因为a为赋值为18,所以a的数据类型为整型,整型不可以直接与字符串用+进行连接,所以正确的写法应该是:
1
2
3
|
a = 18 print ( "Her age is " + str (a) + " !" ) #输出为:Her age is 18 ! |
接下来具体讲一下格式化输出数据,%的格式化输出与C语言的大同小异:
%d——十进制整数
%o —— 八进制整数
%x —— 十六进制整数
%f——浮点数,小数点后面六位有效数字
%e ——指数形式输出,小数点后面六位有效数字
%g ——六位有效数字的前提下,使用小数方式,否则使用科学计数法
1
2
3
4
5
6
7
|
a = 5 print ( 10 ) print ( "%d" % a) print ( "%2d" % a) #输出时按照2个空间大小输出,默认为右对齐 print ( "%-2d" % a) #2个空间大小,因为d前面是-号,所以左对齐 print ( "%02d" % a) #2个空间大小输出,不够的用0补齐 print ( "%-02d" % a) #2个空间大小输出,不够的用0补齐,左对齐 |
#以上代码的输出为:
10
5
5
5
05
5
总结一下上面代码,%与d之间可以加一些数字或者符号来控制输出数据的格式,具体为:
%(控制左右对齐)(用什么补齐)(按照几位空间输出)d分别为:
默认为右对齐,负号为左对齐
默认空格补齐,可以设置其他补齐
数字本身超过要求的空间时,无影响,数据本身不够时,根据左右对齐,在根据补齐。说白了就是占位置
其他的数据类型也都是类似的,无论是浮点数还是字符串,如%5.2f代表,占五个位置,并且保留两位小数,要特别注意的是浮点数的小数点也是占一个位置的,接下来看几个实例,好好体会一下
1
2
3
4
5
6
7
8
|
b = 5.21 print (b) print ( "%f" % b) print ( "%2.1f" % b) print ( "%2.2f" % b) print ( "%5.2f" % b) print ( "%5.5f" % b) print ( "%.5f" % b) |
#上面的输出依次为:
5.21
5.210000
5.2
5.21
5.21
5.21000
5.21000
#大家注意对比研究
有些东西必须要自己体会出来才能记下来,希望大家能够勤奋思考,不要偷懒!
接下来介绍一个函数——str.format()
相对基本格式化输出采用‘%'的方法,format()功能更强大,该函数把字符串当成一个模板,通过传入的参数进行格式化,并且使用大括号‘{}'作为特殊字符代替‘%'
废话不多说上代码!!!
1
2
3
4
5
6
7
8
|
#通过位置匹配,类似于数组 print ( '{} {}' . format ( 'hello' , 'baibai' )) #hello baibai print ( '{1} {0}' . format ( 'hello' , 'baibai' )) #baibai hello print ( '{1} {1}' . format ( 'hello' , 'baibai' )) #baibai baibai print ( '{0} {0}{0}' . format ( 'hello' , 'baibai' )) #hello hellohello #通过对应值名字进行匹配,类似于字典 #(这里也可以传入一个字典类型进行key与value对应取) print ( '{a},{b}' . format (a = '1' ,b = '8' )) #1,8 |
除了这些,我们还可以输出更加复杂的数据类型
1
2
3
4
5
6
|
#还是用一下我之前定义的一个数据 goods = [( 1 , "百事可乐" , 10 , 3 ),( 2 , "康师傅方便面" , 15 , 2 ),( 3 , "马克杯" , 5 , 30 )] list = [ 1 , 2 , 3 ] print ( '{0[1]}' . format (goods)) #(2, '康师傅方便面', 15, 2) print ( '{0[1]},{1[2]}' . format (goods, list )) #(2, '康师傅方便面', 15, 2),3 print ( '{0[1][1]}' . format (goods, list )) #康师傅方便面 |
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/apple_51673523/article/details/120805079