python_简介

python发展史:

自从20世纪90年代初Python语言诞生至今,它已被逐渐广泛应用于系统管理任务的处理和Web编程。

Python的创始人为荷兰人吉多·范罗苏姆 [3]  (Guido van Rossum)。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC 语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是取自英国20世纪70年代首播的电视喜剧《蒙提.派森的飞行马戏团》(Monty Python‘s Flying Circus)。

  • 1989年,为了打发圣诞节假期,Guido开始写Python语言的编译器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。
  • 1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了:类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。
  • Granddaddy of Python web frameworks, Zope 1 was released in 1999
  • Python 1.0 - January 1994 增加了 lambdamapfilter and reduce.
  • Python 2.0 - October 16, 2000,加入了内存回收机制,构成了现在Python语言框架的基础
  • Python 2.4 - November 30, 2004, 同年目前最流行的WEB框架Django 诞生
  • Python 2.5 - September 19, 2006
  • Python 2.6 - October 1, 2008
  • Python 2.7 - July 3, 2010
  • In November 2014, it was announced that Python 2.7 would be supported until 2020, and reaffirmed that there would be no 2.8 release as users were expected to move to Python 3.4+ as soon as possible
  • Python 3.0 - December 3, 2008
  • Python 3.1 - June 27, 2009
  • Python 3.2 - February 20, 2011
  • Python 3.3 - September 29, 2012
  • Python 3.4 - March 16, 2014
  • Python 3.5 - September 13, 2015

字符编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码(python2.x 默认ascill;python3.x 默认utf-8)

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

关于中文

为了处理汉字,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文Windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill),所以需要转码:

# -*- coding: utf-8 -*-

print "hello world"

十进制代码


十六进制代码


MCS 字符或缩写


DEC 多国字符名


ASCII 控制字符 1


0


0


NUL


空字符


1


1


SOH


标题起始 (Ctrl/A)


2


2


STX


文本起始 (Ctrl/B)


3


3


ETX


文本结束 (Ctrl/C)


4


4


EOT


传输结束 (Ctrl/D)


5


5


ENQ


询问 (Ctrl/E)


6


6


ACK


认可 (Ctrl/F)


7


7


BEL


铃 (Ctrl/G)


8


8


BS


退格 (Ctrl/H)


9


9


HT


水平制表栏 (Ctrl/I)


10


0A


LF


换行 (Ctrl/J)


11


0B


VT


垂直制表栏 (Ctrl/K)


12


0C


FF


换页 (Ctrl/L)


13


0D


CR


回车 (Ctrl/M)


14


0E


SO


移出 (Ctrl/N)


15


0F


SI


移入 (Ctrl/O)


16


10


DLE


数据链接丢失 (Ctrl/P)


17


11


DC1


设备控制 1 (Ctrl/Q)


18


12


DC2


设备控制 2 (Ctrl/R)


19


13


DC3


设备控制 3 (Ctrl/S)


20


14


DC4


设备控制 4 (Ctrl/T)


21


15


NAK


否定接受 (Ctrl/U)


22


16


SYN


同步闲置符 (Ctrl/V)


23


17


ETB


传输块结束 (Ctrl/W)


24


18


CAN


取消 (Ctrl/X)


25


19


EM


媒体结束 (Ctrl/Y)


26


1A


SUB


替换 (Ctrl/Z)


27


1B


ESC


换码符


28


1C


FS


文件分隔符


29


1D


GS


组分隔符


30


1E


RS


记录分隔符


31


1F


US


单位分隔符


ASCII 特殊和数字字符


32


20


SP


空格


33


21


!


感叹号


34


22


"


引号 (双引号)


35


23


#


数字符号


36


24


$


美元符


37


25


%


百分号


38


26


&


和号


39


27



省略号 (单引号)


40


28


(


左圆括号


41


29


)


右圆括号


42


2A


*


星号


43


2B


+


加号


44


2C


,


逗号


45


2D


--


连字号或减号


46


2E


.


句点或小数点


47


2F


/


斜杠


48


30


0



49


31


1


1


50


32


2


2


51


33


3


3


52


34


4


4


53


35


5


5


54


36


6


6


55


37


7


7


56


38


8


8


57


39


9


9


58


3A


:


冒号


59


3B


;


分号


60


3C


<


小于


61


