Python现在成为当下最热门的语言,在人们的追捧下python越来越神话了。特别在少儿编程领域,如何让孩子更好的学习。今天瓦力同学和大家一起认知python语言。真正理解python语言的价值。
Python的时间轴Python的发展发生在许多其他的编程语言同时发展的时候,例如Perl,Tcl,Ruby。为了把python放在更加合适的历史角度,从以下的列表中可以更加清晰的看清楚。
ReleaseDate发布时间
Version版本
December,
Implementationstarted
InternalreleasesatCWI
February20,
0.9.0(releasedtoalt.sources)
February,
0.9.1
Autumn,
0.9.2
December24,
0.9.4
January2,
0.9.5(Macintoshonly)
April6,
0.9.6
Unknown,
0.9.7beta
January9,
0.9.8
July29,
0.9.9
January26,
1.0.0
February15,
1.0.2
May4,
1.0.3
July14,
1.0.4
October11,
1.1
November10,
1.1.1
April13,
1.2
October13,
1.3
October25,
1.4
January3,
1.5
October31,
1.5.1
April13,
1.5.2
September5,
1.6
October16,
2.0
April17,
2.1
December21,
2.2
July29,
2.3
November30,
2.4
September16,
2.5
October1,
2.6
December3,
3.0
python的设计理念我想阐述下是什么样的理念指导着我设计的决定和执行python的。首先,python是“专案工作小组”的项目。没有官方的预算,所以有些省时的原则:
1.借鉴其他很有益处的想法;
2.越简单越好;
3.不要太急躁于性能和表现-如果可以的话可以稍后再优化;
4.做好一件事;
5.不要和环境较量,不要执着于流程;
6.不要太过于完美主义,“足够好”就ok;
7.(因此)有时可以偷工减料,特别是如果你能做到正确的时候。
其他的原则的话不是为了省时,因此有时候会有些矛盾:
1.Python的执行不要和一个特定的平台绑定。如果功能的实行不可用的话,核心的代码必须能够在任何的地方运行;
2.不要让用户受到细节的困扰。如果这些细节电脑能够解决的话;
3.支持和鼓励独立于平台的代码的使用。但是不要剥夺平台的一些性能的使用的优势(这和Java是完全相反的);
4.一个复杂的系统必须拥有多级可扩展性。最大化使用者的机会,无论使用者是否熟练;
5.错误不可以是致命的。这意味着只要机器让仍然是工作的话,使用者的代码必须能够从错误的条件中修复;
6.同时,错误必须不能无声无息地处理;
7.Python中的程序错误不能够导致python解析器无法定义的行为。
最后,我还有很多关于好的编程语言设计的想法。但是这里很难去描述。通常这些是围绕着主观的理念:例如简洁,优雅和可读性。
瓦力工厂代码编程学员作品
尽管我会说ABC对于python的影响,但是我想要提到一个可读性的原则。标点符号一定要谨慎使用,和我们的书面英语和中学几何相一致。
TimPeters,一个python的忠实使用者,后来成为了python的核心开发人员。他总结了python的核心,这里我列举一些,其实我们在之前的文章中有提及过。
还原一个真实的python,聆听python之父的演讲
1.美观先行
2.直接明了
3.大道至简
4.可以复杂,但要能够理解,不繁琐
5.平整,最好不用嵌套
6.稀疏不密集
7.责任感很重要
8.特殊案例也不可以特殊到打破规则
9.实用胜于简洁
10.错误不可无声无息
11.不可模棱两可
12.只有一个明显的方式方法,虽然开始并不明显
13.现在胜过从不
14.如果执行很难解释,那这不是一个好的执行。
15.命名空间是个绝好的主意,让我们多利用它。
在很多方面来说,我创造python的设计理念是为了终极成功的主要原因,不是为了至臻完美。随着用户的增加,改进的建议逐渐吸收进语言之中。直到今天,python仍然在不断进化着。
Python纵观Python是当前最流行的的动态编程语言之一,其他的还有Perl,Tcl,PHP和Ruby。尽管python通常被看做是“脚本语言”,可是它确实是一个用来交流的通用编程语言,与Lisp或Smalltalk一样。今天,Python被用于从丢弃脚本到大型可扩展Web服务器的全天候服务,这些服务器提供全天候不间断的服务。它用于GUI和数据库编程,客户端和服务器端Web编程以及应用程序测试。科学家正在使用世界上最快的超级计算机编写应用程序,并由儿童首先学习编程。
当一个人第一次接触到python的时候,通常会因为其代码的样子所吓到。至少从表面上来看是这样。其实和C和Pascal语言代码写下的方式相似。这不是巧合,python的语言有大量借鉴C语言。例如,许多Python的关键字(if,else,while,for等)与C中的相同,Python标识符的命名规则与C,大多数标准操作符的含义与C相同。当然,Python显然不是C语言,它明显不同的一个主要区域是:它不使用大括号来进行语句分组,而是使用缩进。例如:
C语言:
if(ab){
max=b;
}else{
max=a;
}
Python只是完全省去了大括号(连同后缀的分号),并使用以下结构
ifab:
max=b
else:
max=a
瓦力工厂代码编程学员作品
Python与C语言不同的另一个主要领域是动态类型的使用。在C中,变量总是用很明显的方式声明,并给定一个特定的类型,如int或double。然后这个信息被用来执行程序的静态编译时检查以及分配用于存储变量值的存储单元。在Python中,变量只是引用对象的名称。变量在分配之前不需要声明,甚至可以在程序中间改变类型。像其他动态语言一样,所有类型检查都是在运行时由解释器执行,而不是在单独的编译步骤中执行。
Python的原始内置数据类型包括布尔值,数字(机器整数,任意精度整数,实数和复数浮点数)和字符串(8位和Unicode)。这些都是不可变的类型,这意味着值由创建后无法修改的对象表示。复合内置数据类型包括元组(不可变数组),列表(可调整大小的数组)和字典(哈希表)。
对于组织程序,Python支持包(模块和/或包),模块(在单个源文件中组合在一起的相关代码),类,方法和函数;
对于流程控制,它提供if/else,while和高级别的for语句,循环任何“迭代”对象;
对于错误处理,Python使用(不可恢复的)异常。一个raise语句抛出一个异常,try/except/finally语句指定异常处理程序。遇到错误条件时,内置操作会抛出异常。
在Python中,所有可以命名的对象都被称为“第一级”。这意味着函数,类,方法,模块和所有其他命名对象可以在运行时自由传递,检查和放置在各种数据结构(例如列表或字典)中。谈到对象,Python也完全支持面向对象编程,包括用户定义的类,继承和方法的运行时绑定。
Python有一个广泛的标准库,这是其流行的主要原因之一。标准库有多个模块,并且一直在发展。其中一些模块包括正则表达式匹配,标准数学函数,线程,操作系统接口,网络编程,标准互联网协议(HTTP,FTP,SMTP等),电子邮件处理,XML处理,HTML解析和GUI工具包的Tcl/Tk)。
此外,还有非常大量的第三方模块和软件包,其中大部分也是开源的。在这里可以找到Web框架(太多列表!),更多的GUI工具包,高效的数值库(包括许多流行的Fortran包的包装),关系数据库(Oracle,MySQL等)的接口,SWIGC++库作为Python模块),等等。
Python(以及其他动态编程语言)的主要吸引力在于,看起来很复杂的任务往往可以用很少的代码来表示。作为一个例子,下面是一个简单的Python脚本,它提取一个网页,寻找URL引用,并打印出前10个。
importre
importurllib
regex=re.