相信很多同学入门Python的第一行代码就是print('HelloWorld!')print是初学者第一个接触到的Python函数接触过,但是很多人可能遇到过,也不是很清楚它是怎么用的。print(*objects,sep='',end='\n',file=sys.stdout,flush=False)参数:objects–复数,表示一次可以输出多个对象。输出多个对象时,需要用,分隔。sep——用于分隔多个对象,默认值为空格。end-用于设置结束的内容。默认值是换行符\n,我们可以用其他字符串替换。file--要写入的文件对象。flush–输出是否被缓存通常由文件决定,但如果flush关键字参数为True,流将被强制刷新。除了常用的objects参数,剩下的参数大家应该比较陌生吧?我们来看看这些参数能玩出什么花样?默认情况下,打印函数会将内容打印到标准输出流(即sys.stdout),输出流可以通过文件参数自定义。withopen('data.txt','w')asf:print('HelloWorld!',file=f)然后一个txt文件将保存在工作目录中。注意打印输出实际上有两行,前两行是空的。这是因为我们在Python中调用print(obj)打印一个对象时,实际上调用的是sys.stdout.write(obj+'\n'),print将需要的内容打印到控制台,然后追加一个换行符。importsyssys.stdout.write('HelloWorld!'+'\n')print('HelloWorld!')##上面两行是等价的如果不想让print自动换行怎么办?只需要指定end参数为空即可。print('HelloWorld!',end='')flush更有趣。print()函数会将内容放在内存中,可能无法及时刷新显示在屏幕上。.使用flush=True后,打印结束后,不管你是否满足条件,内存中的内容都会立即显示在屏幕上,同时清除缓存。这样就可以实现一些做作效果的满分操作,比如动态加载效果:importtimeprint("Loading",end='')foriinrange(10):print(".",end='',flush=True,)time.sleep(0.2)print('\n',"HelloWorld!")又如打字机效果importtimedefprinter(text,delay=0.3):forchintext:print(ch,end='',flush=True)time.sleep(delay)printer('HelloWorld!')你失学了吗?给三遍可以吗?
