目录
Python简史
Python是开源(open source)运动的一个成功案例。
Python起源
Python作者:Guido von Rossum,荷兰人. 05年加入Google.
在13年1月正式从Google离职并正式加入Dropbox,现就职于Dropbox
1989年,为了打发圣诞节假期,Guido开始写Python语言的编译/解释器。Python来自Guido所挚爱的电视剧Monty Python's Flying Circus (BBC1960-1970年代播放的室内情景幽默剧,以当时的英国生活为素材)。他希望这个新的叫做Python的语言,能实现他的理念(一种C和shell之间,功能全面,易学易用,可拓展的语言)。Guido作为一个语言设计爱好者,已经有过设计语言的(不很成功)的尝试。这一次,也不过是一次纯粹的hacking行为。
Python的诞生
1991年,第一个Python编译器(同时也是解释器)诞生。它是用C语言实现的,并能够调用C库(.so文件)。从一出生,Python已经具有了:类(class),函数(function),异常处理(exception),包括表(list)和词典(dictionary)在内的核心数据类型,以及模块(module)为基础的拓展系统。
最初的Python logo: 由Guido的兄弟Just von Rossum设计
Python特性
Python使用c语言开发,拥有以下特性:
1.面向对象的特性
面向对象的程序设计抽象出对象的行为和属性,把行为和属性分离开,但是又合理的组织在一起。它消除了
保护类型、抽象类、接口等面向对象的元素,使得面向对象的概念更容易理解。
2.简单性
没有分号,使用缩进的方式分隔代码,代码简洁,短小,易于阅读。
3.内置的数据结构
类似于Java中集合类的功能。python的数据结构包括元组,列表,字典等。元组相当于“"读”"数组,列表
可以作为可变长度的数组使用,字典相当于java中的hashtable类型。
4.健壮性
提供异常退出机制,能捕获程序的异常情况。
5.跨平台性
python会先先编译成与平台相关的二进制码,然后再解释执行,这种方式和java类似。
6.可拓展性
python是用c开发的语言,因此可以使用c扩展python,可以给python添加新的模块、新的类。同时
python可以嵌入到c,c++语言开发的项目中,使语言具备脚本语言的特性。
7.动态性
python不需要另外声明变量,直接赋值即可以创建一个新的变量
8.强类型语言
python会根据赋值表达式的内容决定变量的数据类型。python在内部建立了管理这些变量的机制,出现在
同一个表达式的不同类型的变量需要做类型转换。
9.应用广泛
python有许多第三方的库支持。例如:PIL库应用于图像处理,numpy库应用于数学计算,wxpython库应
用于GUI程序的设计,Django库应用于web程序的开发等。
Python之禅
要想学好一门编程语言,你就需要接受这门语言的哲学。那么如果你想精通Python,就需要践行
Python背后的设计哲学。
Python之父是荷兰人Guido van Rossum,被誉为历史上最伟大的12名程序员之一。他在设计Python时,目的是设计出一种优美而强大,提供给非专业程序设计师使用的语言,同时采取开放策略,使Python能够完美结合如C 、C++和Java等其他语言。
而对Python哲学的最好阐述,莫过于核心开发者Tim Peters所总结的"python之禅"(The Zen of
Python)了。
启动Python解释器后,输入 import this 就可以看到全文了
>>> import this
python应用场景
1. 网站运维是Python(继Bash,Perl之后)的一大领域。
2. 抓取第三方数据是Python爬虫的领域。
3. 金融数据分析。
4. 网站中许多核心都是C/C++/Java开发的,如Redis,Memcached,ngnix,消息队列,Hadoop等。但是客户端中Python必须列入其中。
5. Python有许多实现(利用其他语言来写Python解释器),不仅仅是CPython。它可以基于Java,C,Python自己,C#,Ruby,Javascript等各个语言制作。可以这么说,Python的底层实现语言是最丰富的,绝对没有之一。所以它可以和C/C++/Java/C#/Ruby/Javascript等各类语言直接交换数据。不仅仅通过REST/JSON/XML交换。Java/C/C#/Ruby/Javascript使用的场景它都可以插足。
python目录,文件操作
os模块有许多方法能创建,删除和更改目录。
mkdir()方法
>>> import os 导入模块
>>> os.mkdir('kk') 创建kk目录
chdir()方法 改变当前工作目录(cd)
>>>os.chdir('kk')
getcwd()方法 显示当前工作目录
>>> os.getcwd()
rmdir()方法 删除目录,只能删除空目录
os.rmdir('dirname')
创建文件
os.mknod('d.txt')
重命名文件
os.rename('d.txt','e.txt')
删除文件
os.remove('e.txt')
【注意】少熬夜,多看书,书到用时方恨少。