python 输入与输出规则
python 输入
简单输入
我们可以用input进行输入
a = input()
print(a)
当然为了更加友好,你可以在iput里面加入提示语句。
a = input("请输入数据:")
print(a)
对输入数据的类型转换
首先你要明白我们输入的数据是什么类型。
a = input("请输入数据:")
print(a)
print(type(a))
你看我输入是一个1但是它给出是一个str类型,也就是字符串类型。这是因为我们的键盘录入的数据是默认为字符串类型的。
但是如果你要根据输入的数据做一个加法或者减法,或者其他的一些处理。我们就需要进行类型转换。我们可以直接在input前面加上强制转换。
a = int(input("请输入数据:"))
print(a)
b=a+1;
print(type(a))
print(b)
你看这样就可以完成我们这样的需求。
但是你总不能输入一个a让它直接转换为int类型做运算。这在python里面是不允许的。
你可能想到转到对应的ascii码值。
a = ord(input("请输入数据:"))
print(a)
b=a+1;
print(type(a))
print(b)
我们可以按照这样操作。输入语法还是比较简单的。
python 输出
虽然是输出,但是也是有许多操作。我们可以进行不同类型的输出,往下看,你将发现输出语句蕴含的一些有趣的操作。
你是怎样用python的输出语句呢?
是这样吗?
下面展示一些 内联代码片
。
print("Hello World")
其实print函数的用途不止这些,输出也并不是只有有这样单调
那么具体的根源,我们就看这个函数完整的形式喽!
print(*values, sep=' ', end='\n', file=sys.stdout, flush=False)
对各个参数进行分析
下面展示一些 内联代码片
。
values :值,代表了你要输出的内容,比如你的hello world
sep : 打印出值得分割方式(具体看后面得代码演示)
end: 代表结束得方式(默认是'\n'结束,所以print()函数输出内容会自动换行)
file : 指定了输出内容到哪里,默认是到控制台,所以我们一般很自然就在控制台
看到我们的输出内容。
flush:代表了刷新方式(具体的我们在后面代码中说明)
1:对sep参数的解析
#values就不做过多的说明了,我们直接从step开始
print("你好","世界",sep="--");#前面的逗号分隔决定了你好和世界是两个字符串,指定sep的值是采用了什么符号对两个字符串进行分割。
输出结果如下:
还有一点说明,看代码
print("你好"+"世界",sep=",")#与上面的对比输出区分
输出结果如下:
可见并没有对你好世界进行分割,这样的原因是以加号进行的前面,先拼接为一个字符串,sep指定的分割是区别两个字符串的。不明白?看下面
print("你好"+"世界","hello",sep=",")
输出结果如下
2:对end参数的解析
#我们先这样输出
print("十年生死两茫茫")#end参数一般会默认\n,就是换行的意思,改变end参数的值观察输出效果
print("不思量,自难忘")
可以看到这边的print()是自动换行的
输出结果:
#然后我们这样输出
print("十年生死两茫茫",end=",")#end参数一般会默认\n,就是换行的意思,改变end参数的值观察输出效果
print("不思量,自难忘")
输出结果:
3:对file参数的解析
通常我们的输出会直接输出到终端,那么我现在要把我想要输出的内容直接输出到我的文件中,怎么做?看代码。
建立一个文件作为输出目标
我们现在要输出内容到这里面,看代码
File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
print("蒋光道要么变强,要么灭亡!",file=File)
File.close()
运行结果:
4flush参数的解析
看代码
#我们还是对文件进行一下输入内容
我采用了一种对文件操作的方式
while True :
File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
print("蒋光道要么变强,要么灭亡!",file=File,flush=False)
input()
说明,我这边采用了一个无限循环的方式,也就是对文件进行反复写入,我可以在文件中看到效果的动态变化(如果我们没有加入input的话,可以看到文件写入文件内容的动态变化效果)
这边说明input的作用
while True :
File = open("D:\\python\\pydoc\\jgdabc_666\\1.txt",'w',encoding="utf-8")#这边指定编码,以防乱码
print("蒋光道要么变强,要么灭亡!",file=File,flush=False)
#input()
可以看到input()函数注释后就会写入了,即使是while死循环也阻止不了文件每次执行到底部的自动关闭,然后文件又自动打开,反复进行。while循环对全局是死循环,但是内部是一直在执行。
注意:这一点我是按照个人的理解进行的,如果读者觉得有问题可以提出或者指正。谢谢!
4格式化输出format占位格式
这边我们进行整体输出对比即可,然后我会对疑点进行说明
{} 与format() 函数进行配合,起到占位的作用,具体格式以及输出样子看代码
print("my name is{},and i love {}".format('jgdabc','programing'))#格式化输出,{}里面不带参数
print("{}is {}".format('jgdabc','蒋光道'))
print("{1} is {0}".format("jgdabc","蒋光道"))#{}指定参数,调换填入数据的前后顺序
print("{0} is {1} is {0}".format("jgdabc",'蒋光道'))#对输出的控制
print("{a} {b} {c}".format(a="hello",b="world",c="everyone"))#指定输出
print("{:5s} is {:>5s}".format("hello","world"))# 取位对齐
print("{:^10s} is {:^10s}".format("jgdabc","蒋光道")) #中间取位对齐
print("{0} is {0:1.2f}".format(1.231)) # 取数值的位数
print("{:.1f} and {:.2f}".format(1.23,1.32))
print("{0} is {0:b} ".format(2)) # 对数取进制
print("{0} is {0:g}".format(11111111))# g格式,数值太大,会以数的带e格式输出
print("{0} is {0:%}".format(1.21)) # 以百分格式输出
好,我们看输出结果
格式化占位f开头占位
看代码
name = "jgdabc"
age = 22
print(f'my name is {name}') # f格格式占位输出
print(f"my age is {age:.2f}")#f格式输出以及格式控制
输出结果 :
对print()函数的解析就到这里,我们常用的就是这些,当然还有其它的输出函数形式。如果对print()函数的格式话输出又疑问的话欢迎留言。