更多课程 选择中心


Python培训

400-996-5531

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"))

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

objects:

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

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

sep:

上面的例子其实已经可以看到,A、B、C三个变量一起打印时,每个变量之间使用了“空格”分隔,这里就是语法规则中提到的默认值省略不写,等价于print(A,B,C,sep = '\n'),现在我们不使用默认值,我们将sep换成“*”来尝试一下:


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

sep必须是string(字符串)

否则会提示错误:


end:

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


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


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

end必须是string(字符串)

否则也会提示错误:

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

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


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

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

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

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


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

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


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

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

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


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

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

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


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


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

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


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

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

只设置精度:


宽度和精度同时设置:

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


(这里要说明一下: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()函数也会返回为字符串类型,我们来验证一下:


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

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

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

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:Python在人工智能/数据分析/金融中如何应用?
下一篇:一份python安全编程入门教程

2021年Python全套免费视频教程在哪里?

Python编程学习路线

Python最高有几级?

人工智能与语音遥控的区别?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省