Python学习之print函数

48次阅读

共计 2966 个字符,预计需要花费 8 分钟才能阅读完成。

print() 函数的主要功能就是打印内容。

注意,在正式敲代码之前,必须切换成英文输入状态,保证 print() 函数的括号是用【英文括号】,不然会报错????。

第一个 Python 程序,打印 Hello World

>>> print('Hello World')
Hello World
>>> 

print() 函数的用法有以下几种:

不带引号

>>> print(520)
520
>>> 

如上所示,数字不带引号,可以用 print() 函数直接打印出来,虽然我们只是输入了一个 print() 函数的代码,但是在背后,Python 是做了一系列事情的,如下:

  • (0)我们向计算机发出指令:打印 Hello World
  • (1)Python 把这行代码编译成计算机可以听懂的机器语言
  • (2)计算机做出响应的计算执行
  • (3)把打印结果呈现在我们面前

单引号

>>> print('I Love Python')
I Love Python
>>> 

这里相对于 print(520) 来说,我们在打印 I Love Python 的时候加上了单引号,这是为什么呢?如果不加,会有什么影响呢,我们来试验下:

>>>  print(I Love Python)
 
SyntaxError: unexpected indent
>>> 
>>> print(给我一份工作)
Traceback (most recent call last):
  File "<pyshell#57>", line 1, in <module>
    print(给我一份工作)
NameError: name '给我一份工作' is not defined
>>> 

此时我们的代码没有出现我们预期的 I Love Python,而是出现了报错。说明我们的代码时有错误的,为什么会出现这样的情况呢?这是因为计算机的功能虽然很强大,但是它的脑回路十分的简单,只能理解数字,不能直接读懂文字。因为数字和数学运算是标准化的,有运算格式的。但文字确实千变万化。

Python 中的引号就是告诉电脑,你不要想太多,直接把引号里面的内容打印即可。

双引号

>>> print("I Love Python")
I Love Python
>>> 

Python 里面不仅能使用单引号没还能使用双引号,两者作用没有区别,都是能打印一行内容。

有时候单引号和双引号会同时出现在代码中,这个时候需要区别出,哪个是属于 print() 函数的结构,哪个是属于打印的内容,如下例:

>>> print("Let's play")
Let's play
>>> 

练习:使用 print() 函数打印出 李白的《侠客行》

侠客行

【作者】李白【朝代】唐

赵客缦胡缨,吴钩霜雪明。

银鞍照白马,飒沓如流星。

十步杀一人,千里不留行。

事了拂衣去,深藏身与名。

闲过信陵饮,脱剑膝前横。

将炙啖朱亥,持觞劝侯嬴。

三杯吐然诺,五岳倒为轻。

眼花耳热后,意气素霓生。

救赵挥金槌,邯郸先震惊。

千秋二壮士,烜赫大梁城。

纵死侠骨香,不惭世上英。

谁能书阁下,白首太玄经。

三引号

如果使用单引号或者双引号打印李白的《侠客行》,效果如下:

>>> print("侠客行【作者】李白【朝代】唐 赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,邯郸先震惊。千秋二壮士,烜赫大梁城。纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。")

侠客行【作者】李白【朝代】唐 赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,邯郸先震惊。千秋二壮士,烜赫大梁城。纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经。>>> 

是不是很没有美感?因为单引号和双引号只能做到单行打印,那如何做到多行打印吗,实现换行的效果呢?

这里我们就需要用到三引号!!!

>>> print(''' 侠客行【作者】李白【朝代】唐
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,邯郸先震惊。千秋二壮士,烜赫大梁城。纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经 ''')
侠客行【作者】李白【朝代】唐
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。事了拂衣去,深藏身与名。闲过信陵饮,脱剑膝前横。将炙啖朱亥,持觞劝侯嬴。三杯吐然诺,五岳倒为轻。眼花耳热后,意气素霓生。救赵挥金槌,邯郸先震惊。千秋二壮士,烜赫大梁城。纵死侠骨香,不惭世上英。谁能书阁下,白首太玄经
>>> 

这样是不是就达到了我们的效果

注意事项:

在 Python 中,默认所有正确的语法,包括标点符号都是【英文】。不小心用了中文标点的话,计算机会无法识别,然后报错。

在终端里,你能看到的最常见的符号报错提示就是【syntaxError:invalid syntax】(语法错误:无效语法)。

符号和标点要使用英文输入法

符号和标点要使用英文输入法

符号和标点要使用英文输入法

转义字符

上面的侠客行除了用三引号打印之外,还有第二种实现换行的方法:使用转义字符 \n,像这样

>>> print('侠客行 \n【作者】李白【朝代】唐 \n 赵客缦胡缨,吴钩霜雪明。\n 银鞍照白马,飒沓如流星。\n 十步杀一人,千里不留行。\n')
侠客行【作者】李白【朝代】唐
赵客缦胡缨,吴钩霜雪明。银鞍照白马,飒沓如流星。十步杀一人,千里不留行。>>> 

除了 \n 之外,转义字符还有很多,它们的特征就是:反斜杠 + 想要实现的转义功能首字母。

比如换行 \n 代表【+newline】;退格 \b 代表【+backspace】;回车 \r 代表【+return】。可以按照这种方法记住转义字符的含义。

\\ 反斜杠符号

\’ 单引号

\” 双引号

\a 响铃

\b 退格 (Backspace)

\e 转义

\000 空

\n 换行

\v 纵向制表符

\t 横向制表符

\r 回车

\f 换页

\oyy 八进制数,yy 代表的字符,例如:\o12 代表换行

\xyy 十六进制数,yy 代表的字符,例如:\x0a 代表换行

\other 其它的字符以普通格式输出

注意记住几个最常用的可以了,如换行 \n \t \r \f 等

———————————————————————————————————————————————————————————

练习 1:

请你使用 print() 函数和 ”’ 将下面的皮卡丘打印出来
/\7 ∠_/
/ │ / /
│ Z _,< / /` ヽ
│ ヽ / 〉
Y ` / /
イ● 、 ● ⊂⊃〈 /
() へ | \〈
>ー 、_ ィ │ //
/ へ / ノ<| \\
ヽ_ノ (_/ │//
7 |/
>―r~~`ー―_

练习 2:

打印出:

你好,我叫 ’William‘。

很高兴见到你,

我们可以一起玩耍嘛?

正文完
 0