环境准备
本人使用的是mac笔记本,所以系统自带了python 2.7版本。通过终端输入python
正确情况下会显示如下结果
Last login: Tue May 15 10:29:41 on ttys001
TQ-WXdeMacBook-Pro:~ anonyper$ python
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
在这个状态下可以直接输入python语法,然后回车执行。
如果显示其他错误,比如-bash: python: command not found
,这种情况我们就可以重新安装一个python了,简单的方式可以通过python官网安装。或者可以通过brew
命令来安装(如果系统找不到brew命令,请自行(安装brew))。
$ brew install python
默认会安装python3。系统可以同时存在python2和python3,因为他们是放在不同的文件目录下的。安装完python3后可以通过在终端输入
python3
打开python3执行窗口。
TQ-WXdeMacBook-Pro:~ anonyper$ python3
Python 3.6.5 (default, Apr 25 2018, 14:23:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
想退出python执行窗口,可以输入exit()
点击回车或者直接control+z强制退出。
版本选择
上面提到了两个版本的python,建议学习的时候使用python3开始入手,一方面是python官方宣布将会在2020年停止维护(但是官方之前跳过一次票,至于2020年是否真的停止维护只能到时候才知道),另一方面python这两个版本很多功能和方法是一致的,但是有一些细微的语法是不一样,而我们上手学习一种语言,重要的是学习其思想,而一些api的差异可以在具体使用的过程中去补充和完善即可。
ps:有一些lib库可能只支持python2,目测以后会支持python3,但是如果上手学习python有很强的需求目的,建议查一下需求所需要用的lib是否支持python3,其他如果只是想学习python语言,那就选择python3。
python2和python3目前我已知区别(我一开始用的是系统自带python2,后来安装了python3,以后有机会可以单独列一个python2和python3的区别):
-
接受用户输入的方法input()。
python2中有两个接受用户输入的方法:input()和raw_input(),前者是接受一个值或者变量,值有int:1 ,bool:True, string:'abc',而直接输入abc的话默认会认为输入了一个变量abc,但是如果前面没有定义过这个abc的变量的话,就会报错。而raw_input()都会认为你输入的是字符串。
python3中的input()方法合并了python2中的两个方法,不管你输入什么,都认为是一个字符串。所以在做数字比较的时候需要注意。
-
打印输入日志
python2中打印字符串可以直接
print 'hello'/print "hello"
或者print('hello')/print("hello")
python3中打印字符串只能
print('hello')/print("hello")
-
请求URL
python2中有urllib和urllib2两个库
python3中将urllib和urllib2合并成了urllib,常用的urllib2.urlopen()变成了urllib.request.urlopen()
-
打开文件方式
python2中打开文件可以通过file(filePath)和open(filePath)方法
python3中打开文件不再支持 file 方法,只能用 open
开发工具选择
不管是学习java、还是Android还是开发iOS,都会有不同的IDE,便于提示方法和检查错误,学习python我所知的有以下几种开发工具可用:
-
mac系统自带的IDLE
终端输入命令IDLE即可打开一个小火箭图标的应用,可以创建.py文件或者直接输入python代码指令,但是感觉如不方便。
-
Sublime Text
这个玩意儿可以认为是一个文本编辑器,可以支持python插件
Vim
-
Emacs
之所以把上面两个放到一起,据说这两个工具在高手手里会是神器,但是我作为一个初学者还掌握不了里面的命令以及使用方法,暂时不做评价。
-
Pycharm
我目前使用的是这个工具,初步只专注于学习语言,后期待语法精通之后可以在尝试学习vim等神器工具。
Pycharm有教育版(免费)和全功能版(收费)两个版本,初学的用不到服务器等部署操作,可以使用教育版即可。
Pycharm会选择python的语法检查运行版本,系统中如果装了python2和python3的同学要注意一下,建议选择一个版本之后不要随便切换了,因为在切换不同的版本的时候,会发现一些莫名的酸爽。
代码测试
前面介绍了那么多,是时候表演真正的技术了:
python2在终端中的代码输出:
TQ-WXdeMacBook-Pro:~ anonyper$ python
Python 2.7.10 (default, Jul 15 2017, 17:16:57)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'hello world'
hello world
>>> print 1234
1234
>>> print(1234)
1234
>>> print('hello world')
hello world
>>> input()
123
123
>>> input('请输入一个字符串')
请输入一个字符串'abcd'
'abcd'
>>> input("请输入一个字符串\n")
请输入一个字符串
'abcd'
'abcd'
>>> input('这是错误的输入方法\n')
这是错误的输入方法
abc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> raw_input('这是正确的输入方法\n')
这是正确的输入方法
abcd
'abcd'
>>> exit()
TQ-WXdeMacBook-Pro:~ anonyper$
Python3在终端的代码输出:
TQ-WXdeMacBook-Pro:~ anonyper$ python3
Python 3.6.5 (default, Apr 25 2018, 14:23:58)
[GCC 4.2.1 Compatible Apple LLVM 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> print '这错误的演示'
File "<stdin>", line 1
print '这错误的演示'
^
SyntaxError: Missing parentheses in call to 'print'. Did you mean print('这错误的演示')?
>>> print('正确的演示')
正确的演示
>>> input('不管输入什么,都当做字符串\n')
不管输入什么,都当做字符串
abcd123
'abcd123'
>>> raw_input('没有该方法了')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'raw_input' is not defined
>>> exit()
TQ-WXdeMacBook-Pro:~ anonyper$
以上,是个人学习python途中总结的东西,更多的是为了加强自己的记忆,养成写文档的习惯,作为一个初学者难免会理解错误,如有错误,欢迎指出。