你可能想要了解脚本与一般程序嘚区别是什么
脚本与一般程序的主要区别在于是否编译。相对于程序而言脚本更加随性。写完了脚本直接就可以在某种具有解释功能的环境中运行。(我们将会在本课学习如何写和运行 python运行界面 脚本)
而非脚本语言(编译语言),比如 C、Java 语言我们需要通过编译(Compile)和链接(link)等步骤,生成可执行文件然后通过可执行文件在计算机上运行。
欢迎学习这节关于脚本编写的课程!你将学习:
我们将使用最新版 python运行界面 - python运行界面 3虽然 python运行界面 2 在很多场合依然会用到,但是已经不再接受更新为了与后续 python运荇界面 改进保持兼容,建议使用 python运行界面 3
为了完成这一步骤,你需要使用命令行我们将详细介绍所有细节部分,因此如果你从未使用過命令行也没关系!如果你想深入了解命令行,请参阅我们的 详细了解 Unix Shell。
Mac OS X 和 Linux 通常已经自带叻一个版本号比较老的 python运行界面 2,请不要对该 python运行界面 做出任何修改或者删除因为操作系统的部分组件依赖它,修改或者删除它可能会影响到操作系统的某些功能但是单独安装 python运行界面 3,也不会对系统有任何影响
Windows 通常没有自带 python运行界面,但是你可以在安装之前先检查下系统是否安装了 python运行界面。首先检查是否已经安装了 python运行界面 3
注意:这里的$
符号在这里只是一个提示,表示命令行的开始它会自動显示在屏幕上。这不是命令的一部分
系统可能会显示已安装的 python运行界面 版本是 python运行界面 2.7.9
。在这种情况下表明你已经安装了 python运行界面 2,你需要按照下面几个部分中的步骤操作更新到 python运行界面 3。
如果版本号以 3 开头则表明你已经安装了 python运行界面 3!请勿再次安装 python运行界面!
此外,你可能会看到错误消息暂时不用管该错误,直接尝试下面几个部分中的步骤
对于数据分析学员,强烈建议采用这种 python运行界面 咹装方式
Anaconda 包含大量专门针对数据科学的库和软件分发版本,某些库和软件比较难安装同时,你可以很轻松地在计算机上以便在不同蝂本的 python运行界面 和软件包之间快速切换!例如,如果你正在处理的某个项目需要 python运行界面 3.6 以及不同的依赖项那么 Anaconda 的环境管理功能可以提供帮助。上面给出链接的 Anaconda 和 Jupyter notebook 免费课程讲授了如何处理这类情形
如果你的英语不是很熟练,你也可以在中文网站上搜索安装Anaconda的教程比如
對使用 python运行界面 进行数据分析不感兴趣的学员建议采用此方法。
如果你对学习面向数据科学的 python运行界面 不感兴趣并且你的计算机尚未安裝 python运行界面 3,那么现在该安装 python运行界面 3 了!请转到 并找到适用于你的操作系统、以 3 开头的最新版本(例如 python运行界面 3.5.2)
对于 Windows 和 Mac,我们发现朂简单的方法是直接从 python运行界面 下载网站下载安装程序并运行如果你使用的是 Linux,python运行界面 下载页面提供了进行下载和编译的源代码此外,你可以使用 APT 等安装工具安装 python运行界面 3
如果你使用的是 Windows 设备,并且已经安装了 python运行界面但是未选中上述选项,则需要将 python运行界面 添加到 PATH这样的话,当你输入 python运行界面
时可以告诉命令行运行 python运行界面 3。如果你未选中上述选项或者转到下一阶段时似乎不可行,请按照 将 python运行界面 添加到 PATH
完成安装程序中的所有步骤操作或编译了源代码后,则安装完毕你可以在自己的计算机上使用 python运行界面 3 了!
first_script.py
(你可能需要右击它,并存储为文件)然后将该文件移到计算机上的相应目录下。如果你还没有为这门课程创建一个目录的话可以乘机创建一个目录。
python运行界面 first_script.py
,然后按下 Enter 键
如果你看到终端输出了以下消息,则表明你成功地运行了脚本:
你已经看到我的设置现在花时间在你自己的计算机上熟悉下界面。 下面是一些我们推荐的文本编辑器你可以尝试一个看看。
设置好屏幕打开文本编辑器、终端/命令行,并在网络浏览器中打开优达学城课堂以便与你的 python运行界面 脚本交互。调整显示器选项找到你觉得最舒适的显示效果,并看看能否找到 tab-to-four-spaces 选项 - 该选项对于 python运行界面 缩进来说非常有用
在文本编辑器中打开全新的空文件,命名该文件并将其保存到放置 python运行界媔 课程文件的文件夹中将以下代码放入该文件里。
我们可以使用内置函数input
获取用户的原始输入该函数接受一个可选字符串参数,用于指定在要求用户输入时向用户显示的消息
这段代码提示用户输入姓名,然后在问候语中使用该输入input
函数获取用户输入的任何内容并将其存储为字符串。如果你想将输入解析为字符串之外的其他类型例如整数(如以下示例所示),需要用新的类型封装结果并从字符串转換为该类型
我们还可以使用内置函数eval
将用户输入解析为 python运行界面 表达式。该函数会将字符串评估为一行 python运行界面 代码
假设你是一名老師,需要向每位学生发一条消息提醒他们未交的作业和分数是多少。你知道每名学生的姓名没交的作业份数和分数,这些数据保存在叻电子表格中你只需将这些输入插入你想到的以下消息中即可:
你可以将此消息复制粘贴后发送给每位学生,并且每次手动插入相应的徝但是你要写一个程序来帮助你完成这一流程。
写一个完成以下操作的脚本:
names
、assignments
和 grades
列表
下面是在终端内成功运行该脚本的示例。
当 python运行界面 无法解析代码时就会发生语法错误,因为我们没有遵守正确的 python运行界媔 语法当你出现拼写错误或第一次开始学习 python运行界面 时,可能会遇到这些错误
当在程序执行期间出现意外情况时,就会发生异常即使代码在语法上正确无误。python运行界面 有不同类型的内置异常你可以在错误消息中查看系统抛出了什么异常。
我们可以使用 try 语句处理异常你可以使用 4 个子句(除了视频中显示的子句之外还有一个子句)。
我们实际上可以指定要在except
块中处理哪个错误如下所示:
现在它会捕獲 ValueError 异常,但是不会捕获其他异常如果我们希望该处理程序处理多种异常,我们可以在except
后面添加异常元组
或者,如果我们希望根据异常執行不同的代码块可以添加多个except
块。
修改上面的脚本以处理除以零错误正确修改的话,应该会输出:
在处理异常时依然可以如下所礻地访问其错误消息:
应该会输出如下所示的结果:
因此依然可以访问错误消息,即使已经处理异常以防止程序崩溃!
如果没有要处理的具体错误依然可以如下所示地访问消息:
Exception
是所有内置异常的基础类。你可以在详细了解 python运行界面 的异常
以下是如何在 python运行界面 中读写攵件的方式。
open
打开文件需要文件路径字符串。open
函数会返回文件对象它是一个 python运行界面 对象,python运行界面 通过该对象与攵件本身交互在此示例中,我们将此对象赋值给变量 f
open
函数中指定可选参数。参数之一是打开文件时采用的模式在此示例中,我们使用 r
即只读模式。这实际上是模式参数的默认值
read
访问文件对象的内容。该 read
方法会接受文件中包含的文本并放入字符串中茬此示例中,我们将该方法返回的字符串赋值给变量 file_data
close
方法释放该文件占用的系统资源
python运行界面 提供了一个特殊的语法,该语法会在你使用完文件后自动关闭该文件
该with
关键字使你能够打开文件,对文件执行操作并在縮进代码(在此示例中是读取文件)执行之后自动关闭文件。现在我们不需要调用 f.close() 了!你只能在此缩进块中访问文件对象 f。
我们实际上鈳以导入其他脚本中的 python运行界面如果你处理的是大型项目,需要将代码整理成多个文件并重复利用这些文件中的代码则导入脚本很有鼡。如果你要导入的 python运行界面 脚本与当前脚本位于同一个目录下只需输入import
,然后是文件名无需扩展名 .py。
Import
语句写在 python运行界面 脚本的顶部每个导入语句各占一行。该import
语句会创建一个模块对象叫做useful_functions
。模块是包含定义和语句的 python运行界面 文件要访问导入模块中的对象,需要使用点记法
我们可以为导入模块添加别名,以使用不同的名称引用它
每当我们运行此类脚本时,python运行界面 实际上会为所有模块设置一個特殊的内置变量__name__
当我们运行脚本时,python运行界面
下面是我在上述视频中使用的代码请在同一目录下创建这些脚本,并在终端里运行这些脚本!实验if main
块并访问导入模块中的对象!
你可以在 博客中发现新的模块
python运行界面 标准库包含大量模块!为了帮助你熟悉那些实用的模塊,我们在下面筛选了一些我们推荐的 python运行界面 标准库模块并解释为何我们喜欢使用它们!
string.digits
(包含所有字符都是有效数字的字符串)。
希望你能用上这些模块!
还有一些在不同情形下很有用的其他形式的import
语句
为了更好地管理代码,Standard 标准库中的模块被拆分成了子模块并包含在软件包中软件包是一个包含子模块的模块。子模塊使用普通的点记法指定
子模块的指定方式是软件包名称、点,然后是子模块名称你可以如下所示地导入子模块。
独立开发者编写了荿千上万的第三方库!你可以使用 pip 安装这些库pip 是在 python运行界面 3 中包含的软件包管理器,它是标准 python运行界面 软件包管理器但并不是唯一的管理器。另一个热门的管理器是 Anaconda该管理器专门针对数据科学。
要使用 pip 安装软件包在命令行中输入“pip install”,然后是软件包名称如下所示:pip install package_name
。该命令会下载并安装该软件包以便导入你的程序中。安装完毕后你可以使用从标准库中导入模块时用到的相同语法导入第三方软件包。
大型 python运行界面 程序可能依赖于十几个第三方软件包为了更轻松地分享这些程序,程序员经常会在叫做 requirements.txt 的文件中列出项目的依赖项下面是一个 requirements.txt 文件示例。
该文件的每行包含软件包名称和版本号版本号是可选项,但是通常都会包含不同版本的库之间可能变化不大,可能截然不同因此有必要使用程序作者在写程序时用到的库版本。
能够安装并导入第三方库很有用但是要成为优秀的程序员,还需偠知道有哪些库可以使用大家通常通过在线推荐或同事介绍了解实用的新库。如果你是一名 python运行界面 编程新手可能没有很多同事,因此为了帮助你了解入门信息下面是优达学城工程师很喜欢使用的软件包列表。(可能部分网站在国内网络中无法打开)
通过在终端里输入python运行界面
启动 python运行界面 交互式解释器你可以接着输入内容,直接与 python运行界面 交互这是每次实验和尝试一段 python运行界面 代码的很棒工具。只需输入 python运行界面 代码输出将出现在下一行。
在解释器中提示符窗口中最后一荇的值将自动输出。如果有多行代码需要输出值依然需要使用 print。
如果你开始定义函数你将在提示符窗口中看到变化,表示这是可以继續的行在定义函数时,你需要自己添加缩进
解释器的不足之处是修改代码比较麻烦。如果你在输入该函数时出现了拼写错误或者忘記缩进函数的主体部分,无法使用鼠标将光标点到要点击的位置需要使用箭头键在代码行中来回移动。有必要了解一些实用的快捷方式例如移到一行的开头或结尾。
注意我可以引用我在解释器中之前定义的任何对象!
一个实用技巧是在交互式提示符窗口中使用上下箭頭键循环浏览最近的命令。这样可以重新运行或修改已经尝试的代码
实际上有一个代替默认 python运行界面 交互式解释器的强大解释器 Ipython运行界面,它具有很多其他功能
?
:关于对象的详细信息
你可以在查看更多其他功能!
要想成为熟练的程序员,需要掌握大量知识需偠了解库、记住语法以及其他细节。此外让这一切更具挑战的是,技术在不断革新因为新的技巧和工具会不断出现。
对于编程新手来說学习所有这些细节并及时获悉新的发展动态似乎是一项不可能完成的任务。的确是这样!具有多年经验的编程专业人士实际上并不是茬脑中记下百科全书一样的知识而是掌握了快速查找信息的技巧。
下面是高效网络搜索的一些技巧:
虽然有很多关于编程的在线资源,但是并非所有资源都是同等水平的下面的資源列表按照大致的可靠性顺序排序。
平时在台式机上linux下编写python运行界面但由于matlab建模需要,而自己的本本是win7系统不想装双系统和虚拟机,因此了解了一下ipython运行界面 notebook顿时感受到了其强大。
ipython运行界面比python运行界媔本身自带的IDLE强大许多而notebook是web based Ipython运行界面封装,但是可以展现丰富文本使得整个工作可以以笔记的形式展示、存储,对于交互编程、学习非常方便
安装步骤有点小麻烦,依赖稍多下面按照windows的安装说一下。也可以直接参考官方安装说明
以前从来没有试过把python运行界面打包,葃天试了试,发现打包也是一件挺容易的事情.python运行界面打包有很多种选择.cx_Freeze是一种, py2exe也可以,还有一个pyinstaller.我用的是cx_Freeze,而py2exe因为sf实在太慢连不上.所以没办法,呮好先用可以下载的.cx_Freeze的资料比较少,不过不是太痛苦,因为好像cx会比py2exe简便易用,而且好像是跨平台的,不错不错.
如果用到了gettext,要注意po文件中的
这两句偠这样写,字符集要用gbk,不要用gb2312.
默认cx_Freeze打包后都是控制台程序,就算你打包一个wxpython运行界面程序,也会有一个黑黑的控制台在后面做背景,要去掉控制台僦要这样:
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。