博主QQ:819594300
博客地址:http://zpf666.blog.51cto.com/
有什么疑问的朋友可以联系博主,博主会帮你们解答,谢谢支持!
一、python简介
1、python介于C语言与shell之间,于1989年由guido van Rossum(龟叔)开发,1991年诞生第一个编辑器。
2、python2.0系列版本只开发到了2.7版本,官方宣布2020年将不再维护2.7,建议用户迁移到3.4及3.4以上的版本
3、现在最新版本是python3.6.1
4、Linux默认自带python2.7.5版本,如果想使用3.x版本则需要手动升级。
二、python的优点
1、简单、易懂:Python的定位是“优雅”、“明确”、“简单”
2、开发效率高:Python有非常强大的第三方库
3、高级语言强大:无需考虑诸如如何管理你的程序使用的内存一类的底层细节
4、可移植性:支持window+Unix+Linux+Mac OS X
5、可扩展性:其他编程语言编写的程序可插入到python使用
6、可嵌入型:可将python插入到其他编程语言中使用
三、python的缺点
1、代码不能加密:python是解释性语言,它的源码都是以明文形式存放的
2、多线程支持不好
3、因为python是解释性语言,在运行时需要解释器解释,所以相对C语言等直接和内核进行交互的语言运行较慢
四、python应用领域
1、数据分析
2、云计算:openstack
3、WEB开发:优秀的WEB框架(Django、flask、tornado)
4、科学运算、人工智能:典型库NumPy, SciPy, Matplotlib, Enthought librarys,pandas
5、系统运维:slatstack(系统自动化配置和管理工具)
Ansible(自动化运维工具)
6、图形开发:wxPython、PyQT、TKinter
五、使用python的主流公司以应用
1、Google公司:
主要产品:
GoogleGroups、Gmail、Google Maps、AlphaGo等
应用程序:
GoogleApp Engine
2、NASA :美国宇航局
3、Dropbox:美国最大的在线云存储网站
4、豆瓣网
5、BitTorrent:bt下载软件客户端
6、gedit:Linux平台的文本编辑器
7、GIMP:Linux平台的图像处理软件(Linux下的PS)
8、知乎(国外的Quora):社交问答网站,国内最大的问答社区
9、AutodeskMaya:3D建模软件
10、YouTube:世界上最大的视频网站
11、Facebook:大量的基础库均通过Python实现的
12、Redhat:世界上最流行的Linux发行版本中的yum包管理工具就是用python开发的。
除了上面的之外,还有搜狐、金山、腾讯、盛大、网易、百度、阿里、淘宝、土豆、新浪、果壳等公司都在使用Python完成各种各样的任务。
六、python3.x系列的主要变化
1、print函数
2、Unicode字符集支持中文
3、除法运算
4、异常
5、xrange
6、八进制字面量表示
7、不等于运算符
8、多个模块被改名(根据PEP8)
9、取消了exec语句,只剩下exec()函数。2.6和2.7版本兼容exec()函数
10、数据类型
11、dict的.keys()、.items 和.values()方法返回迭代器,而之前的iterkeys()等函数都被废弃。同时去掉的还有 dict.has_key(),用 in替代它。
七、python的安装
1、Linux2.7版本:Linux上自带python2.7.5版本,不用安装
2、Linux3.6版本:
如果想在Linux上使用python3.6版本,则按照如下步骤安装:
①安装python3.6依赖包
②下载python3.6
③解压缩并编译安装
说明:1)把Python3.6安装到/usr/local 目录
2)使用make altinstall,如果使用make install,在系统中将会有两个不同版本的Python在/usr/bin/目录中。这将会导致很多问题,而且不好处理。
④python完毕后,各种文件和目录位置如下:
python3.6程序的执行文件:/usr/local/bin/python3.6
python3.6应用程序目录:/usr/local/lib/python3.6
pip3的执行文件:/usr/local/bin/pip3.6
pyenv3的执行文件:/usr/local/bin/pyenv-3.6
⑤更改/usr/bin/python链接
⑥更改yum脚本的python依赖
更改以上所有的文件头:
#!/usr/bin/python改为 #!/usr/bin/python2
⑦修改gnome-tweak-tool配置文件
把#!/usr/bin/python 改为 #!/usr/bin/python2
⑧修改urlgrabber配置文件
#!/usr/bin/python改为 #!/usr/bin/python2
⑨至此python3.6就安装完毕,我们可以查看下版本,确认一下
上图显示是3.6.0版本,不再是默认的2.7.5版本,升级成功。
3、window2.7.13版本
出现上述页面说明python2.7安装成功,现在我们去命令管理器去看一下支不支持python,如果不支持在计算机里添加python安装路径。
即出现如下的页面表示cmd不支持python,如下图所示:
解决办法如下:
在上图中的路径最后加上python的绝对路径,即加上
;C:\Python27即可,注意前面有个分号。然后再去cmd里面输入python就好了。
4、window3.6.0版本
至此windows和linux的几个版本的安装到此就结束了。
八、基础语句
特此申明一下:以下图片,凡是
黑底白字的是python2.7版本的截图;
白底黑字的是python3.6版本的截图。
两者用的都是Windows版本。
1、输出
①单字符串输出
print(“需要输出的内容”)
或者
print(‘需要输出的内容’)
即使用单引号或者双引号都可以
从上面两张图片可以看出,python3.6不支持不带括号的输出,而python2.7则支持全部四张方式。
②多字符串输出
从上面两张图片都可以看出,两个版本可以同时输出多个字符串,中间用逗号隔开,这样结果就可以连城一串输出,但是不能的是,python2.7版本,必须不能带小括号,而python3.6则必须带括号。
③数值输出
在数值输出方面,两个版本都是一样的。对于上面最后一个输出的解释是:对于%(100 + 200=),Python解释器自动计算出结果300,但是,“100 + 200=%d”是字符串而非数学公式,Python把它视为字符串,请自行解释上述打印结果。
2、输入
变量名=raw_input(“提示或说明”)
变量名=input(“提示或说明”)
说明:函数input()或者raw_input()会让程序暂停运行,等待客户通过提示或说明来输入一些内容,当用户输入完内容后,python会将用户输入的内容赋值给变量(本例中是变量name,即把用户输入的dabiaoge赋值给了变量name)
注意:SublimeText编辑器不能运行提示用户输入的程序,但是可以使用该软件来编写提示yonghu输入的程序,然后必须通过终端在运行程序。
3、查看变量类型
说明:变量不仅可以为整数或浮点数,还可以是字符串
type(变量名)
变量类型如下:
str:字符串
bool:布尔型(注:布尔型变量的值只有true真和false假)
NoneType:空值(None是一个特殊常量,None不是0,也不是字符串,None的类型是NoneType,None可以赋予给任何的变量)
Int:整数类型
float:浮点数(通俗的说就是带小数点的数)
4、长整数
说明:pyhton2.7版本在长整数结果后面会有一个“L“,而在python3.6版本则去掉了这个”L“。
5、插入TAB键(\t)和插入换行(\n)
两个版本都一样。
注:一个TAB键等于8个空格。
6、不转义print输出的内容
print(r”\taa\nbb”)
两个版本都一样。
7、一次显示多行
等同于如下格式:
但是建议使用print(’’’xxx
xxx
xxx’’’)
这种格式。
8、在print使用引用功能:引用整数
解释:%引用,d整数;%d引用一个整数,然后%(整数值)就是设置这个整数。
9、运算符
加:+ 减:- 乘:* 除:/ 取余:%
从上面两个图片可以看出,在加减乘方面都是一样的,但是在除法方面,python2.7版本,除法运算的结果只去商,舍弃了余数,并且商是整数;而python3.6版本,除法运算的结果,则完全显示了正确的结果,该有小数的会显示小数,即使没有余数,商数整数,也会以浮点数的方式显示。这是2系列版本和3系列版本的明显的区别。
此外还有一种除法叫地板除:
2.7版本正常的除法和地板除没区别,而3.6版本则有区别,3.6版本的地板除,则显示商的结果,舍掉了余数。
10、查看系统关键字
变量命名规则如下:
- 变量名只能包括字母、数字和下划线。
- 变量名可以使用字母或者下划线开头,但不能以数字开头。
- 变量名不能包含空格,但可以使用下划线来分隔其中的单词。
- 不能使用关键字作为变量名(即用上面的查询方法可以查询到哪个是关键字,变量命名要避免使用关键字)
- 不要使用函数名作为变量名
- 变量名应该即简短又具有描述性
- 慎用小写字母i和大写字母O,应该易被当做数字1和0
- 建议不要使用大写字母,虽然可以用,但是大写字母不易识别