开发python程序用啥编辑器

Python018

开发python程序用啥编辑器,第1张

1、Sublime Text

Sublime Text支持多功能,而且在开发者社区非常受欢迎。Sublime Text有自己的包管理器,开发者可以使用TA来安装组件,插件和额外的样式,所有这些都能提升你的编码体验。

Sublime Text比较适合python新手使用,是开发者中最流行的编辑器之一。Sublime Text支持跨平台、多种语言,而且可以使用其丰富的插件和主题。

优点:轻便、打开速度快、完美支持中文

缺点:需要收费,更新慢,如果不付费,经常跳出购买页面。

2、Pycharm

Pycharm是JetBrains开发的Python IDE。Pycharm拥有一般IDE具备的功能,比如:调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制……还提供了一些很好的功能用于Django开发,同时支持Google App Engine,更酷的是,pycharm支持IronPython。

优点:好用、功能全面,不用担心环境配置的问题。

缺点:对性能要求较高,社区版不支持远程开发功能、数据库支持以及对web开发框架的支持等等。

3、Vim

Vim是vi发展而来的文本编辑器,代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

Vim功能强大,插件种类众多,具有高度的定制化。如果你熟练使用Vim的话,那么你完全可以脱离鼠标,双手在键盘上像弹钢琴一样。

优点:可以脱离鼠标、效率高。

缺点:代码提示没有vscode的多和全,注释css和注释html一样,只不过插入的是/* 和 */。

工具原料:地理编码工具geocoder

用Python实现地理编码方法如下:

一、看一下它都支持哪些公司的地理编码服务:

二、安装

pip install geocoder

三、地理编码

import geocoder

g = geocoder.google("1403 Washington Ave, New Orleans, LA 70130")g = geocoder.arcgis(u"北京市海淀区上地十街10号")g.latlng

输出为

[29.9287839, -90.08421849999999]

也可以查看完整的geojson

g.geojson

输出为

{'bbox': [-90.0855674802915,

  29.9274349197085,

  -90.0828695197085,

  29.9301328802915],

 'geometry': {'coordinates': [-90.08421849999999, 29.9287839],  'type': 'Point'},

 'properties': {'accuracy': u'ROOFTOP',

  'address': u'1403 Washington Ave, New Orleans, LA 70130, USA',  'bbox': [-90.0855674802915,

   29.9274349197085,

   -90.0828695197085,

   29.9301328802915],

  'city': u'New Orleans',

  'confidence': 9,

  'country': u'US',

  'county': u'Orleans Parish',

  'encoding': 'utf-8',

  'housenumber': u'1403',

  'lat': 29.9287839,

  'lng': -90.08421849999999,

  'location': '1403 Washington Ave, New Orleans, LA 70130',  'neighborhood': u'Garden District',

  'ok': True,

  'place': u'ChIJGyFHWc2lIIYRYSoneaXAUiw',

  'postal': u'70130',

  'provider': 'google',

  'quality': u'street_address',

  'state': u'LA',

  'status': 'OK',

  'status_code': 200,

  'street': u'Washington Ave'},

 'type': 'Feature'}

直接用Google尝试查询中文地址时失败

g = geocoder.google(u"北京市海淀区上地十街10号")g.ok

输出为

False

用百度应该没问题,不过我没有申请相应的key。切换到arcgis,能够成功编码g = geocoder.arcgis(u"北京市海淀区上地十街10号")g.latlng

输出为

[40.050934, 116.30079]

逆地理编码

g = geocoder.google([29.9287839, -90.08421849999999], method='reverse')print g.address

print g.city

print g.state

print g.country

输出为

1403 Washington Ave, New Orleans, LA 70115, USANew Orleans

LA

US

换成中国的地址

g = geocoder.google([40.050934, 116.30079], method='reverse')print g.address

print g.city

print g.state

print g.country

输出为

Bai Du Da Sha, Haidian Qu, Beijing Shi, China, 100193Beijing

Beijing Shi

CN

用arcgis的服务试试

g = geocoder.arcgis([40.050934, 116.30079], method='reverse')print g.address

print g.city

print g.state

print g.country

输出为

None

北京市

北京市

CHN

Google转换成的是英文,但地址比较全。arcgis虽然是中文,但是详细的地址居然输出为了None,这有个X用。

其他

geocoder 的功能不止于此,它还可以查IP(包括自己的)。

g = geocoder.ip('199.7.157.0')

print g.latlng

print g.city

g = geocoder.ip('me')

print g.latlng

print g.city

输出为

[43.6934, -79.4857]

Toronto

[51.05, 13.75]

Dresden

查询一个城市的空间包围盒

g = geocoder.arcgis(u"山东")

g.bbox

输出为

{'northeast': [38.976997, 121.976998], 'southwest': [33.022997, 116.022998]}

第一种:ASCII码。是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,它是现今最通用的单字节编码系统,并等同于国际标准IS/IEC

646。

由于计算机是美国人发明的,因此,最早只有127个字母被编码到计算机李,也就是大小写英文字母、数字和一些符号,这个编码表被称为ASCII编码,比如大写字母A的编码是65,小写字母a的编码是97,后128个称为扩展ASCII码。

第二种:GBK和GB2312。能在计算机中显示中文字符是至关重要的,然而ASCII表里一个偏旁部首都没有,所以我们需要一个关于中文和数字对应的关系表,一个字节只能最多表示256个字符,用处理中文显然一个字节是不够的,所以我们需要采用两个字节来表示,所以中国制定了GB2312编码,用来将中文编写进去。

第三种:Unicode。因为各个国家都有一套自己的编码,所以无法避免冲突,因此Unicode诞生了。它可以把所有语言都统一到一套编码里,这样就不会存在乱码问题了,现代操作系统和大多数编程语言都直接支持Unicode。

第四种:UFT-8。基于节约的原则,出现了把Unicode编码转化为可变长编码的UTF-8编码。而UTF-8编码把一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成一个字节,汉字通常是3个字节,只有很生僻的字符才会被编码成4-6个字节,如果你要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。