另辟蹊径的python学习手册(二)

打印你所需要的所有

从print说起

上一节我们仔细的去分辨了print()函数的使用,但其的使用不仅限于此,所以这一节,我们从print()说起。

定义数据

a = 1

这行代码的意思大家进行一个浅显的,不加以任何其他思考的理解,可以得到的信息为:a等于1。计算机看到了这段话,即在IDLE中输入这段话,计算机就知道了:a等于1。

print(a)
>>>1

此时我们就可以知道,a = 1即在定义a的数据类型为整数,且为整数1。
由此我们可以进行大胆的拓展思考,定义是只能单个字母对应单个数字的么?
我们进行下列实例进行分析。(分割线上下程序操作为不同操作,不相互影响)

a = 123
print(a)
>>>123
-----------------
abc = 1
print(abc)
>>>1
print(a)
>>>NameError: name 'a' is not defined
-----------------
abc = 123
print(abc)
>>>123
print(a)
>>>NameError: name 'a' is not defined

此时我们便发现了定义数据的方法,简单通俗的来说,就是等号左边的未定义数据被定义为等号右边的已被定义的数据。且定义为一一对应的定义方式。
但是,如果我想使用一行代码定义多个数据,使用等号来定义,能否行的通呢?
答案是——可以的。

a,b,c = 1,2,3
print(a)
>>>1
print(b)
>>>2
print(c)
>>>3

打印,打印,再打印

print()函数,作为我们学的第一个函数,你确定你对它的了解够么?

def print(self, *args, sep=' ', end='\n', file=None): # known special case of print
    """
    print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
    
    Prints the values to a stream, or to sys.stdout by default.
    Optional keyword arguments:
    file:  a file-like object (stream); defaults to the current sys.stdout.
    sep:   string inserted between values, default a space.
    end:   string appended after the last value, default a newline.
    flush: whether to forcibly flush the stream.
    """
    pass

参数:
value – 值,可以接受任意多个变量或值。
file – 要写入的文件对象。
sep – 用来间隔多个对象,默认值是一个空格。
end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
flush – 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。

以上是python对于print()函数的定义,大家不需要全部看懂,因为我们会慢慢深入。
首先我们将目光转向print后面括号中最简单的一个单词:end。

以何为终结

我们先阅读一下以下几行代码,

print("你好美")
print("美得让我心碎")
(输出结果为:)
 你好美
 美得让我心碎

我们先清楚的了解几个转义字符的意思(我挑选了几个最具有代表性,且最实用的进行讲述)
首先我们回到上面讲到的end,发现对end有一个定义是:end='\n'。这个是将结尾定义为:\n。\n又名换行符,顾名思义将当前位置移动到下一行开头,实现换行的目的。而end='\n'的意思是:以换行作为结尾。这就产生了为什么我们将两个print()函数编写在同一个.py1文件中,结果输出会是出现在两行。
这是因为每个print()函数中都会自带一句隐藏的语句就是:end='\n'。(我们在上文中的定义中可以找到它的存在),接下来我们来认识认识以下几个转义字符。

\n:换行符,将当前位置移动到下一行开头
\r:回车符,将当前位置移动到本行开头
\t:制表符(水平制表符),跳到下一个TAB键的位置
——————————————————————————————————————————————
print("我爱你",end="\r")
print("我不爱你")
(输出结果为:)
我不爱你
print("我不爱你",end="\r")
print("我爱你")
(输出结果为:)
我爱你
———————————————————————————————————————————————
print("我\t爱\t你")
>>>我	爱	你

这个时候我们就可以理解\r等于之后的print()函数会将这一行进行重新编写,\t就是等于你在输出的时候多按了一下TAB键。上述代码就是为了让大家知道其用途和两种使用方式:一,直接插入输出文本中;二,对end进行赋值。
这个部分考试容易出题目的一个知识点就是,print()函数不换行。

print("我爱你",end="")
print("才怪")
(输出结果为:)
我爱你才怪

这个代码的意思是将结尾换成一个空字符串,就等于将本应该换行的结尾换成了空字符串,下面的print()函数则会直接接着进行打印。
最后我们用一个输出99乘法口诀表的代码作为这一更的结尾:

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j) + str("*") + str(i)+"=" + str(i*j),end="\t")
    print()
(输出结果为:)
1*1=1	
1*2=2	2*2=4	
1*3=3	2*3=6	3*3=9	
1*4=4	2*4=8	3*4=12	4*4=16	
1*5=5	2*5=10	3*5=15	4*5=20	5*5=25	
1*6=6	2*6=12	3*6=18	4*6=24	5*6=30	6*6=36	
1*7=7	2*7=14	3*7=21	4*7=28	5*7=35	6*7=42	7*7=49	
1*8=8	2*8=16	3*8=24	4*8=32	5*8=40	6*8=48	7*8=56	8*8=64	
1*9=9	2*9=18	3*9=27	4*9=36	5*9=45	6*9=54	7*9=63	8*9=72	9*9=81

其中就由我们本次学到的print()函数的出现,大家可以先进行理解,我们下一更进行详细解释。


  1. .py文件即为使用IDLE创建的文件,可以进行程序的编写,将多行代码储存到一起之后,统一运行,之前和之后的所有代码如果是需要在.py文件中进行运行的,我的编写格式会是:多行代码中间不空行,不出现>>>的输出标志,输出结果前会有:(输出结果为:)的字样 ↩︎

发布了2 篇原创文章 · 获赞 2 · 访问量 361

猜你喜欢

转载自blog.csdn.net/wingss2000/article/details/104457881