1 .到底什么是Python?你能够在回答中与其余技术进行对比(也鼓励这样作)。
答案下面是一些关键点:
Python是一种解释型语言。这就是说,与C语言和C的衍生语言不一样,Python代码在运行以前不须要编译。其余解释型语言还包括PHP和Ruby。
Python是动态类型语言,指的是你在声明变量时,不须要说明变量的类型。你能够直接编写相似x=111和x="I'm a string"这样的代码,程序不会报错。
Python很是适合面向对象的编程(OOP),由于它支持经过组合(composition)与继承(inheritance)的方式定义类(class)。Python中没有访问说明符(access specifier,相似C++中的public和private),这么设计的依据是“你们都是成年人了”。
在Python语言中,函数是第一类对象(first-class objects)。这指的是它们能够被指定给变量,函数既能返回函数类型,也能够接受函数做为输入。类(class)也是第一类对象。
Python代码编写快,可是运行速度比编译语言一般要慢。好在Python容许加入基于C语言编写的扩展,所以咱们可以优化代码,消除瓶颈,这点一般是能够实现的。numpy就是一个很好地例子,它的运行速度真的很是快,由于不少算术运算其实并非经过Python实现的。
Python用途很是普遍——网络应用,自动化,科学建模,大数据应用,等等。它也常被用做“胶水语言”,帮助其余语言和组件改善运行情况。
Python让困难的事情变得容易,所以程序员能够专一于算法和数据结构的设计,而不用处理底层的细节。
为何提这个问题:
若是你应聘的是一个Python开发岗位,你就应该知道这是门什么样的语言,以及它为何这么酷。以及它哪里很差。
打个比方:假如你打算阅读一本外文书,而你不知道这门外语,那么你能够找一名翻译,给他足够的时间让他从头至尾把整本书翻译好,而后把书的母语版交给你阅读;或者,你也马上让这名翻译辅助你阅读,让他一句一句给你翻译,若是你想往回看某个章节,他也得从新给你翻译。 两种方式,前者就至关于咱们刚才所说的编译型:一次把全部的代码转换成机器语言,而后写成可执行文件;然后者就至关于咱们要说的解释型:在程序运行的前一刻,还只有源程序而没有可执行程序;而程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行……因此,解释型程序是离不开解释程序的。""""""(1)动态类型语言:动态类型语言是指在运行期间才去作数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其余的各类脚本语言如VBScript也多少属于动态类型语言。(2)静态类型语言:静态类型语言与动态类型语言恰好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明全部变量的数据类型,C/C++是静态类型语言的典型表明,其余的静态类型语言还有C#、JAVA等。""""""(1)强类型定义语言:强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,若是不通过强制转换,那么它就永远是这个数据类型了。举个例子:若是你定义了一个整型变量a,那么程序根本不可能将a看成字符串类型处理。强类型定义语言是类型安全的语言。(2)弱类型定义语言:数据类型能够被忽略的语言。它与强类型定义语言相反, 一个变量能够赋不一样数据类型的值。"""# 弱类型语言vbs:# a = 1# b = a + "1" + "a" // 结果是11a, 这里a 成了字符串# c = a + 1 // 结果是2, 这里a则是数字型# 强类型语言python:# a = 1# b = str(a)+"1"+"a"# c = a + 1# print(b,type(b))# print(c,type(c)) (完)