python---概述
python的主要应用领域
- 云计算:云计算的最火的语言,典型应用OpenStack。
- web开发:众多优秀的web框架,典型地有Django,众多大型网站也是python开发,比如YouTube、豆瓣、春雨医生等。
- 科学运算:典型库Numpy、Pandas、Scipy、Matplotlib等。
- 系统运维:运维人员必备语言,Devops。
- 图像GUI:PyQt、Thinker、Wxpython。
python是什么样的语言?
编译和解释的区别
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行程序,速度很快。
解释器则是只在执行程序时,才一条一条地解释成机器语言给计算机来执行,所以运行速度不如编译后的程序运行的快。
编译型vs解释型
编译型(C、C++、GO)
优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高,可以脱离语言环境独立运行。
缺点:编译之后如需修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码。不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。
解释型(Python、JavaScript、PHP)
优点:有良好的的平台兼容性,在任何环境中都可以运行,前提是安装了解释器。灵活,修改代码的时候可以直接修改,可以快速部署,不需要停机维护。
缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。
python的优缺点
优点:
- 优雅、简单、明确,python程序看上去总是简单易懂的,入门容易。
- 开发效率非常高,python有非常强大的第三方库,基本上想通过计算机实现的任何功能,python官方库都有相对应的模块进行支持。在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子。
- 高级语言:垃圾回收机制等。
- 可移植性:python可被抑制在许多平台上。
- 可扩展性:如果需要一段关键代码运行得更快,或者希望某些算法不公开,可以采用C或C++编写,然后在python的程序中使用。
- 可嵌入性:可以把python嵌入到C、C++程序中,向程序用户提供脚本功能。
缺点:
- 速度慢,python的运行速度相比于C语言确实慢很多。但在大多数情况下用户的无法直接感知的,必须借助测试工具才能体现出来。
- 代码不能加密,因为python是解释型语言,源码都是以名文形式存放的。
- 线程不能利用多CPU问题,这是python被人诟病最多的一个缺点。GIL(Global Interpreter Lock),全局解释器锁,是计算机程序设计语言解释器用于同步线程的工具,使得任何时刻仅由一个线程在运行,python的线程是操作系统的原生线程。一个python解释器进程内有一条主线程,以及多条用户程序的执行线程,即在多核CPU平台上,由于GIL的存在,禁止多线程的并行执行。
python---概述的更多相关文章
- Python爬虫从入门到进阶(1)之Python概述及爬虫入门
一.Python 概述 1.计算机语言概述 (1).语言:交流的工具,沟通的媒介 (2).计算机语言:人跟计算机交流的工具 (3).Python是计算机语言的一种 2.Python编程语言 代码:人类 ...
- Python3笔记001 - 1.1 python概述
第1章 认识python python语言特点 跨平台 开源的 解释型 面向对象 python语言的特点是:以对象为核心组织代码,支持多种编程范式,采用动态类型,自动进行内存回收,并能调用C语言库进行 ...
- 1.1 Python 概述
1.1 Python 概述 1.1.1 了解Python Python 是由荷兰人 Guido Van Rossum 发明的一种面向对象的解释型高级编程语言.Python的设计哲学为 优雅.明确和简单 ...
- Python概述 —变量及运算符
Python概述-变量及运算符 1.变量的构成 2.变量的类型 3.内存模型 4.变量命名规则 5. 算数与逻辑运算符 6.位运算符 #变量的构成 变量名:方便查找 变量值:实际要存储的内容 变量类型 ...
- [每日一讲] Python系列:Python概述
Python 序章 概述 Python 是弱类型动态解释型的面向对象高级语言,其具备面向对象的三大特点:封装.继承.多态.Python 代码运行时,其有一个编译过程,通过编译器生成 .pyc 字节码 ...
- Python概述_软件安装_常见问题
1. Python安装 目前python有2个大版本,2和3,由于2和3语法有差别,现有的许多库都是基于python2开发,本系列文章以python2为主. 1.1 重要概念 1. 动态语言 运行 ...
- Python概述与安装
Python 一门面向对象的解释性语言. Python优点 开发效率高(有丰富的各种类库,不需要重复造轮子):可移植性:解释性:免费开源:交互式(IDLE,代码写一行执行一行) Python缺点 相对 ...
- Python系列:一、Python概述与环境安装--技术流ken
Python简介 Python是一种计算机程序设计语言.是一种动态的.面向对象的脚本语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项 ...
- Python(一)之Python概述
前言:最近学习Python基础,网上找了视频教程,本篇记录下Python概况,学习环境Python2.6. 学习Python首先得会获取Python自带的帮助信息,下面几个实用的内置函数,不管是工作或 ...
- Python概述
1.什么是Python? Python是一种解释型,面向对象,动态数据类型的高级程序设计语言. Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年. 像 ...
随机推荐
- PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
摘要 点云是一种重要的几何数据结构类型.由于其不规则的格式,大多数研究人员将此类数据转化为常规的三维体素网格或图像集合.然而,这使数据变得不必要的庞大,并导致问题.在本文中,我们设计了一种新型的直接处 ...
- LGP7915题解
奇怪的乱搞做法(? 首先我们枚举序列的每一个位置,从这个位置劈开,假设这个位置是 \(i\),那么按照题意模拟,我们能够构造一个最终序列有 \(i\) 个 L 和 \(n-i\) 个 R 的符合题意的 ...
- MySQL8.0降级安装5.7
本文旨在自我学习使用,如有任何疑问请及时联系博主 前言 基于OpenHarmony的FA数字管家服务端 默认情况下,Ubuntu20.04安装MySQL的版本为8.0.但8.0更加严格的加密规则,使得 ...
- 获取ajax动态加载的多个a标签中的 点击的那个a标签对应的值
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 阿里云pypi软件包预警
镜像下载.域名解析.时间同步请点击阿里云开源镜像站 背景 Python库的官方仓库pypi允许开发者自由上传软件包,这会导致某些攻击者利用这点构造恶意包进行供应链攻击,在用户安装包或者引入包时触发恶意 ...
- request的自动urlencode问题解决
今天写盲注脚本的时候,由于题目对空格进行了过滤,所以必须要用%09进行代替,然而当我在脚本中,将payload的空格替换成%09的时候,抓包发现进行了两次编码,导致脚本一直跑不通. 自己在网上也没有找 ...
- 为什么 char 数组比 Java 中的 String 更适合存储密码?
另一个基于 String 的棘手 Java 问题,相信我只有很少的 Java 程序员可以正确回答这个问题.这是一个真正艰难的核心Java面试问题,并且需要对 String 的扎实知识才能回答这个问题. ...
- 如何建立一个JDBC程序?
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
- Springboot 抛出Failed to determine a suitable driver class异常原因
SpringBoot项目,已经依赖了MySQL驱动,却还是无法启动,通过问题排除,如果是启动项目,那么pom值 <packaging>pom</packaging> Faile ...
- 本地存储和cookies之间的区别是什么?
cookies本地存储客户端/服务器端既可以从客户端也可以从服务器端访问数据.每个请求都会发送cookie数据到服务器.只能在本地浏览器端访问数据.服务器无法访问本地存储,除非特意通过POST或GET ...