最近开始学习python,发现这门语言很有意思。本着知其然也要知其所以然的态度,在网上了解了一点,和大家分享一下。
"Life is short, you need Python"
人生苦短,我用python
一、起源
Python的创始人,Guido van Rossum(吉多·范罗苏姆),荷兰人。1982年在阿姆斯特丹大学获得数学和计算机科学硕士学位。后来他在多个研究机构工作,包括在荷兰阿姆斯特丹的国家数学和计算机科学研究学会(CWI),在马里兰州 Gaithersburg 的国家标准及技术研究所(NIST),和维珍尼亚州 Reston 的国家创新研究公司(CNRI)。
2005年12月,吉多·范罗苏姆加入 Google。他用 Python 语言为 Google 写了面向网页的代码浏览工具。
2002年,在比利时布鲁塞尔举办的自由及开源软件开发者欧洲会议上,吉多·范罗苏姆获得了由自由软件基金会颁发的2001年自由软件进步奖。2003年五月,吉多获得了 荷兰 UNIX 用户小组奖。2006年,他被美国计算机协会(ACM)认定为著名工程师。
二、Python是什么
和perl一样,Python是一种脚本语言。由于语法简洁而清晰,比较接近伪代码 ,易于维护,逐渐开始流行起来。
高级计算机语言,规避内存指针等复杂问题
解释性语言,实时显示运行
支持多平台,linux、windows等
三、Python运行环境
由于Python是解释性计算机语言,所以需要解释器将源码翻译成机器语言。Python的运行就需要事先配置Python环境。
RHEL自带Python程序,windows用户需要自己下载安装Python。
要检测是否安装Python ,使用Python -V (V是大写)
[root@localhost ~]# Python -V
Python 2.6.6
可以看出已经安装Python,版本号是2.6.6
如果没安装就不显示类似结果
四、Python语言的特点
1)简单易学
Python语言简洁、优雅,相比其他程序语言(比如:Java,C++等),Python语言更容易阅读和编写。Python语言使用起来很有趣,且该语言更多的是专注于解决方案而不是语法本身。
初学者学Python,不但入门容易,而且将来深入下去,可以编写那些非常非常复杂的程序。
2)开源且免费
Python是一门开源的编程语言,可以免费使用,甚至可以用于商业用途。当然,你也可以提交相关贡献代码。 Python有一个庞大的社区来维护并保持快速发展。
3)可移植性
Python是跨平台的编程语言,它可以运行在 windows、Mac 和 各种 Linux/Unix 系统上。也就是说,假设在 windows 系统下编写的 Python 程序,在 Mac 或 Linux 系统下也是可以运行的。
4)开发效率非常高
Python有非常强大的第三方库,基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
5)高级语言
当你用Python语言编写程序的时候,你无需考虑诸如:如何管理你的程序使用的内存以及垃圾回收一类的底层细节。
6)可扩展性
如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
7)可嵌入性
你可以把Python代码嵌入你的C/C++程序,从而向你的程序用户提供脚本功能。
8)面向对象
Python中的一切都是对象。面向对象编程(OOP)可以帮助您直观地解决复杂的问题。有了OOP,你可以通过创建对象把这些复杂的问题划分成更小的集合。
五、Python语言的应用
5.1 Python语言的应用领域
Python被广泛的应用于诸多领域,比如:
数据科学:数据科学涉及领域很广,涉及到当前火热的人工智能领域。Python的数据科学包括数据分析、数据可视化、数据挖掘、自然语言处理、机器学习、深度学习等。典型的Python库有:Numpy,Scipy,Pandas,Matplotlib,Seaborn,Scikit-learn,tensorflow等。
云计算:典型应用——Python开发的OpenStack
WEB开发:众多优秀的WEB框架,比如:Django、flask、 tornado
网络爬虫:使用Python可以便捷的编写网络爬虫,从网页上爬取相关信息,常用的Python库包括:Requests,BeautifulSoup,Scrapy等。
系统运维:运维人员必备,slatstack(系统自动化配置和管理工具),Ansible(自动化运维工具)
图形界面开发:wxPython、PyQT、TKinter
5.2 Python语言的应用
第一个python脚本(linux平台) ,名为hello.py
#!/usr/bin/python
#create by Young
#2014-6-26
#file name hello.py
name=raw_input("Enter your name\n")
print name+" welcome to python's world"
很简单的一个脚本,
第1行是告诉解释器,python的程序在哪,第2~4行是注释,第5行定义一个name的变量,并从命令行获取赋值,第6行输出变量name。
然后 chmod +x hello.py
运行结果如下:
[root@localhost ~]# python hello.py
Enter your name
Young
Young welcome to python's world
可以看出python的一些语法特点:
1.不需要行尾加分号,一般脚本语言(除了shell),C++、java、perl都需要行尾加分号
2.+号可以是字符串连接符
3.python脚本中以#为开头的是注释
4.print 是python输出函数,raw_input从命令行获取输入
另外:注意Python是大小写敏感的,即print与Print不一样——注意前一个是小写p而后一个是大写P。确保在每一行的开始字符前没有空格或者制表符,如果在name前加一空格
否则会报错,python严格缩进。事实上行首的空白是重要的。它称为缩进。在逻辑行首的空白(空格和制表符)用来决定逻辑行的缩进层次,从而用来决定语句的分组。
这意味着同一层次的语句必须有相同的缩进。每一组这样的语句称为一个块。
[root@localhost ~]# python hello.py
File "hello.py", line 5
name=raw_input("Enter your name\n")
^
IndentationError: unexpected indent
六、Python语言的一些缺点
任何编程语言都有缺点,Python也不例外。比如:速度慢,Python 的运行速度相比C语言确实慢很多,跟JAVA相比也要慢一些,因此这也是很多所谓的大牛不屑于使用Python的主要原因,但其实这里所指的运行速度慢在大多数情况下用户是无法直接感知到的,必须借助测试工具才能体现出来,比如你用C运行一个程序花了0.1s,用Python是0.01s,这样C语言直接比Python快了10s,算是非常夸张了,但是你是无法直接通过肉眼感知的,因为一个正常人所能感知的时间最小单位是0.15-0.4s左右。其实在大多数情况下Python已经完全可以满足你对程序速度的要求,除非你要写对速度要求极高的搜索引擎等,这种情况下,当然还是建议你用C去实现的。
随着硬件设备及计算力的增强,运行速度慢的这个缺点相对来说有所改善。在编写代码所花时间与程序运行所用时间进行平衡后,很多企业都开始选择使用Python。
代码不能加密,因为PYTHON是解释性语言,它的源码都是以名文形式存放的,不过我不认为这算是一个缺点,如果你的项目要求源代码必须是加密的,那你一开始就不应该用Python来去实现。
七、Python2还是Python3
py2.7是2.x系列的最后一个版本,已经停止开发,不再增加新功能。2020年终止支持。所有的最新的标准库的更新改进,只会在3.x的版本里出现。Guido决定清理Python2.x ,并且不再兼容旧版本。
最大的一个改变就是使用Unicode作为默认编码。Pyhton2.x中直接写中文会报错,Python3中可以直接写中文了。
py3比py2更规范统一、去掉了没必要的关键字。Python3.x还在持续改进。所以还是推荐使用Python3.x。
这些就是Python的初步认识。
作者:Young ,小嘉欣_sunny
来源:博客园
原文链接:www.cnblogs.com/tobecrazy/p…
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。