python入门
Python是计算机编程语言中的一种
计算机语言的发展
- 机器语言
- 汇编语言
- 高级语言
计算机语言执行方式
计算机语言执行方式可分为以下两种:
- 编译执行
- 解释执行
一、Python介绍
1.1 Python发展简史
Python之父——Guido van Rossum。
Python是一种解释性计算机编程语言,在1989年由Guido van Rossum开发。1991年公开发行。
Python的名字来源于BBC系列喜剧剧本《Monty Python’s Flying Circus》(巨蟒的飞行马戏)。圭多在研发新语言时,正在阅读该书,因此,这位伟大的计算机科学家就将新语言命名为Python。
1.2 Python版本
Python目前存在两个活跃的版本,分别是Python2与Python3。两个版本互不兼容。
- python 2 比较老的版本
- python 3 主流版本
1.3 Python语言特征
Python语言具有如下特征:
- 语言简单(简洁)
- 面向过程与面向对象
- 解释执行
- 跨平台性
- 可扩展性(胶水语言)
- 强大库的支持(内置库与社区库)
1.4 Python应用领域
Python在很多领域都有着广泛的应用,主要领域如下:
- Web应用开发
- 网络爬虫
- 数据分析与科学计算
- 可视化桌面程序
- 游戏编程
- 人工智能
二、 Python开发环境
2.1 Windows操作系统
- 下载
首先,去官网下载Python安装程序。选择合适的Python版本。安装程序分为32位与64位,大家可以根据自己机器的实际情况进行选择,如果是64位机器,建议下载64位的版本。 - 安装
安装过程比较简单,直接下一步就好。注意在安装时,可以将Python加入到环境变量的选项勾选。当然,如果安装时没有勾选,以后也可以自行配置。
2.2 Linux / Mac操作系统
Linux / Mac操作系统自带Python2与Python3开发环境。
我们可以通过如下方式来查看Python的版本信息:
python -V
或者:
python --version
说明:Linux / Mac上因为内置python2与python3,因此,python命令使用的是python2,如果想要执行python3,需要使用“python3”命令。
2.3 Python虚拟环境
Python虚拟环境是一个半隔离的环境,在该环境中安装的库仅对该环境下的程序有效,不会对系统环境造成影响。
为了能够实现Python多版本共存,同时,彼此之间又不会相互干扰,可以通过创建Python虚拟环境来实现。
2.4 Python开发工具
编写Python程序非常简单,可以使用任何存文本编辑器。例如,Windows操作系统中的记事本。不过,普通的文本编辑器相对朴素,而一些开发工具可以提供功能强大,更加友好的且方便的开发环境,从而提高开发效率。
常用的Python开发工具有:
- Sublime Text
- PyDev + Eclipse(LiClipse)
- Pycharm
- Anaconda
三. 第一个Python程序
3.1 永远的Hello World。
>>> print("hello world")
hello world
说明:习惯上,每条Python语句独立占一行。如果一行存在两条(或更多条)Python语句,则需要使用分号(;)分隔。
3.2 交互式
打开终端环境,执行python或Python3命令,进入python交互环境,输入代码运行。
在Python交互式模式下,可以输入exit()或quit()退出交互模式。
3.3 文件式
通过建立.py文件,执行。
3.4 两种方式对比
通过交互式环境,我们可以直接输入要执行的内容,并且可以马上看到程序的运行结果,这为我们提供了便捷性。但是,当关闭交互式窗口时,所有的定义与语句全部丢失。这对一个较大的程序来说,是非常不方便的。因为下次执行时,我们不得不重新再输入一次。
通过文件式编写程序,在运行时不能直接获取变量(或常量)的结果,而是需要使用print语句输出才可以。但是,通过文件可以将所有执行的程序语句保存起来,以便于下次能够重复执行。
四、 变量和常量
4.1 定义变量
变量,用来使用指定的名称来绑定特定的值。变量具有变量名与变量值。我们可以采用如下方式定义变量:
变量名 = 变量值
例如:
age = 10
这样,就定义了一个变量,变量名为age,值为10。我们将名称age绑定10,需要留意的是,中间的“=”是赋值号,不是数学上的等号(数学上的等号Python中使用“==”),意为将10赋值给age,这是一个从右向左的运算符。
经过如上定义之后,我们就可以使用变量名来访问其所绑定的值:
print(age)
当然,变量也是可以更改绑定值:
age = 20
此时,我们就将age绑定的值由之前的10,改成了20。
我们也可以一次性定义多个变量(或者为多个变量赋值),语法如下:
x = y = z = 3
这样,我们就一次性的定义了三个变量,所有变量绑定的值均为3。
说明:
- 变量在第一次赋值时叫做变量的定义,在以后赋值时,就不再是定义变量,而是对更绑定值进行更改。
- 变量在定义时,必须要绑定一个具体的值,否则无法使用。
定义变量有什么用呢?如果要输出一个值,可以直接使用print函数来输出,例如,在上例中,我们可以使用:
print(20)
如果是一个简单的值,这样做自然是没有问题的,然而,如果是一个复杂的计算,使用变量可以保存一个中间结果,以便下次直接使用,而不必在重复进行一次计算。
平行赋值
平时赋值是Python语言所特有的语法。在进行多变量操作时,可以提供简便性。
4.2删除变量名
定义变量时,实际上就是使用变量名关联了指定的值。可以认为,变量名就是一个标签,贴在了对应的值上。当变量不需要,我们也可以删除变量名。删除变量名使用del,语法如下:
del 变量名
当删除变量名后,我们就无法再使用变量名来访问其之前所关联的值。这就是一个解绑操作,相当于将标签名从值上撕了下来。
我们可以通过变量之间的赋值,将值关联多个变量。当删除一个变量名后,不会影响到其他的变量名,因为del删除的只是变量名称,而并非变量名所关联的值对象。
4.3常量
-
用全部大写的变量名:PI = 3.14159265359
-
None
None是Python中内置的一个常量值,表示变量值缺失。因为我们在定义变量时,必须给变量一个明确的值。但可能在有些情况下,变量在定义时,值不方便给出,而是在随后的计算中才能确定,因此,我们就可以在定义变量时,给变量赋予None值。
variable = None
此外,None也经常作为参数的默认值,应用与函数的参数传递中。
五 、输出与输入
输出函数print
print内置函数的使用
- 输出之后不换行
- 多关键字输出
- 设置分隔字符
输入函数input
input内置函数的使用
- 获取输入的内容。
- 指定提示信息。
六、 环境变量
环境变量,是操作系统中一种特殊的对象,该对象可以为操作系统提供信息。环境变量分为环境变量名与环境变量值。变量名用来区别于其他的环境变量,而变量值就是给操作系统提供的信息。环境变量可以具有多个值,多个值之间使用指定的符号分隔。不同的操作系统,分隔符也是不同的。例如,Windows系统的分隔符为“;”,而Linux系统的分隔符为“:”。
6.1 查看环境变量
Windows操作系统
- set
- 通过计算机属性查看
Linux操作系统 - env
环境变量可以分为以下两种: - 用户环境变量
- 系统环境变量
6.2 PATH
尽管操作系统中存在很多环境变量,但与我们开发关联最密切的,就是PATH环境变量。那么,PATH环境变量有什么作用呢?
我们在Windows系统安装程序时,没有勾选环境变量一项。无法正常运行Python程序
6.3PATH环境变量的设置
Windows操作系统
- set PATH=
- 通过图形化界面
Linux操作系统
- 设置系统环境变量:
sudo vi /etc/environment
- 设置用户环境变量:
sudo vi ~/.profile
P A T H = " PATH=" PATH="PATH:/new_path"
七、 注释
注释即为对程序进行解释说明的文字。注释内容会被解释器所忽略。
7.1 单行注释
单行注释使用#表示,从#开始,到本行的末尾,都是注释内容。根据惯例,注释内容写在其解释说明的程序上方。
7.2 特殊注释
在Python中,存在两种特殊类型的注释。
第一种:设置Python解释器的位置
在文件的第一行加入:
#!/usr/bin/python3
该行的作用是,告知系统Python解释器的位置(这里的位置为/usr/bin/目录下)。这样设置后,我们就可以在终端直接执行Python文件(该文件需要具有可执行的权限)。然而,这种设置方式并不通用,其不利于程序的移植。因为,并非所有的操作系统中,Python解释器都在/usr/bin/这个路径下,为了能够是程序具有更好的可移植性,我们可以采用如下的方式设置:
#!/usr/bin/env python3
其中,/usr/bin/env会从环境变量PATH指定的目录中来搜索python3文件。这样,当程序迁移时,也只需要改变环境变量即可,而无需批量修改每一个Python文件中第一行的路径信息(前提是移植时/usr/bin/env的位置没有改变)。
说明:
- 如果设置解释器的位置,则必须是文件的第一行。
- 设置Python解释器的位置主要应用于Unix / Linux操作系统中,对于Windows操作系统中,可直接使用*.py的方式来运行。
第二种:设置文件编码
如果在文件第一行或第二行注释中匹配如下的形式:
coding[=:]\s*([-\w.]+)
则该注释就是文件的编码声明。建议的声明格式:
# -*- coding: 编码名称 -*-
例如:
# -*- coding:UTF-8 -*-
这样,该Python文件就会使用UTF-8的编码。
说明:
- 如果设置编码,则编码必须是文件中的第一行或第二行,如果在第二行,则第一行必须也是注释。
- Python3文件的默认编码为UTF-8。(Python2为ASCII)
- 严格来说,以上两种特殊注释不是真正的注释,算是一种设置。因为编译器会忽略注释内容,但不会忽略这两种设置。
八、 标识符
标识符,就是作为类,方法(函数),变量等名字的符号。标识符的语法要求如下:
- 由字符,数字与_组成,并且第一个字符不能是数字。
- 标识符不能与Python中的关键字重名。
说明:
- 标识符是区分大小写的。
- Python3中,标识符的字符集为Unicode字符集,Python2中,标识符字符集为ASCII(U+0001~U+007F)。
- 尽管Python3标识符的字符集为Unicode字符集,但不意味着整个Unicode字符集中的字符都是合法的,例如:“@”,“$”,“*”等,这些都不可以出现在标识符中。
命名惯例
从语法的角度来说,标识符只要符合Python的语法规定,就不会影响程序的运行,然而,在很多情况下,我们仅仅编写出符合语法的程序是不够的。
九、 关键字
关键字,是Python中具有特殊语义的符号。Python3.6中,所有的关键字列表如下:
False | class | finally | is | return |
None | continue | for | lambda | try |
True | def | from | nonlocal | while |
and | del | global | not | with |
as | elif | if | or | yield |
assert | else | import | pass | |
break | except | in | raise |
我们可以通过如下程序打印Python中所有的关键字列表。
-
import keyword
-
print(keyword.kwlist)