关于Python 3中print函数的换行详解

yipeiwu_com6年前Python基础

前言

因为工作的需要,最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来,好了,话不多说了,来一起看看详细的介绍:

Python2.X中的代码:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
__author__ = '****'

class PrintTable(object):
 '''打印九九乘法表'''
 def __init__(self):
  print('开始打印 9 X 9 的乘法表格')
  self.print99()

 def print99(self):
  for i in xrange(1, 10):
   for j in xrange(1, i+1):
    print('%d X %d = %2s ' %(j, i, i*j)),
   print('\n')
if __name__ == '__main__':
 pt = PrintTable()

具体的算法,横向、纵向两层循环就不说了。

这里涉及两个问题:第一,在内层循环的print()函数结尾,在Pyhon2中,print()打印输出后要换行的话,是在函数末尾加一个逗号',',但是在Python3中运行代码会发现,加逗号并不起作用,在win中运行如图1所示,


图1

在Linux中运行如图2,


图2

可以看出,并没有换行,原因是在Python3中,换行采用了新语法,形如print(‘*‘, end=”) ,是的,区别就是在print()函数的第二个参数,加上了end=”,修改、运行,最后的运行结果,如图3,

图3

正常输出。

其实在上面代码中还有一个问题,接上面 问题一,xrange()函数,如果你只是修改了print()函数的语法,没有关注xrange()的话,会出现下图4的情况,

 
图4

这里提示说'xrange' is not defined,其实就是在Python3中,xrange()函数已被整合进range()函数了,统一使用range()函数。

OK,修改后,就会输出图3的正常结果了。

总结

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

python 根据网易云歌曲的ID 直接下载歌曲的实例

python 根据网易云歌曲的ID 直接下载歌曲的实例

特么的,上次写了一堆,发现,原来下载网易云的歌曲根本不用这么费劲,直接用! http://music.163.com/song/media/outer/url?id=这里填歌曲i...

浅析Python中else语句块的使用技巧

浅析Python中else语句块的使用技巧

学过C/C++的都知道,else语句是和if语句搭配使用的,但是在Python中,else语句更像是作为一个模块,不仅仅可以和if语句搭配,还可以和循环语句,异常处理语句搭配使用。 下面...

Python PIL图片添加字体的例子

Python PIL图片添加字体的例子

效果 左边原图,右面添加字体后保存的图。 代码 # -*- coding: utf-8 -*- import PIL.Image as Image import PIL.Image...

Python学习小技巧之列表项的拼接

本文介绍的是关于Python实现列表项拼接的一个小技巧,分享出来供大家参考学习,下面来看看详细的介绍: 典型代码: data_list = ['a', 'b', 'c', 'd',...

使用Python3内置文档高效学习以及官方中文文档

概述 从前面的对Python基础知识方法介绍中,我们几乎是围绕Python内置方法进行探索实践,比如字符串、列表、字典等数据结构的内置方法,和大量内置的标准库,诸如functools、...