Python入门-安装Python
- 一、安装Python 3.8
- 1、在Mac上安装Python
- 2、在Windows上安装Python
- 3、运行Python
- 4、小结
- 二、Python解释器
- 1、CPython
- 2、IPython
- 3、PyPy
- 4、Jython
- 5、IronPython
- 6、小结
- 三、Python输入模式
- 1、命令行模式
- 2、Python交互模式
- 3、与命令行交互的几项技巧
- 1)使用向上箭头得到以前的命令
- 2)用Ctrl+c停止脚本
- 3)读懂出错信息并找到解决方案
- 4)注释代码
- 5)shebang行
- 四、第一行代码
- 1、直接输入代码
- 2、执行.py文件
- 3、小结
- 五、文本编译器
- 1、Visual Studio Code
- 2、直接运行py文件
- 六、输入和输出
- 1、输出 - print
- 2、输入 - input
一、安装Python 3.8
目前,Python有两个版本,一个是2.x版,一个是3.x版,这两个版本是不兼容的。
1、在Mac上安装Python
如果你正在使用Mac,系统是OS X>=10.9,那么系统自带的Python版本是2.7。要安装最新的Python 3.8,有两个方法:
方法一:从Python官网下载Python 3.8的安装程序,下载后双击运行并安装;
方法二:如果安装了Homebrew,直接通过命令brew install python3安装即可。
2、在Windows上安装Python
首先,根据你的Windows版本(64位还是32位)从Python的官方网站下载Python 3.8对应的64位安装程序或32位安装程序,然后,运行下载的exe安装包:
特别要注意勾上Add Python 3.8 to PATH,然后点“Install Now”即可完成安装。
3、运行Python
安装成功后,打开命令提示符窗口,敲入python后,会出现两种情况:
情况一:
看到上面的画面,就说明Python安装成功!
你看到提示符>>>就表示我们已经在Python交互式环境中了,可以输入任何Python代码,回车后会立刻得到执行结果。现在,输入exit()并回车,就可以退出Python交互式环境(直接关掉命令行窗口也可以)。
情况二:得到一个错误:
这是因为Windows会根据一个Path的环境变量设定的路径去查找python.exe,如果没找到,就会报错。如果在安装时漏掉了勾选Add Python 3.8 to PATH,那就要手动把python.exe所在的路径添加到Path中。
如果你不知道怎么修改环境变量,建议把Python安装程序重新运行一遍,务必记得勾上Add Python 3.8 to PATH。
4、小结
学会如何把Python安装到计算机中,并且熟练打开和退出Python交互式环境。
在Windows上运行Python时,请先启动命令行,然后运行python。
在Mac和Linux上运行Python时,请打开终端,然后运行python3。
二、Python解释器
当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件。要运行代码,就需要Python解释器去执行.py文件。
由于整个Python语言从规范到解释器都是开源的,所以理论上,只要水平够高,任何人都可以编写Python解释器来执行Python代码(当然难度很大)。事实上,确实存在多种Python解释器。
1、CPython
当我们从Python官方网站下载并安装好Python 3.x后,我们就直接获得了一个官方版本的解释器:CPython。这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。
CPython是使用最广的Python解释器。教程的所有代码也都在CPython下执行。
2、IPython
IPython是基于CPython之上的一个交互式解释器,也就是说,IPython只是在交互方式上有所增强,但是执行Python代码的功能和CPython是完全一样的。好比很多国产浏览器虽然外观不同,但内核其实都是调用了IE。
CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。
3、PyPy
PyPy是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
绝大部分Python代码都可以在PyPy下运行,但是PyPy和CPython有一些是不同的,这就导致相同的Python代码在两种解释器下执行可能会有不同的结果。如果你的代码要放到PyPy下执行,就需要了解PyPy和CPython的不同点。
4、Jython
Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。
5、IronPython
IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。
6、小结
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
三、Python输入模式
1、命令行模式
在Windows开始菜单选择“命令提示符”,就进入到命令行模式,它的提示符类似C:>:
2、Python交互模式
在命令行模式下敲命令python,就看到类似如下的一堆文本输出,然后就进入到Python交互模式,它的提示符是>>>。
在Python交互模式下输入exit()并回车,就退出了Python交互模式,并回到命令行模式:
也可以直接通过开始菜单选择Python (command line)菜单项,直接进入Python交互模式,但是输入exit()后窗口会直接关闭,不会回到命令行模式。
3、与命令行交互的几项技巧
1)使用向上箭头得到以前的命令
命令行窗口和终端窗口的一个美妙功能是,你可以通过按向上箭头键找到以前输入的命令。这个功能非常方便,可以减少每次运行Python脚本时必需的输入量,特别是当Python脚本的文件名特别长或者需要在命令行上提供额外的参数(比如输入文件名或输出文件名)的时候。
2)用Ctrl+c停止脚本
在相当多的情况下,你应该知道如何停止脚本。例如,你可能写出死循环代码,这样脚本就永远不会停止运行。另外一种情况是,你编写的代码可能需要很长时间才能执行完毕,如果你在代码中包含了print语句,并由此发现脚本不会生成需要的输出,这时就应该提前终止脚本。
在脚本开始运行之后,如果想随时中断或停止脚本,可以按Ctrl+c(Windows)或control+c(MacOS),这会停止通过命令开始的进程。
3)读懂出错信息并找到解决方案
当你运行任何一个Python脚本的时候,脚本没有正确运行,命令行窗口或终端窗口显示了出错信息。首先不要慌张,先读懂出错信息。某些情况下,出错信息中明确指出了代码中出现错误的行,你可以将精力集中在这一行上来纠正错误(你的文本编译器或IDE英国设置成显示行号,如果不自动显示行号,请在菜单中找一下或在网上快速搜索一下,弄清楚如何显示行号)。重要的是要知道出错信息也是编程的一部分,学会编码也包括学会如何有效的调试程序错误。
熟悉Python内置的异常对象也是非常有帮助的,这样你就可以识别出标准的出错信息并知道如何改正错误。你可以在Python标准库页面(http://docs.python.org/3/library/exceptions.html)找到Python内置的异常,但是在网上通过出错信息搜索其他人的解决方案也非常有用。
4)注释代码
以#开头的行是注释,用来解释代码,描述代码的用途和目的。
5)shebang行
打开文本编译器,将下面两行代码写在文本文件中:
#!/usr/bin/env python3
print("Output #1: I'm excited to learn Python.")
第一行比较特殊,称为shebang行,在Python脚本中,你应该一直将它作为第一行。以#开头的行为单行注释,安装了Windows系统的计算机不读取也不执行这行代码。但是,安装了Unix系统的计算机使用这一行来找到执行文件中代码的Python版本。因为Windows系统忽略这一行,像macOS这样的基于Unix的系统使用这一行,所以加入这一行可以使脚本在不同操作系统的计算机之间具有可移植性。
四、第一行代码
1、直接输入代码
在交互模式的提示符>>>下,直接输入代码,按回车,就可以立刻得到代码执行结果。
>>> 100+200
300
如果要让Python打印出指定的文字,可以用print()函数,然后把希望打印的文字用单引号或者双引号括起来,但不能混用单引号和双引号:
>>> print('hello, world')
hello, world
2、执行.py文件
写一个calc.py的文件,内容如下:
print(100 + 200 + 300)
执行,就可以看到结果:
C:\work>python calc.py
600
3、小结
在命令行模式下,可以执行python进入Python交互式环境,也可以执行python hello.py运行一个.py文件。
执行一个.py文件只能在命令行模式执行。如果敲一个命令python hello.py,看到如下错误:
错误提示No such file or directory说明这个hello.py在当前目录找不到,必须先把当前目录切换到hello.py所在的目录下,才能正常执行:
此外,在命令行模式运行.py文件和在Python交互式环境下直接运行Python代码有所不同。Python交互式环境会把每一行Python代码的结果自动打印出来,但是,直接运行Python代码却不会。
Python交互模式的代码是输入一行,执行一行,而命令行模式下直接运行.py文件是一次性执行该文件内的所有代码。可见,Python交互模式主要是为了调试Python代码用的,也便于初学者学习,它不是正式运行Python代码的环境。
五、文本编译器
1、Visual Studio Code
推荐微软出品的Visual Studio Code,它不是那个大块头的Visual Studio,它是一个精简版的迷你Visual Studio,并且,Visual Studio Code可以跨平台Windows、Mac和Linux通用。
请注意,不要用Word和Windows自带的记事本。Word保存的不是纯文本文件,而记事本会自作聪明地在文件开始的地方加上几个特殊字符(UTF-8 BOM),结果会导致程序运行出现莫名其妙的错误。
2、直接运行py文件
能不能像.exe文件那样直接运行.py文件呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在.py文件的第一行加上一个特殊的注释:
#!/usr/bin/env python3
print('hello, world')
然后,通过命令给hello.py以执行权限:
$ chmod a+x hello.py
就可以直接运行hello.py了,比如在Mac下运行:
六、输入和输出
1、输出 - print
用print()在括号中加上字符串,就可以向屏幕上输出指定的文字。比如输出’hello, world’,用代码实现如下:
>>> print('hello, world')
print()函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:
>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog
print()会依次打印每个字符串,遇到逗号“,”会输出一个空格,因此,输出的字符串是这样拼起来的:
print()也可以打印整数,或者计算结果:
>>> print(300)
300
>>> print(100 + 200)
300
因此,我们可以把计算100 + 200的结果打印得更漂亮一点:
>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300
注意,对于100 + 200,Python解释器自动计算出结果300,但是,'100 + 200 ='是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
2、输入 - input
Python提供了一个input(),可以让用户输入字符串,并存放到一个变量里。比如输入用户的名字:
>>> name = input()
Michael
当你输入name = input()并按下回车后,Python交互式命令行就在等待你的输入了。这时,你可以输入任意字符,然后按回车后完成输入。
输入完成后,不会有任何提示,Python交互式命令行又回到>>>状态了。那我们刚才输入的内容到哪去了?答案是存放到name变量里了。可以直接输入name查看变量内容:
>>> name
'Michael'
在计算机程序中,变量不仅可以为整数或浮点数,还可以是字符串,因此,name作为一个变量就是一个字符串。
要打印出name变量的内容,除了直接写name然后按回车外,还可以用print()函数:
>>> print(name)
Michael
有了输入和输出,我们就可以把上次打印’hello, world’的程序改成有点意义的程序了:
name = input()
print('hello,', name)
运行上面的程序,第一行代码会让用户输入任意字符作为自己的名字,然后存入name变量中;第二行代码会根据用户的名字向用户说hello,比如输入Michael:
C:\Workspace> python hello.py
Michael
hello, Michael
但是程序运行的时候,没有任何提示信息告诉用户:“嘿,赶紧输入你的名字”,这样显得很不友好。幸好,input()可以让你显示一个字符串来提示用户,于是我们把代码改成:
name = input('please enter your name: ')
print('hello,', name)
再次运行这个程序,你会发现,程序一运行,会首先打印出please enter your name:,这样,用户就可以根据提示,输入名字后,得到hello, xxx的输出:
C:\Workspace> python hello.py
please enter your name: Michael
hello, Michael