宝贝儿,一起学Python呀 - V
一切从print()说起
今天是<<宝贝儿,一起学Python呀>>的第五篇,这一篇里,咱们一起聊聊Python的print()函数,然后初步认识一下整型和字符串这两种数据类型。
对了,今天开始会有课后作业。我很希望您能在VS Code里实际写一写作业里的神秘小代码,感受一下Python带给您的乐趣。如果您确实体会到了乐趣,记得找我一起去安定医院挂号。。。
前文书曾经说过,一般入门编程教程的第一个实例程序都是让屏幕输出”Hello World”。据说这是一种能带来好运的习惯。那咱看看能不能好运喽:)
前排提示:还记得怎么用VS Code写Python程序么?下图有没有让您回忆起什么?
对了,要点是在您集中存放Python程序的文件夹,使用右键菜单选择“使用Code打开”,然后新建一个.py文件,然后输入如下的语句:
print(Hello World)
然后在文件上右键单击,选择”在终端中运行Python文件”
怎么样?是不是报错了?您应该收到了这样的错误信息:
SyntaxError: invalid syntax
这个报错表示代码有语法错误,而且Python解释器会很贴心告诉您错误在哪。
那错误在哪呢?下面请清空所有代码,咱们重新输入如下代码,然后分析分析:
1 | print('Hello World') |
请注意, # 后面的文字是我写给您的注释,并不是代码的一部分。我也很推荐您在写代码时,把自己的一些想法注释在这里。当然了,我有时也会在自己千辛万苦之后终于跑通的代码后面会以注释的形式赋诗一首。。。这个也无所谓了,自己玩儿,开心和乐趣很重要哒。
另外需要注意的是,# 是单行注释,不能换行,换行就变成代码了。
下面我们再执行一下,这次没有报错了,反馈结果是: ( 为了方便观察,我把代码以注释形式放在后面)
1 | # 所有符号均是英文模式下的符号 |
看见了吧,下面咱们逐个分析分析。
print(‘Hello World’)和print(“Hello World”)都能输出Hello World,所以一般情况下,把字符串用单引号双引号括起来都行。二者的区别在print(“It’ s a good day”)这里体现。使用双引号括起的字符串,字符串里的单引号会以字符的形式正常输出,而这时如果是单引号括起来,那就会报错了。至于三个引号,那就是完全找原样输出。三个引号内字符串有换行,print()输出一样会换行。
至于print(1+3),Python会进行计算,然后把结果转换为字符串输出。
所以我们可以大致得出关于Python的print()的结论:
对于print(‘’),直接输出字符串,但字符串不能含有’
对于print(“”), 直接输出字符串,且字符串可以包含’
对于print(‘’’’’’), 直接输出字符串,且可以换行
对于print(表达式), 计算表达式的结果,然后转换为字符串输出
所以这也就能理解,我们第一次的代码print(Hello World)为什么Python会报错,因为既没有’’说明这是字符串,也不是一个能被Python理解的表达式。
我们写代码时最常用的print(),基本上了解这些就可以了。值得注意的是,虽然print()里面可以是表达式,甚至是数字,比如print(1234567), Python都可以很好的识别,但这里其实有个小隐藏步骤,就是print()其实还是把要输出的内容转化为了字符串。
对了,还得补充一句,这里的print()叫做函数,()里的内容就是这个函数的参数。有的函数不需要参数。比如:
帮我买东西(要买的东西)
这个函数就是带参数的,每次调用这个函数,您需要把要买的东西作为参数写在函数后面的括号里。如果没写,就会报错“出错,您没有说明您让我帮忙买的东西”。
再比如:
帮我洗袜子()
这个函数没有参数,但括号不能省略,每次使用这个函数,需要写成 帮我洗袜子()就行了。
至于print(),理论上是需要带参数的,参数就是您想输出的内容。但实际上,在代码里写成print(),括号里什么都没有,程序也不会报错,只是什么也不干罢了。至于为什么Python的设计者要这么做,而不是抛出一个错误,那我就不知道了。好在谁也不会真的写个print()占字数,没听哪位程序员说工资是按照程序行数结算的。
另外相信您也看见了,Python的程序是每句话一行,结尾不用任何符号表示结束。看起来很简单是吧? 等以后加上缩进表示逻辑层级时,相信您会感受到被对齐Tab支配的恐惧:)
上面提到了数据类型,比如,1,2,3,4,这个都是整数,Python里都叫整型。
1.3, 2.4,这些都是小数,Python里叫浮点。
至于字符串,自然就是字符组成的串了,怎么样,解释非常科学吧。
Python下定义数据类型非常简单,比如
1 | x = 1 # 定义一个整型变量 |
看出来了吧,Python 无需想其它语言那样需要事先约定数据类型。如C++就这么定义:
1 | int x = 1; //定义一个整型变量 |
Python定义变量非常简单,也比较随意,对于使用者非常友好,但是这也要求我们在编程时需要脑子很清楚,不然很容易出错。举个例子,我设计这么一个密码锁小程序:
我事先给门锁预定一个密码,666666吧,反正我也想不出来什么复杂密码。然后我请您输入密码,如果一致,把门打开,如果不一致,继续请您输入。
1 | password = '' # 定义password变量,类型是字符串,但我没有预设任何内容,目的仅仅是接收您输入的密码字符串 |
这段代码的关键就是这个条件判断
while password !=’666666’:
注意到了么,这里的666666是加了’’的,考考您,这是什么数据类型?对了,不是整型数字,是字符串。password是input()函数捕捉到的键盘输入,类型是字符串,都是字符串才有比较的意义。如果666666没加’’,变成了
while password !=666666:
那只能说,您今天怕是不能回家了。就算您把键盘按烂了,无论如何您按出来的这个字符串也是不可能等于一个数字666666的。就像小哥哥再温柔体贴善良正直,长得不行还没钱,只有一辆马自达,那无论小哥哥说什么甜言蜜语,有些只喜欢在宝马车上哭的小姐姐也只当是放P。社会如此,我们无法改变。现在买不起宝马,将来也总买得起,相信我,到那时,你会发现当初当舔狗的自己有多SB,你也会知道哪个只认识宝马标,却不知道宝马X1还不如马自达CX-5贵的小姐姐和当初当舔狗的自己其实智力也没差多少,你一定会释然,并且微笑。
我去,跑题了跑题了。总之,咱们今天讲了print()的使用,认识了整型,浮点型两种数字类型,初识了字符串类型。那亲爱的朋友,咱们做几道题复习复习如何?请解答以下题目,然后自己在VS Code里实际写出来,运行一下看看您的解答是不是对的。
第一题:程序输入结果是什么?
1 | print(123+'456') |
第二题: 程序最后打出了谁的名字?
1 | name='长泽雅美' |
今天就到这里啦,再见。下一篇,我尝试着写一下最简单的循环基础,以及另一个超级无敌常用的数据类型:列表。
再见,爱你,么么哒。