3D


=


等于


62


3E


>


大于


63


3F


?


问号


ASCII 字母字符


64


40


@


商业 at 符号


65


41


A


大写字母 A


66


42


B


大写字母 B


67


43


C


大写字母 C


68


44


D


大写字母 D


69


45


E


大写字母 E


70


46


F


大写字母 F


71


47


G


大写字母 G


72


48


H


大写字母 H


73


49


I


大写字母 I


74


4A


J


大写字母 J


75


4B


K


大写字母 K


76


4C


L


大写字母 L


77


4D


M


大写字母 M


78


4E


N


大写字母 N


79


4F


O


大写字母 O


80


50


P


大写字母 P


81


51


Q


大写字母 Q


82


52


R


大写字母 R


83


53


S


大写字母 S


84


54


T


大写字母 T


85


55


U


大写字母 U


86


56


V


大写字母 V


87


57


W


大写字母 W


88


58


X


大写字母 X


89


59


Y


大写字母 Y


90


5A


Z


大写字母 Z


91


5B


[


左中括号


92


5C


\


反斜杠


93


5D


]


右中括号


94


5E


^


音调符号


95


5F


_


下划线


96


60


`


重音符


97


61


a


小写字母 a


98


62


b


小写字母 b


99


63


c


小写字母 c


100


64


d


小写字母 d


101


65


e


小写字母 e


102


66


f


小写字母 f


103


67


g


小写字母 g


104


68


h


小写字母 h


105


69


i


小写字母 i


106


6A


j


小写字母 j


107


6B


k


小写字母 k


108


6C


l


小写字母 l


109


6D


m


小写字母 m


110


6E


n


小写字母 n


111


6F


o


小写字母 o


112


70


p


小写字母 p


113


71


q


小写字母 q


114


72


r


小写字母 r


115


73


s


小写字母 s


116


74


t


小写字母 t


117


75


u


小写字母 u


118


76


v


小写字母 v


119


77


w


小写字母 w


120


78


x


小写字母 x


121


79


y


小写字母 y


122


7A


z


小写字母 z


123


7B


{


左大括号


124


7C


|


垂直线


125


7D


}


右大括号 (ALTMODE)


126


7E


~


代字号 (ALTMODE)


127


7F


DEL


擦掉 (DELETE)


控制字符


128


80


 


[保留]


129


81


 


[保留]


130


82


 


[保留]


131


83


 


[保留]


132


84


IND


索引


133


85


NEL


下一行


134


86


SSA


被选区域起始


135


87


ESA


被选区域结束


136


88


HTS


水平制表符集


137


89


HTJ


对齐的水平制表符集


138


8A


VTS


垂直制表符集


139


8B


PLD


部分行向下


140


8C


PLU


部分行向上


141


8D


RI


反向索引


142


8E


SS2


单移 2


143


8F


SS3


单移 3


144


90


DCS


设备控制字符串


145


91


PU1


专用 1


146


92


PU2


专用 2


147


93


STS


设置传输状态


148


94


CCH


取消字符


149


95


MW


消息等待


150


96


SPA


保护区起始


151


97


EPA


保护区结束


152


98


 


[保留]


153


99


 


[保留]


154


9A


 


[保留]


155


9B


CSI


控制序列引导符


156


9C


ST


字符串终止符


157


9D


OSC


操作系统命令


158


9E


PM


秘密消息


159


9F


APC


应用程序


其他字符


160


A0


 


[保留] 2


161


A1


¡


反向感叹号


162


A2


¢


分币符


163


A3


£


英磅符


164


A4


 


[保留] 2


165


A5


¥


人民币符


166


A6


 


[保留] 2


167


A7


§


章节符


168


A8


¤


通用货币符号 2


169


A9


©


版权符号


170


AA


ª


阴性顺序指示符


171


AB


«


左角引号


172


AC


 


[保留] 2


173


AD


 


[保留] 2


174


AE


 


[保留] 2


175


AF


 


[保留] 2


176


B0


°


温度符


177


B1


±


加/减号


178


B2


²


上标 2


179


B3


³


上标 3


180


B4


 


[保留] 2


181


B5


µ


微符


182


B6



段落符,pilcrow


183


B7


·


中点


184


B8


 


[保留] 2


185


B9


¹


上标 1


186


BA


º


阳性顺序指示符


187


BB


»


右角引号


188


BC


¼


分数四分之一


189


BD


½


分数二分之一


190


BE


 


[保留] 2


191


BF


¿


反向问号


192


C0


À


带重音符的大写字母 A


193


C1


Á


带尖锐重音的大写字母 A


194


C2


Â


带音调符号的大写字母 A


195


C3


Ã


带代字号的大写字母 A


196


C4


Ä


带元音变音 (分音符号) 的大写字母 A


197


C5


Å


带铃声的大写字母 A


198


C6


Æ


大写字母 AE 双重元音


199


C7


Ç


带变音符号的大写字母 C


200


C8


È


带重音符的大写字母 E


201


C9


É


带尖锐重音的大写字母 E


202


CA


Ê


带音调符号的大写字母 E


203


CB


Ë


带元音变音 (分音符号) 的大写字母 E


204


CC


Ì


带重音符的大写字母 I


205


CD


Í


带尖锐重音的大写字母 I


206


CE


Î


带音调符号的大写字母 I


207


CF


Ï


带元音变音 (分音符号) 的大写字母 I


208


D0


 


[保留] 2


209


D1


Ñ


带代字号的大写字母 N


210


D2


Ò


带重音符的大写字母 O


211


D3


Ó


带尖锐重音的大写字母 O


212


D4


Ô


带音调符号的大写字母 O


213


D5


Õ


带代字号的大写字母 O


214


D6


Ö


带元音变音 (分音符号) 的大写字母 O


215


D7


OE


大写字母 OE 连字 2


216


D8


Ø


带斜杠的大写字母 O


217


D9


Ù


带重音符的大写字母 U


218


DA


Ú


带尖锐重音的大写字母 U


219


DB


Û


带音调符号的大写字母 U


220


DC


Ü


带元音变音 (分音符号) 的大写字母 U


221


DD


Y


带元音变音 (分音符号) 的大写字母 Y


222


DE


 


[保留] 2


223


DF


ß


德语高调小写字母 s


224


E0


à


带重音符的小写字母 a


225


E1


á


带尖锐重音的小写字母 a


226


E2


â


带音调符号的小写字母 a


227


E3


ã


带代字号的小写字母 a


228


E4


ä


带元音变音 (分音符号) 的小写字母 a


229


E5


å


带铃声的小写字母 a


230


E6


æ


小写字母 ae 双重元音


231


E7


ç


带变音符号的小写字母 c


232


E8


è


带重音符的小写字母 e


233


E9


é


带尖锐重音的小写字母 e


234


EA


ê


带音调符号的小写字母 e


235


EB


ë


带元音变音 (分音符号) 的小写字母 e


236


EC


ì


带重音符的小写字母 i


237


ED


í


带尖锐重音的小写字母 i


238


EE


î


带音调符号的小写字母 i


239


EF


ï


带元音变音 (分音符号) 的小写字母 i


240


F0


 


[保留] 2


241


F1


ñ


带代字号的小写字母 n


242


F2


ò


带重音符的小写字母 o


243


F3


ó


带尖锐重音的小写字母 o


244


F4


ô


带音调符号的小写字母 o


245


F5


õ


带代字号的小写字母 o


246


F6


ö


带元音变音 (分音符号) 的小写字母 o


247


F7


oe


小写字母 oe 连字 2


248


F8


ø


带斜杠的小写字母 o


249


F9


ù


带重音符的小写字母 u


250


FA


ú


带尖锐重音的小写字母 u


251


FB


û


带音调符号的小写字母 u


252


FC


ü


带元音变音 (分音符号) 的小写字母 u


253


FD


ÿ


带元音变音 (分音符号) 的小写字母 y 2


254


FE


 


[保留] 2


255


FF


 


[保留] 2

原文地址:https://www.cnblogs.com/wuya666/p/12580439.html

时间: 2024-10-14 02:03:08

python_简介的相关文章

Android网络通讯简介

网络通信应该包含三部分的内容:发送方.接收方.协议栈.发送方和接收方是参与通信的主体,协议栈是发送方和接收方进行通信的契约.按照服务类型,网络通信可分为面向连接和无连接的方式.面向连接是在通信前建立通信链路,而通信结束后释放该链路.无连接的方式则不需要在通信前建立通信连接,这种方式不保证传输的质量. Android提供了多种网络通信的方式,如Java中提供的网络编程,在Android中都提供了支持.Android中常用的网络编程方式如下: 针对TCP/IP协议的Socket和ServerSock

微信红包的架构设计简介

@来源于QCon某高可用架构群整理,整理朱玉华. 背景:有某个朋友在朋友圈咨询微信红包的架构,于是乎有了下面的文字(有误请提出,谢谢) 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量. 微信的金额什么时候算? 答:微信金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计算,不需要预算空间存储.. 采取实时计算金额的考虑:预算需要占存储,实时效率很高,预算才效率低. 实时性:为什么明明抢到红包,点开后发现没有? 答:2014年的红包一点开就知道金额,分两次操作

JSON 简介

ylbtech-JSON: JSON 简介 JSON:JavaScript Object Notation(JavaScript 对象表示法) JSON是存储和交换文本信息的语法,类似 XML. JSON 比 XML 更小.更快.更易解析. JSON 实例 { "employee":[ {"firstName":"John","lastName":"Doe"}, {"firstName"

Docker简介

Docker简介 什么是Docker: 正所谓Docker的英文本意为"搬运工",所以在我们的世界里,可以理解为Docker搬运的是装满任意类型的APP的集装箱,开发者可以通过Docker将APP变成一种标准化的.可移动植的.自动管理的组件.它用一种新的方式实现了轻量级的虚拟机,专业术语成为应用容器(Application Container) Docker的优势: 1.利用率高 ·Docker对系统资源的利用率很高,一台主机可以同时运行数千个Docker容器 2.可以快速的交付应用程

kafka入门:简介、使用场景、设计原理、主要配置及集群搭建(转)

问题导读: 1.zookeeper在kafka的作用是什么? 2.kafka中几乎不允许对消息进行"随机读写"的原因是什么? 3.kafka集群consumer和producer状态信息是如何保存的? 4.partitions设计的目的的根本原因是什么? 一.入门 1.简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现.k

Quartz.NET简介及入门指南

Quartz.NET简介 Quartz.NET是一个功能完备的开源调度系统,从最小的应用到大规模的企业系统皆可适用. Quartz.NET是一个纯净的用C#语言编写的.NET类库,是对非常流行的JAVA开源调度框架 Quartz 的移植. 入门指南 本入门指南包括以下内容: 下载 Quartz.NET 安装 Quartz.NET 根据你的特定项目配置 Quartz 启动一个样例程序 下载和安装 你可以下载 zip 文件或使用 Nuget 程序包.Nuget 程序包只包含 Quartz.NET 运

ASP.Net简介、IIS服务器和Repeater重复器

简介:ASP.NET - 制作网站应用程序的技术 WebForm -出来时间比较早,敏捷.便捷开发,封装一些控件,慢慢发现一些控件做的挺好,真正使用没有那么敏捷 MVC -出来时间比较晚 什么东西? winform 界面 - 后台 - 数据库 共同组合出来的程序:ASP.NET 界面(HTML+CSS+JS) - 后台 - 数据库 运行机制:winform - 程序是安装在用户的电脑上,程序是运行在用户电脑上的.net Framework框架上的 ASP.NET - 通过浏览器向服务器发送请求,

CloudFoundry in 1 Box简介:PCF-Dev篇

在<CloudFoundry in 1 Box简介:Bosh-lite篇>我们介绍了Bosh-lite的架构和部署.在本篇中,我们将详细描述另一个CloudFoundry in 1 Box解决方案PCF-Dev. 1PCF-dev简介 PCF是Pivotal发行的Cloud Foundry商业版,PCF-Dev原名MicroPCF,是Pivotal为PCF的应用开发人员准备的一款App单虚拟机版的CloudFoundry.但是,麻雀虽小,五脏俱全.PCF-Dev虽然可以在仅仅一台虚拟式上即可运

1、elasticsearch简介

1.elasticsearch简介 中文帮助文档地址:http://es.xiaoleilu.com/ • Elasticsearch是一个基于Lucene的实时的分布式搜索和分析引擎.设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便.基于RESTful接口. – 普通请求是...get?a=1 – rest请求....get/a/1 • Elasticsearch的用户 – GitHub,Wikipedia,ebay等... • ES VS Solr – 接口 • 类似web