三生两世一辈子 發表於 2019-7-20 12:29:00

Python语言基础01-初识Python

<p><strong>本文收录在<span style="color: rgba(255, 0, 0, 1)"><span style="color: rgba(255, 0, 0, 1)">Python从入门到精通系列文章系列</span></span></strong></p>
<h2>1. Python简介</h2>
<h3>1.1 Python的历史</h3>
<p>Python的创始人为吉多·范罗苏姆(荷兰语:Guido van Rossum)</p>
<ol>
<li>1989年的圣诞节期间:<strong>吉多</strong><strong>·</strong><strong>范罗苏姆</strong>为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python作为程序的名字,是因为他是BBC电视剧——蒙提·派森的飞行马戏团的爱好者。</li>
<li>1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语言实现的(后面又出现了Java和C#实现的版本Jython和IronPython,以及PyPy、Brython、Pyston等其他实现),可以调用C语言的库函数。在最早的版本中,Python已经提供了对"类","函数","异常处理"等构造块的支持,同时提供了"列表"和"字典"等核心数据类型,同时支持以模块为基础来构造应用程序。</li>
<li>1994年1月:<strong>Python 1.0</strong>正式发布。</li>
<li>2000年10月16日:<strong>Python 2.0</strong>发布,增加了实现完整的<strong>垃圾回收</strong>,提供了对<strong>Unicode</strong>的支持。与此同时,Python的整个开发过程更加透明,社区对开发进度的影响逐渐扩大,生态圈开始慢慢形成。</li>
<li>2008年12月3日:<strong>Python 3.0</strong>发布,此版<strong>不完全兼容</strong>之前的Python源代码。不过因为目前还有不少公司在项目和运维中使用Python 2.x版本,很多新特性后来也被移植到旧的Python 2.6/2.7版本。</li>
</ol>
<p>此处借鉴于python维基百科:https://zh.wikipedia.org/wiki/Python</p>
<p>&nbsp;&nbsp;</p>
<h3>1.2 Python的优缺点</h3>
<p>(1)Python的优点很多,简单的可以总结为以下几点。</p>
<ul>
<li style="margin-left: 30px"><strong>简单和明确</strong>,做一件事只有一种方法。</li>
<li style="margin-left: 30px">学习曲线低,跟其他很多语言相比,<strong>Python</strong><strong>更容易上手</strong>。</li>
<li style="margin-left: 30px"><strong>开放源代码</strong>,拥有强大的社区和生态圈。</li>
<li style="margin-left: 30px"><strong>解释型语言</strong>,天生具有平台<strong>可移植性</strong>。</li>
<li style="margin-left: 30px">支持两种主流的编程范式(<strong>面向对象</strong>编程和<strong>函数式</strong>编程)都提供了支持。</li>
<li style="margin-left: 30px"><strong>可扩展性和可嵌入性</strong>,可以调用C/C++代码,也可以在C/C++中调用Python。</li>
<li style="margin-left: 30px">代码<strong>规范程度高,可读性强</strong>,适合有代码洁癖和强迫症的人群。</li>
</ul>
<p>&nbsp;&nbsp;</p>
<p>(2)Python的缺点主要集中在以下几点。</p>
<ul>
<li style="margin-left: 30px"><strong>执行效率稍低</strong>,因此计算密集型任务可以由C/C++编写。</li>
<li style="margin-left: 30px"><strong>代码无法加密</strong>,但是现在很多公司都不销售卖软件而是销售服务,这个问题会被淡化。</li>
<li style="margin-left: 30px">在开发时可以选择的<strong>框架太多</strong>(如Web框架就有100多个),有选择的地方就有错误。</li>
</ul>
<p>此处借鉴于python官方文档:https://docs.python.org</p>
<p>&nbsp;&nbsp;</p>
<h3>1.3 Python的应用领域</h3>
<p>  目前Python在Web应用开发、云基础设施、DevOps、网络爬虫开发、数据分析挖掘、机器学习等领域都有着广泛的应用,因此也产生了Web后端开发、数据接口开发、自动化运维、自动化测试、科学计算和可视化、数据分析、量化交易、机器人开发、图像识别和处理等一系列的职位。</p>
<p>&nbsp;&nbsp;</p>
<h2>2.&nbsp;搭建编程环境</h2>
<h3>2.1 Windows环境</h3>
<p>可以在Python官方网站下载到Python的Windows安装程序(exe文件),我下载的是python-3.7.3.exe版本,需要注意:</p>
<ul>
<li style="margin-left: 30px">如果在<strong>Windows 7</strong>环境下安装Python 3.x,需要<strong>先安装</strong><strong>Service Pack 1</strong><strong>补丁包</strong>(可以通过一些工具软件自动安装系统补丁的功能来安装);</li>
<li style="margin-left: 30px">安装过程建议<strong>勾选</strong><strong>"Add Python 3.7 to PATH"</strong>(将Python 3.6添加到PATH环境变量)并选择自定义安装;</li>
</ul>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212446684-373319625.png"></p>
<ul>
<li style="margin-left: 30px">在设置"Optional Features"界面最好将<strong>"pip"、"tcl/tk"、"Python test suite"</strong>等项全部勾选上。</li>
</ul>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212454478-1040668391.png"></p>
<ul>
<li style="margin-left: 30px">高级配置选项,如图勾选即可;强烈建议使用自定义的安装路径并保证<strong>路径中没有中文</strong>。</li>
</ul>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212459966-1555455442.png"></p>
<ul>
<li style="margin-left: 30px">安装完成会看到"Setup was successful"的提示。一定点击<strong>disable path length limit,禁用系统的Path</strong><strong>长度自动限制</strong>,能给我们避免很多的麻烦。</li>
</ul>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212505862-35172322.png"></p>
<ul>
<li style="margin-left: 30px">如果系统显示api-ms-win-crt*.dll文件缺失,直接在微软官网下载Visual C++ Redistributable for Visual Studio 2015文件进行修复;如果是因为更新Windows的DirectX之后导致某些动态链接库文件缺失问题,可以下载一个DirectX修复工具进行修复。</li>
</ul>
<p>&nbsp;&nbsp;</p>
<h3>2.2 Linux环境</h3>
<p>  Linux环境自带了<strong>Python 2.x</strong>版本,但是如果要更新到3.x的版本,可以在Python的官方网站下载Python的源代码并通过源代码构建安装的方式进行安装,具体的步骤如下所示。</p>
<p>(1)安装依赖库(因为没有这些依赖库可能在源代码构件安装时因为缺失底层依赖库而失败)。</p>
<div class="cnblogs_code">
<pre># yum -y install wget gcc zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel wget</pre>
</div>
<p>(2)下载Python源代码并解压缩到指定目录</p>
<div class="cnblogs_code">
<pre># wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz<span>
# tar -xvf Python-3.7.3.tgz</span></pre>
</div>
<p>(3)切换至Python源代码目录并执行下面的命令进行配置和安装</p>
<div class="cnblogs_code">
<pre># cd Python-3.7.3/<span>
# ./configure --prefix=/usr/local/python37 --enable-<span>optimizations
# make &amp;&amp; make install</span></span></pre>
</div>
<p>(4)配置PATH环境变量并使其生效</p>
<div class="cnblogs_code">
<pre># vim /etc/profile.d/<span>python
export PATH=$PATH:/usr/local/python37/<span>bin
# source /etc/profile.d/python</span></span></pre>
</div>
<p>&nbsp;</p>
<h3>2.3 macOS环境</h3>
<p>  macOS也自带了Python 2.x版本,可以通过Python的官方网站提供的安装文件(pkg文件)安装Python 3.x的版本。默认安装完成后,可以通过在终端执行python命令来启动2.x版本的Python解释器,可以通过执行python3命令来启动3.x版本的Python解释器。</p>
<p>&nbsp;&nbsp;</p>
<h2>3.&nbsp;从终端运行Python程序</h2>
<h3>3.1&nbsp;确认Python的版本</h3>
<p>(1)可以Windows的命令行提示符中键入下面的命令。</p>
<div class="cnblogs_code">
<pre>python --version</pre>
</div>
<p>&nbsp;(2)或者是在Linux或macOS系统的终端中键入下面的命令。</p>
<div class="cnblogs_code">
<pre>python3 --version</pre>
</div>
<p>&nbsp;(3)当然也可以先输入python或python3进入交互式环境,再执行以下的代码检查Python的版本。</p>
<div class="cnblogs_code">
<pre># python3
&gt;&gt;&gt;<span> import sys
&gt;&gt;&gt;<span> print(sys.version_info)
sys.version_info(major=3, minor=7, micro=3, releaselevel='final', serial=0<span>)
&gt;&gt;&gt;<span> print(sys.version)
3.7.3 (default, Apr 26 2019, 14:42:46<span>)
</span></span></span></span></span></span></pre>
</div>
<p>&nbsp;</p>
<h3>3.2&nbsp;编写Python源代码</h3>
<p>  可以用文本编辑工具(推荐使用Sublime、TextMate、Visual Studio Code等高级文本编辑工具)编写Python源代码并用py作为后缀名保存该文件,代码内容如下所示。</p>
<div class="cnblogs_code">
<pre>print('hello world!')</pre>
</div>
<p>&nbsp;</p>
<h3>3.3&nbsp;运行程序</h3>
<p>切换到源代码所在的目录并执行下面的命令,看看屏幕上是否输出了"hello, world!"。</p>
<div class="cnblogs_code">
<pre># python hello.py
hello world!</span></pre>
</div>
<p>或</p>
<div class="cnblogs_code">
<pre># python3 hello.py
hello world!</span></pre>
</div>
<p>&nbsp;&nbsp;&nbsp;</p>
<h3>3.4&nbsp;代码中的注释</h3>
<p>  注释是编程语言的一个重要组成部分,用于在源代码中解释代码的作用从而增强程序的可读性和可维护性,当然也可以将源代码中不需要参与运行的代码段通过注释来去掉,这一点在调试程序的时候经常用到。注释在随源代码进入预处理器或编译时会被移除,不会在目标代码中保留也不会影响程序的执行结果。</p>
<ol>
<li>单行注释:以&nbsp;<strong>#</strong>&nbsp;开头的部分</li>
<li>多行注释:<strong>三个引号</strong>开头,三个引号结尾</li>
</ol>
<p>(1)编写</p>
<p>"""&nbsp;第一个Python程序&nbsp;- hello, world!&nbsp;向伟大的Dennis M. Ritchie先生致敬&nbsp;Version: 0.1 Author:&nbsp;阿龙&nbsp;"""</p>
<div class="cnblogs_code">
<pre>"""
第一个Python程序 - hello, world!<span>
向伟大的Dennis M. Ritchie先生致敬

Version: 0.1<span>
Author: 阿龙
"""<br><br><span>
print('hello, world!'<span>)
# print("你好,世界!"<span>)
print('你好', '世界'<span>)
print('hello', 'world', sep=', ', end='!\n'<span>)
print('goodbye, world', end='!\n')</span></span></span></span></span></span></span></pre>
</div>
<p>&nbsp;(2)执行</p>
<div class="cnblogs_code">
<pre># python3 hello.py
hello, world!<span>
你好 世界
hello, world!<span>
goodbye, world!</span></span></span></pre>
</div>
<p>&nbsp;</p>
<h2>4.&nbsp;其他工具介绍</h2>
<h3>4.1 IDLE -&nbsp;自带的集成开发工具</h3>
<p>  IDLE是安装Python环境时<strong>自带的集成开发工具</strong>,如下图所示。但是由于IDLE的用户体验并不是那么好所以很少在实际开发中被采用。</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212514198-671964749.png"></p>
<p>&nbsp;&nbsp;</p>
<h3>4.2 IPython -&nbsp;更好的交互式编程工具</h3>
<p>  IPython是一种基于Python的交互式解释器。相较于原生的Python交互式环境,IPython提供了更为强大的编辑和交互功能。可以通过Python的包管理工具pip安装IPython和Jupyter,具体的操作如下所示。</p>
<p>(1)安装</p>
<div class="cnblogs_code">
<pre>pip install ipython</pre>
</div>
<p>&nbsp;或</p>
<div class="cnblogs_code">
<pre>pip3 install ipython</pre>
</div>
<p>&nbsp;注:如果报错,加2个参数</p>
<div class="cnblogs_code">
<pre># pip3 install --trusted-host pypi.org --trusted-host files.pythonhosted.org ipython</pre>
</div>
<p>&nbsp;原因:当前python版本是3.7,网上查找说是python高版本需要验证ssl</p>
<p>&nbsp;&nbsp;</p>
<p>(2)安装成功后,可以通过下面的ipython命令启动IPython,如下图所示。</p>
<p>Tab键可以补齐</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212519898-1008924318.png"></p>
<p>&nbsp;&nbsp;</p>
<h3>4.3 Jupyter -&nbsp;网页编程工具</h3>
<p>当然,我们也可以通过安装Jupyter工具并运行名为notebook的程序在浏览器窗口中进行交互式代码编写操作。</p>
<p>(1)安装</p>
<div class="cnblogs_code">
<pre>pip install jupyter</pre>
</div>
<p>&nbsp;或</p>
<div class="cnblogs_code">
<pre>pip3 intall jupyter</pre>
</div>
<p>&nbsp;&nbsp;&nbsp;</p>
<p>(2)然后执行下面的命令运行服务</p>
<div class="cnblogs_code">
<pre># jupyter notebook --ip=192.168.200.101 --port=80 --allow-root</pre>
</div>
<p>&nbsp;注:</p>
<ul>
<li style="margin-left: 30px">--ip:指定ip</li>
<li style="margin-left: 30px">--port:指定端口</li>
<li style="margin-left: 30px">--allow-root:如果是root权限执行需要此参数,绕过root权限,不建议以root身份运行</li>
</ul>
<p>&nbsp;&nbsp;</p>
<p>(3)页面登录使用</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212527790-1932543449.png"></p>
<p>注:密码在服务启动时会打印在屏幕上</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212533796-1487309376.png"></p>
<p>注:可以选择编辑器</p>
<p>&nbsp;&nbsp;</p>
<h3>4.4 Sublime -&nbsp;文本编辑神器</h3>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212540145-1784106821.png"></p>
<ul>
<li style="margin-left: 30px">首先可以通过官方网站下载安装程序安装Sublime 3或Sublime 2。</li>
<li style="margin-left: 30px">安装包管理工具。
<ul>
<li style="margin-left: 30px">通过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
<ul>
<li style="margin-left: 30px">Sublime 3<br>
<div class="cnblogs_code">
<pre>importurllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())</pre>
</div>
</li>
<li style="margin-left: 30px">Sublime 2<br>
<div class="cnblogs_code">
<pre>importurllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')</pre>
</div>
</li>
</ul>
</li>
<li style="margin-left: 30px">手动安装浏览器输入&nbsp;https://sublime.wbond.net/Package%20Control.sublime-package&nbsp;下载这个文件,下载好以后,打开sublime text,选择菜单Preferences-&gt;Browse Packages...&nbsp;打开安装目录此时会进入到一个叫做Packages的目录下,点击进入上一层目录Sublime Text3,在此目录下有一个文件夹叫做Installed Packages,把刚才下载的文件放到这里就可以了。然后重启sublime text3,观察Preferences菜单最下边是否有Package Settings&nbsp;和Package Control两个选项,如果有,则代表安装成功了。</li>
</ul>
</li>
<li style="margin-left: 30px">安装插件。通过Preference菜单的Package Control或快捷键Ctrl+Shift+P打开命令面板,在面板中输入Install Package就可以找到安装插件的工具,然后再查找需要的插件。我们推荐大家安装以下几个插件:
<ul>
<li style="margin-left: 30px">SublimeCodeIntel -&nbsp;代码自动补全工具插件。</li>
<li style="margin-left: 30px">Emmet -&nbsp;前端开发代码模板插件。</li>
<li style="margin-left: 30px">Git -&nbsp;版本控制工具插件。</li>
<li style="margin-left: 30px">Python PEP8 Autoformat - PEP8规范自动格式化插件。</li>
<li style="margin-left: 30px">ConvertToUTF8 -&nbsp;将本地编码转换为UTF-8。</li>
</ul>
</li>
</ul>
<p>&nbsp;&nbsp;</p>
<h3>4.5 Visual Studio Code -&nbsp;轻量级但功能强大的源代码编辑器</h3>
<ul>
<li style="margin-left: 30px">官网地址:https://code.visualstudio.com/</li>
<li style="margin-left: 30px">我下载的版本:https://vscode.cdn.azure.cn/stable/0f3794b38477eea13fb47fbe15a42798e6129338/VSCodeUserSetup-x64-1.36.0.exe</li>
</ul>
<p>(1)安装</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212546159-576021623.png"></p>
<p>&nbsp;&nbsp;</p>
<p>(2)安装扩展</p>
<p>①汉化</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212552163-1210439640.png"></p>
<p>②&nbsp;python环境</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212558060-256930469.png"></p>
<p>&nbsp;&nbsp;</p>
<p>(3)运行</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212608311-538594774.png"></p>
<p>  说明:<strong>事实上</strong><strong>Visual Studio Code可能是更好的选择(我使用的是VS code</strong><strong>)</strong>,它不用花钱并提供了更为完整和强大的功能。</p>
<p>&nbsp;&nbsp;</p>
<h3>4.6 PyCharm - Python开发神器</h3>
<p>  PyCharm的安装、配置和使用稍后会编写一篇《玩转PyCharm》进行了介绍,有兴趣的读者可以选择阅读。</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212616824-1718560898.png"></p>
<p>&nbsp;&nbsp;</p>
<h2>5.&nbsp;练习</h2>
<h4>5.1 在Python交互环境中查看下面的代码结果,并试着将这些内容翻译成中文。</h4>
<div class="cnblogs_code">
<pre>import this&nbsp;</pre>
</div>
<p>  说明:当前键入上面的命令后会在交互式环境中看到如下所示的输出,这段内容被称为"Python之禅",里面讲述的道理不仅仅适用于Python,也适用于其他编程语言。</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212622324-1839645101.png"></p>
<p>&nbsp;&nbsp;</p>
<h4>5.2 学习使用turtle在屏幕上绘制图形。</h4>
<p>  说明:turtle是Python内置的一个非常有趣的模块,特别适用于让小朋友体会什么是编程,它最早是Logo语言的一部分,Logo语言是Wally Feurzig和Seymour Papert在1966发明的编程语言.</p>
<div class="cnblogs_code">
<pre>import<span> turtle

