python教程(二)·第一个python程序

几乎所有的计算机语言教程,不仅仅是python,都以这样一个相似的示例程序开始讲解——Hello World!

代码如下,简简单单的一行。想必稍微了解英语的读者,都能猜到这段代码功能吧。

1
print("Hello World!")

如何运行代码?

代码有了,那么该怎么运行呢??接下来介绍两种运行代码的方法。

保存为文件

读者可以打开自己喜欢的文本编辑器,当然,记事本也是OK的。新建一个文本文件,文件名字随意,只要后缀名.py即可,为了作者的叙述方便,我将采用“hello.py”。将代码写进去,并保存,代码中的双引号是半角的,要当心,不要输错。

然后,打开命令行,切换到文件所在目录,还记得前面所讲的吗?使用命令cd来切换目录。还有一种更方便的方法,图形界面打开文件所在的目录,按住键盘shift键,再用鼠标右键空白处,点击 “在此处打开命令窗口”,如下图:
打开cmd

打开后自动切换到文件所在的目录

在命令行中输入,python 代码的文件名,比如这里代码文件名为“hello.py”,所以应输入python hello.py,记得按下回车键,命令行显示大致如下:

1
2
3
> python hello.py
Hello World!
>

字符>是提示字符,在实际中,应该是这样的:当前路径>,我在这里就把路径省去了,毕竟这不是重点。

声明一下:往后的文章基本上会少用截图来展示代码,会用类似上面的文字来讲解,因为作者认为,如果一篇文章下来全是图片,那么还不如拍视频教程(往后有拍视频这个打算^_^)。其次,图片真的很影响排版╮(╯▽╰)╭。如有必要的话,作者还是会贴上图片来说明的。

交互式解释器

像这样简单的一句代码,比起写在文件里,我更推荐直接用python交互式解释器来运行。那什么又是交互式呢?很简单,像命令行这样,人输入一条命令,命令行运行一条命令,运行完后再等待下一条命令……这种类似人与程序对话的方式,称为交互式。

在命令行中,输入python即可进入python交互式解释器。将会出现类似下面这样的版本信息:

1
2
3
4
5
> python
Python 3.7.1 (v3.7.1:260ec2c36a, Oct 20 2018, 14:05:16) [MSC v.1915 32 bit (Inte
l)] on win 32
Type "help", "copyright", "credits" or "license" for mor information
>>>

注意啦,现在你是在和python解释器交互,而不是和cmd.exe交互,cmd.exe已经把控制权交给了解释器,所以你现在输入cmd的一些命令如dir是不起作用的,除非python解释器刚好对待“dir”这个字符串,像cmd.exe对待的一样,这是不可能的,读者们死心吧╮(╯▽╰)╭

要是想结束解释器的交互,回到cmd的交互,那么只需输入exit()或者按下组合键Ctrl + Z,然后按下回车键即可。

在提示符>>>后输入刚刚的代码,像这样:

1
>>> print("Hello World")

按下回车键,命令行显示为:

1
2
3
>>> print("Hello World")
Hello World
>>>

程序解析

英文单词“print”是“打印”的意思,显然,代码print("Hello World")的作用是,在命令行中输出(打印)“Hello World”一行字符,并且输出后光标会进行换行。而"Hello World"是一个字符串
print()的括号中还可以用逗号(半角的),分开多个字符串,表示打印多个字符串,字符串之间以空格分开,比如代码print("1", "2", "3")将得到输出:

1
1 2 3

程序会从上到下,一行一行按顺序,目前为止是这样,执行代码。比如下面这段代码:

1
2
3
print("我是第一行")
print("我是第二行")
print("我是第三行")

保存为文件后运行得到输出:

1
2
3
我是第一行
我是第二行
我是第三行

算术运算

四则运算

仅仅打印几行字符,太简单了,既然计算机最擅长的就是计算,那么就来做一做计算。相信大家的早就在小学数学中掌握了四则运算也就是加减乘除了,如果你说不会⊙▽⊙,只能惋惜你一秒钟了。

来吧,先来做做加法,在交互式解释器中输入1+1按下回车键,结果如下:

1
2
3
>>> 1+1
2
>>>

1+1太简单了,口算都可以,换个大的数吧456423+786651,读者可用计算器算算是不是这个:

1
2
3
>>> 456423+786651
1243074
>>>


那么减法呢?

1
2
3
4
5
6
7
>>> 1-1
0
>>> 123-456
-333
>>> 556-999
-443
>>>

不用算啦,结果保证准确<( ̄ˇ ̄)/


乘法也类似,不过在计算机中用字符*表示乘号。

1
2
3
>>> 123*456
56088
>>>


至于除法,符号用斜杠/

1
2
3
4
5
>>> -123/456
-0.26973684210526316
>>> 39/3
13.0
>>>

细心的读者可能会注意到,39/3的结果是13.0而不是13,为什么一定要有小数点呢?这涉及到python数据类型,很快就提到啦,不要急,如果想要结果是13整数的话,那么可以把/换成//,像这样:

1
2
3
>>> 39//3
13
>>>

运算符//的也是进行除法,只不过结果是向下取整的整数,就是截去小数部分。


这和我们在小学中学到的数学是一致的,没什么难的。读者可以自己尝试下做些复杂点的运算,比如下面这样把加减乘除都用上的:

1
2
3
4
5
>>> 123-8546/131*231+451
-14495.664122137405
>>> (1+7)*5/4-1
9.0
>>>


总之,加减乘除所用的运算符为+-*///),简单明了。

其它运算

猜猜下面是怎么运算的?

1
2
3
4
5
6
7
8
9
10
11
>>> 1**2
1
>>> 2**2
4
>>> 3**2
9
>>> 4**2
16
>>> 2**3
8
>>>

读者们都猜到了吧,显然,1**2是1的平方,2**3是2的立方,所以a**b的意思是a的b次方。


要想计算10除以3的余数,聪明的你可能会这么做

1
2
3
>>> 10-(10//3)*3
1
>>>

然而,你还可以写得更简单:

1
2
3
>>> 10%3
1
>>>

这个百分号%叫做取模运算符,用来取除法的余数,用于正数!!!,如果用于进行负数的运算的话,我也不知道会出现什么奇怪的结果,因为作者好像也不了解负数除法的余数是怎么定义的(@_@;),比如这个:

1
2
3
>>> 10%-3
-2
>>>


好了,本文到此为止,接下来将接触python中的数据类型变量

ヾ( ̄▽ ̄)Bye~Bye~