python input函数与print函数的区别_Python学习之print()函数与input()函数

虽然一段代码可以完成既定的任务,大大提升了效率;但有时因为需要,我们的代码要帮忙处理一定的输入数据,并将处理结果打印出来;这时就要用到今天要讲的print()函数与input()函数了;

1.print()函数

print()函数主要用于打印输出数据,在前面的文章里经常会看到,它其实也是最常见的一个函数;

print()函数的语法规则是:

print(objects,sep = ‘ ’,end = '\n',file = sys.stdout)

objects:需要输出的对象,可以是多个,但需要使用“,”分隔;

sep:间隔符,用来分隔多个对象,默认是一个空格,但是可以赋予其他字符串,若为默认值则可以省略不写;

end:结尾符,用来设定以什么结尾,默认是换行符“\n”,但也可以赋予其他字符串,若为默认值则可以省略不写;

file:要写入的文件对象,如果不写入文件则可以省略不写;

这么看起来好像很复杂,毕竟我们经常接触和使用的print()函数很少有这么使用的;我们常见的几种使用方式为:

①print("wangchangchun")

②print("%s,%s" % (x,y))

③print("This {0} is {1}".format("word","Cool"))

20170928170358_294.png

下面来尝试练习一下新见到的参数objects、sep和end(file以后写到文件相关的时候再尝试)

objects:

多对象打印输出其实还是很好理解的,看下面的例子,显而易见:

20170928170403_213.png

只要记住,打印输出多个变量的时候,变量间使用“,”逗号隔开即可;

sep:

上面的例子其实已经可以看到,A、B、C三个变量一起打印时,每个变量之间使用了“空格”分隔,这里就是语法规则中提到的默认值省略不写,等价于print(A,B,C,sep

= '\n'),现在我们不使用默认值,我们将sep换成“*”来尝试一下:

20170928170412_591.png

可以看到“空格”已经被“*”替代的效果,也可以理解sep的用法了,并且这里需要说明注意的是:

sep必须是string(字符串)

否则会提示错误:

20170928170418_977.png

end:

它主要表现为一个print()函数执行完以什么来结尾,结尾符在只执行一个print()函数时效果并不明显,我们来使用循环执行多次print()函数对比一下,先是默认值end

= “\n”,省略不写:

20170928170424_127.png

那现在我们把默认值end = '\n'换成end = '~'来尝试一下:

20170928170429_955.png

end使用新的赋值后,每执行完成一次print()函数,都会以“~”来结尾;并且跟sep一样:

end必须是string(字符串)

否则也会提示错误:

TypeError: end must be None or a string, not int

print()函数也可以直接打印出整个数据结构,类似于列表、元组、字典等;

20170928170437_915.png

2.print()函数的格式化输出

上面其实举了一个常见例的例子就是格式化字符串输出:

print("%s,%s" % (x,y))

并且可以格式化输出不单单只有字符串,还有很多其他类型,可以根据实际需要选择使用:

20170928170443_598.jpg

这里主要说明下格式化输出浮点数字(float),因为浮点数字可以指定精度和字段宽度,所以特别讲解下:

挑选一个无限不循环小数1/7,赋值给number,并使用格式化浮点数字输出,我们可以发现输出了6位小数,如下图

20170928170450_887.png

那么因为某些要求,我们想输出指定的小数位数怎么办呢?这里就引入一个格式化输出浮点数字新用法:

%.xf:x为需要保留浮点型的位数

接着上面的例子演示一下,我们需要保留3位小数和20位小数的情况:

20170928170455_751.png

有时候我们可能需要一定宽度的字段,比如宽度为10的字段,那么上面保留三位小数时候的0.143就不符合要求,此时我们再拓展下新用法:

%A.xf:x为需要保留浮点型的位数,A为字段宽度

来展示下需要保留3为小数,宽度为10的浮点型字段

20170928170502_675.png

虽然还是显示的0.143,但是可以发现往后移位了,如果需要填充空白就需要在参数A前设置,比如我们使用0来填充空白

20170928170521_6.png

此时字段长度设置的效果更佳明显了!

我们也可以使用左对齐(很明显默认输出的右对齐),在参数A前增加“-”即可

20170928170528_877.png

我们也可以将要保留的精度与值放在一个元组内,并使用符号“*”来读取元组内的宽度或者精度,不设置则可以省略不写:

print("%*.*f" % (breadth,precision,number))

只设置精度:

20170928170534_578.png

宽度和精度同时设置:

上面的例子都只是在print()函数的""内只是用格式化符号输出,其实也可以跟文本信息一起使用,方法如下:

20170928170552_119.png

(这里要说明一下:Python语言更新换代,在Python2和Python3有着较多的区别,print就是其中一个,在Python2中print只是一个方法,但是在Python3中print()是一个函数,功能基本一致,但使用方法有所不同)

3.input()函数

上面讲完了打印输出用的print()函数,现在来看一下输入数据要用的input()函数,跟print()相比,input()函数相对简单了很多,主要任务就是接收用户输入的数据并返回赋值给指定的变量,也不需要任何参数;

它的语法规则是:

input([prompt])

虽然input()函数不需要参数,但是在提示用户输入数据时,最好还是可以在input()函数的括号内填入相关的提示信息prompt,比如

name = input("Please input your name:\n")

input()只负责接受用户输入的数据并返回,但是不负责保存,所以我们需要将input()函数的返回值赋值给其他变量以供后续代码使用;

并且要说明的是,input()函数返回的数据类型是字符串类型,也就是说即便我们输入了数字,但Python中的input()函数也会返回为字符串类型,我们来验证一下:

20170928170557_186.jpg

所以,如果我们需要除字符串类型以外的其他类型,就必须使用强制类型转换将input()函数的返回值转换为我们想要的数据类型;

(这里还要再说明一下:Python语言更新换代,在Python2和Python3有着较多的区别,input()函数也是其中一个,在Python2中,负责输入的函数有两个raw_input()返回字符串类型,input()返回数字整型;但是在Python3中将两个函数合并为input()函数,并且只返回字符串类型)

好了,关于print()函数和input()函数暂时就先写到这,有部分没有写进去,以后会根据后续的学习以及实际功能的应用进行补充;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值