turtle.pensize(4<span>)
turtle.pencolor('red'<span>)
turtle.forward(100<span>)
turtle.right(90<span>)
turtle.forward(100<span>)
turtle.right(90<span>)
turtle.forward(100<span>)
turtle.right(90<span>)
turtle.forward(100<span>)
turtle.mainloop()</span></span></span></span></span></span></span></span></span></span></pre>
</div>
<p>&nbsp;结果展示:</p>
<p><img src="https://img2018.cnblogs.com/blog/1216496/201907/1216496-20190707212628635-1719999932.png"></p>
<p>&nbsp;</p>

</div>
<div id="MySignature" role="contentinfo">
    <p><b>
如果您认为这篇文章还不错或者有所收获,您可以通过<big><font color="red">右边的“打赏”功能</font></big> 打赏我一杯咖啡【物质支持】,也可以点击右下角的<big><font color="red">【赞】</font></big>按钮【精神支持】,因为这两种支持都是我继续写作,分享的最大动力!
</b></p>
<div style="border: medium double rgb(0,0,5); background: #FFFF93; color: #0; font-size: smail">
<p><b>&nbsp;&nbsp;作者:along阿龙
<br>
&nbsp;&nbsp;出处:http://www.cnblogs.com/along21/
<br>
&nbsp;&nbsp;简介:每天都在进步,每周都在总结,你的一个<big><font color="red">点赞</font></big>,一句<big><font color="red">留言</font></big>,就可以让博主开心一笑,充满动力!
<br>
&nbsp;&nbsp;版权:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
</b></p>
</div>
<p><b><big>已将所有赞助者统一放到单独页面!签名处只保留最近10条赞助记录!查看赞助者列表</big>
</b></p>
<div style="border: medium double rgb(0,0,5); background: color: #0; font-size: smail">
<table border="1">
<tbody><tr>
<th bgcolor="#CCFFFF" colspan="3">衷心感谢打赏者的厚爱与支持!也感谢点赞和评论的园友的支持!</th>
</tr>
<tr>
<th bgcolor="#CCFFFF">打赏者</th>
<th bgcolor="#CCFFFF">打赏金额</th>
<th bgcolor="#CCFFFF">打赏日期</th>
</tr>
<tr>
<td>微信:*光</td>
<td>10.00</td>
<td>2019-04-14</td>
</tr>
<tr>
<td>微信:小罗</td>
<td>10.00</td>
<td>2019-03-25</td>
</tr>
<tr>
<td>微信:*光</td>
<td>5.00</td>
<td>2019-03-24</td>
</tr>
<tr>
<td>微信:*子</td>
<td>10.00</td>
<td>2019-03-21</td>
</tr>
<tr>
<td>微信:云</td>
<td>5.00</td>
<td>2019-03-19</td>
</tr>
<tr>
<td>支付宝:马伏硅</td>
<td>5.00</td>
<td>2019-03-08</td>
</tr>
<tr>
<td>支付宝:唯一</td>
<td>10.00</td>
<td>2019-02-02</td>
</tr>
<tr>
<td>微信:*亮</td>
<td>5.00</td>
<td>2018-12-28</td>
</tr>
<tr>
<td>微信:流金岁月1978</td>
<td>10.00</td>
<td>2018-11-16</td>
</tr>
<tr>
<td>微信:,别输给自己,</td>
<td>20.00</td>
<td>2018-11-06</td>
</tr>
</tbody></table>
</div><br><br>
来源:https://www.cnblogs.com/along21/p/10265754.html
頁: [1]
查看完整版本: Python语言基础01-初识Python