末学者笔记--Python基础一玄
Python 基础一玄
【安装及介绍】
一、python介绍
介绍:
python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
最新的TIOBE排行榜,Python赶超PHP占据第4, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
· Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。
1.web开发
Python拥有很多免费数据函数库、web模板系统、以及与web服务器进行交互的库,可以实现web的开发,目前比较有名气的Python web框架为flask和Django。这两款框架的效率都非常高
2.桌面开发
Python在图形界面开发上也很强大,可以利用tkinter/PyQT框架开发各种桌面软件!
3.网络编程
支持高并发的Twisted网络框架, python3引入的asyncio使异步编程变的非常简单(python2没有)
4.爬虫
在爬虫领域python的绝对是霸主地位,无人能及
5.人工智能
这个我就不多说了吧,地球人都知道python在人工智能的地位
6.云计算
Python是从事云计算工作需要掌握的一门编程语言,目前很火的云计算框架OpenStack就是由Python开发的,如果想要深入学习并进行二次开发,就需要具备Python的技能。
7.自动化运维
Python是一门综合性的语言,能满足绝大部分自动化运维需求,前端和后端都可以做,从事该领域,应从设计层面、框架选择、灵活性、扩展性、故障处理、以及如何优化等层面进行学习。
8.游戏开发
在网络游戏开发中,Python也有很多应用,相比于Lua or C++,Python比Lua有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,据我所知《文明》这款游戏就是python写的
9.科学运算
97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛。
二、python真实的应用场景
CIA: 美国中情局网站就是用Python开发的
NASA: 美国航天局(NASA)大量使用Python进行数据分析和运算
YouTube:世界上最大的视频网站YouTube就是用Python开发的
Dropbox:美国最大的在线云存储网站,全部用Python实现,每天网站处理10亿个文件的上传和下载
Instagram:美国最大的图片分享社交网站,每天超过3千万张照片被分享,全部用python开发
Facebook:大量的基础库均通过Python实现的
linux系统: 世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的
豆瓣: 公司几乎所有的业务均是通过Python开发的
知乎: 国内最大的问答社区,通过Python开发(国外Quora)
春雨医生:国内知名的在线医疗网站是用Python开发的
除上面之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝 、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
三、windows安装python解释器
打开官网 https://www.python.org/downloads/windows/ 下载中心
测试安装是否成功:cmd下输入python关键字,如果能进入交互界面表示OK
1.pycharm安装方法
https://blog.csdn.net/pdcfighting/article/details/80297499
2.pip介绍
pip的用法其实跟linux的yum很像,它可以帮我们安装python所需要的环境包,并且可以包解决依赖关系
列出已安装的包
pip list
安装要安装的包
pip install xxx
安装特定版本
pip install django==1.1.5
导出python的环境
pip freeze > requestment.txt
从导出的python环境中安装所需要的包
pip install -r requestment.txt
卸载导出的python环境中的包
pip uninstall -r requestment.txt
升级包
pip install -U <包名>
显示包所在的目录
pip show -f <包名>
搜索包
pip search <搜索关键字>
查询可升级的包
pip list -o
下载包而不安装
pip install <包名> -d <目录> 或 pip install -d <目录> -r requirements.txt
更换国内pypi镜像
阿里:https://mirrors.aliyun.com/pypi/simple
豆瓣:http://pypi.douban.com/simple
中国科学技术大学:http://pypi.mirrors.ustc.edu.cn/simple/
pip install <包名> -i http://pypi.v2ex.com/simple
指定全局安装源
在unix和macos,配置文件为:$HOME/.pip/pip.conf
在windows上,配置文件为:%HOME%\pip\pip.ini
(1):在windows文件管理器中,输入 %APPDATA%
(2):会定位到一个新的目录下,在该目录下新建pip文件夹,然后到pip文件夹里面去新建个pip.ini文件
(3):在新建的pip.ini文件中输入以下内容,搞定文件路径:"C:\Users\Administrator\AppData\Roaming\pip\pip.ini"
[global]
timeout = 6000
index-url = http://pypi.douban.com/simple
3.创建python的虚拟环境
为什么需要虚拟环境:
如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就会碰到一个问题,我如何在我的电脑中同时拥有Django 1.10和Django 0.9两套环境呢?这时候我们就可以通过虚拟环境来解决这个问题。
(1)安装虚拟环境:
virtualenv是用来创建虚拟环境的软件工具,我们可以通过pip或者pip3来安装
pip install virtualenv #windows系统
pip3 install virtualenv #linux系统
创建虚拟环境:
创建虚拟环境非常简单,通过以下命令就可以创建了:
virtualenv [虚拟环境的名字]
进入虚拟环境:
虚拟环境创建好了以后,那么可以进入到这个虚拟环境中,然后安装一些第三方包,进入虚拟环境在不同的操作系统中有不同的方式,一般分为两种,第一种是Windows,第二种是*nix:
1) windows进入虚拟环境:进入到虚拟环境的Scripts文件夹中,然后执行activate。
2) Linux进入虚拟环境:source /path/to/virtualenv/bin/activate
一旦你进入到了这个虚拟环境中,你安装包,卸载包都是在这个虚拟环境中,不会影响到外面的环境。
退出虚拟环境:
退出虚拟环境很简单,通过一个命令就可以完成:deactivate。
创建虚拟环境的时候指定Python解释器:
在电脑的环境变量中,一般是不会去更改一些环境变量的顺序的。也就是说比如你的Python2/Scripts在Python3/Scripts的前面,那么你不会经常去更改他们的位置。但是这时候我确实是想在创建虚拟环境的时候用Python3这个版本,这时候可以通过-p参数来指定具体的Python解释器:
virtualenv -p C:\Python36\python.exe [virutalenv name]
(2)virtualenvwrapper
virtualenvwrapper这个软件包可以让我们管理虚拟环境变得更加简单。不用再跑到某个目录下通过virtualenv来创建虚拟环境,并且激活的时候也要跑到具体的目录下去激活。
安装virtualenvwrapper
linux:pip install virtualenvwrapper。
windows:pip install virtualenvwrapper-win。
virtualenvwrapper基本使用:
1)创建虚拟环境:
mkvirtualenv my_env
那么会在你当前用户下创建一个Env的文件夹,然后将这个虚拟环境安装到这个目录下。
如果你电脑中安装了python2和python3,并且两个版本中都安装了virtualenvwrapper,那么将会使用环境变量中第一个出现的Python版本来作为这个虚拟环境的Python解释器。
2)切换到某个虚拟环境:
workon my_env
3)退出当前虚拟环境:
deactivate
4)删除某个虚拟环境:
rmvirtualenv my_env
5)列出所有虚拟环境:
lsvirtualenv
6)进入到虚拟环境所在的目录:
cdvirtualenv
修改mkvirtualenv的默认路径:
在我的电脑->右键->属性->高级系统设置->环境变量->系统变量中添加一个参数WORKON_HOME,将这个参数的值设置为你需要的路径。
创建虚拟环境的时候指定Python版本:
在使用mkvirtualenv的时候,可以指定--python的参数来指定具体的python路径:
mkvirtualenv --python==C:\Python36\python.exe hy_env
四、变量
变量是什么?什么是变量?变量有什么好处?
变量是一种使用方便的占位符,用于引用计算机内存地址,该地址可以存储Script运行时可更改的程序信息。例如,可以创建一个名为ClickCount的变量来存储用户单击Web页面上某个对象的次数。使用变量并不需要了解变量在计算机内存中的地址,只要通过变量名引用变量就可以查看或更改变量的值。在例如:咱们平时玩的游戏都有level,打怪就升级,那个level就是变量
(1)变量定义的 规范:
变量名只能是字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
变量名不能为关键字,比如 and,as,break,class,continue,def,del............
变量名字尽量起个个有意义的名字,比如:name=‘张三’,不要词不达意,比如:aaa='张三'
变量名字不要起过长
变量名字尽量不要起拼音或者汉字
(2)变量应该具有的属性或者特征
name='张三'
id,type,value
id——代表变量的内存地址,为一串数字表示
type——代表变量的数据类型
value——代表等号右边的值
这3个特点缺一个都不叫变量
(3)python的小整数池
在交互模式下python有一个小的整数池,他的范围是[-5,256],这么做的好处是避免浪费空间和资源;
只要是在这个数值内,内存地址都一样;
在pycharm中,pycharm出于对性能的考虑会扩大这个整数池,至于扩大到多少,视内存而定。
五、常量
常量即代表不变的量,其实在python里不存在真正不变的量,只不过潜规则在我们想定义一个常量的时候变量名为大写即为常量:
比如:一个人的年纪不断的增长,那么年纪就叫常量,如果这个人死了,那么他的年纪就被定格在了那一年的年纪上,这个时候年纪就是常量
AGE=60
六、用户与程序(python)交互
首先来说什么是交互,交互就跟人与人对话一样,你有来言,我有去语,能够对话...能够沟通,那么用户怎么跟程序去对话呢?这时候我们可以调用python的一个内置函数,叫:input
#例子
name = input()
print(name)
#如果你想让程序有提示信息
name = input("what's your name?:")
print(name)
七、注释
随着代码越来越多,如果你不写注释的话可能过几天连自己写的代码都不知道写的什么意思,更何况是别人了,因此就需要有注释来提示用户
单行注释可以用#表示,#号右边的为注释内容
如果要多行注释可以用三个单引号:''' ''',左右两边一边1个3引号中间的部分就是注释的内容。
——————————————————————分割线————————————————————————