您的位置:首页 > 编程语言 > Python开发

python学习笔记1:python是什么

2018-07-19 15:42 169 查看

python是什么?

(1)python是一种解释型语言,这就是说,与C(编译型语言)和C的衍生语言不同,python代码在运行之前不需要编译,其他解释型语言还有PHP和Ruby。

计算机不能直接理解高级语言,只能直接理解机器语言,所以计算机如果要运行高级语言编写的程序,必须将高级语言翻译成机器语言(汇编语言),而翻译的方式有两种:一种是编译,一种是解释。两者只是在运行时间上有区别。编译型是在程序运行前,解释型语言是在程序运行时。

解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码,再由解释器对中间代码进行解释运行。由于程序不需要编译,程序运行时才翻译成机器语言,每执行一次,翻译一次,所以效率方面比较低。

编译型语言:源代码编译成机器语言,再由机器运行机器码(二进制)。像C/C++等都是编译型语言。程序在运行之前,需要一个专门的编译器,把程序编译成机器语言,运行时,不需要再进行翻译,直接使用编译的结果就行了。执行效率高,依赖编译器,跨平台性较差。

通过图像介绍一下python语言和Java语言的在运行过程中的翻译流程。

(2)python是一门动态语言,指的是声明变量时,不需要说明变量的类型。

动态语言是在运行的时候确定数据类型的语言,变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。

静态语言是在编译的时候,变量的数据类型即可确定的语言,多数静态类型的语言,要求在使用变量前必须声明数据类型。

(3)python非常适合面向对象编程。因为它支持通过组合和继承的方式定义类。

用组合的形式定义一个类:

 

[code]class People(object):

def __init__(self,name):
self.name=name

class Action(object):

def __init__(self,people):
self.people=people

def eat(self):
print("{name}在吃东西".format(name=self.people.name))

xiao_ming=People('xiaoming')
people_action=Action(xiao_ming)
people_action.eat()

用继承的方式继承一个类:

[code]class Father(object):
def __init__(self):
self.xing='孙'

class Son(Father):
def __init__(self,name):
super(Son,self).__init__()
self.name=name

xiao_ming=Son("明")
print('我的名字是{xing}{name}'.format(xing=xiao_ming.xing,name=xiao_ming.name))

(4)python没有访问说明符,类似于(Java中的public和private等)

在Java中:

修饰词          同一个类          同一个包            子类                所有类
public            允许访问          允许访问       允许访问        允许访问
protected      允许访问         允许访问       允许访问
default           允许访问          允许访问
private           允许访问

不带说明符就是,default。

而python中没有访问说明符。

(5)在python语言中,函数是第一类对象,这指的是他们可以被指定给变量,函数也能返回函数类型,也可以接受函数作为输入,类(class)也是第一类对象。

(6)python代码编写快,但是运行速度比编译语言通常要慢,好在python允许加入基于C语言编写的扩展,因此我们能够优化代码,消除瓶颈。Numpy就是一个很好的例子,它运行的速度非常快,因为很多算术运算其实并不是通过python实现的。

(7)python应用非常广泛--网络应用,自动化,科学建模,大数据应用,等等。它也经常被用作“胶水语言”,帮助其他语言和组件改善运行状况。

(8)python让困难变得简单,因此程序员可以专注于算法和数据结构的设计,而不用处理底层的细节。

 

 

 

阅读更多
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: