博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之路【第二篇】:Python简介、解释器与编码
阅读量:7105 次
发布时间:2019-06-28

本文共 1603 字,大约阅读时间需要 5 分钟。

python的诞生

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。  

最新的TIOBE排行榜,Python赶超PHP占据第五!!!人生苦短,我用python,相信选择python这条路不会错,并且这条路也会走的很远!

Python应用领域:

  • 数据分析
  • 组件集成
  • 网络服务
  • 图像处理
  • 数值计算
  • 科学计算
  • .............

互联网公司目前使用Python做的事情主要有:

  • 自动化运维
  • 自动化测试
  • 大数据分析
  • 爬虫
  • Web开发
  • ...............

使用Python的互联网公司:

  • Youtube
  • Dropbox
  • 中国知乎
  • 豆瓣
  • 谷歌
  • 雅虎
  • Facebook
  • NASA
  • 百度
  • 腾讯
  • 汽车之家
  • 美团
  • ..............

为什么Python这么受青睐?

  Python的类库齐全并且使用简洁,如果要实现同样的功能,Python 10行代码可以解决,C可能就需要100行甚至更多.

  Linux原装Python,其他语言没有;

  但是就速度而言,python并没有优势,考虑速度的话,还是得考虑C语言,代码编译得到 机器码 ,机器码在处理器上直接执行,每一条指令控制CPU工作

  其他语言是代码首先编译成字节码,虚拟机执行字节码并转换成机器码后再在处理器上执行

Python种类:

  • CPython:  Python的官方版本,使用C语言实现,使用最为广泛,CPython实现会将源文件(py文件)转换成字节码文件(pyc文件),然后运行在Python虚拟机上。
  • Jython:     Python的Java实现,Jython会将Python代码动态编译成Java字节码,然后在JVM上运行。
  • IronPython:   Python的C#实现,IronPython将Python代码编译成C#字节码,然后在CLR上运行。(与Jython类似)
  • PyPy:            Python实现的Python,将Python的字节码字节码再编译成机器码。
  • 此外还有RubyPython等其他python

解释器:

#!/usr/bin/env python 

其实这句在linux里面有用,在windows里面没用,写上这句之后,用来指定python的解释器在什么地方,以后在linux终端执行python程序 时,就不用python name.py了,

直接./name.py即可,在linux下,python位于/usr/bin这个目录下,而至于在代码里加上env,是为了兼容

编码: 

ASCII码(所有的英文,字符数字,都八位来表示)

万国码unicode(最少用2个字节,对于中文的汉字,用三个字节来表示),但万国码最大的弊端是最少用两个字节,也就是说即使是英文字母,也要至少用两个字节,浪费了空间

所以后来出现了对unicode的一个加工,utf-8编码

utf-8,对于英文,数字,特殊字符等用1个字节表示,欧洲:2个字节,中文:3个字节,也就是说对unicode里面的字符进行了划分,就这样节省了空间

GBK与utf-8类似,GBK用2个字节来表示中文

GB2312与utf-8类似

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

这句话不加的话,就默认用ascii码了

在python2.7代码中,在顶部加上这两行代码,一行是解释器的代码,一行是编码的代码

在python3的代码中coding:utf-8这行代码就不需要加了,因为在2.7的时候还是默认ASCII码,到了3的时候就已经默认是utf-8编码了

windows命令行下的编码是GBK的

 

转载于:https://www.cnblogs.com/ronghe/p/8278951.html

你可能感兴趣的文章
第159天:前端知识体系框架
查看>>
Spring AOP注解为什么失效?90%Java程序员不知道
查看>>
Json学习
查看>>
Airbnb: React Native 从选择到放弃
查看>>
Eclipse中Tomcat配置问题
查看>>
Linux下使用split按行数进行切割
查看>>
盘点2015年英特尔旧金山IDF峰会上的黑科技
查看>>
SQL性能优化
查看>>
U盘安装Ubuntu 16.04出现:Failed to load ldlinux.c32
查看>>
mysql中的主从复制slave-skip-errors参数使用方法
查看>>
Linux安装JIRA6.3.6以及安装破解汉化插件
查看>>
一个HTTP需要经过哪些步骤
查看>>
Finite State Transducers
查看>>
慧聪电子网战略升级 玩转电子产业供应链服务之道
查看>>
Javascript定时器(三)——setTimeout(func, 0)
查看>>
Git基础入门(七)Git撤销操作和远程仓库管理
查看>>
以毒攻毒?牛津大学研究人员用VR治愈被迫害妄想症
查看>>
巧用Powercfg命令 - 玩转Windows 7中的电源管理
查看>>
Java工具创建密钥库,用于Unity 3D打包、签名、发布
查看>>
《你不知道的JavaScript》整理(二)——this
查看>>