在PyCharm中如何更好地实现Python代码的智能补全

原创 2017年08月02日 10:47:39

我们在写Python代码时经常会碰到IDE的智能补全功能不执行的情况,比如在PyCharm中写下面一段代码


#!/usr/bin/env python2
# -*- coding: utf-8 -*-

import urllib2

resp = urllib2.urlopen('http://www.baidu.com')

return_html = resp.read() 


当输入resp. 以后IDE并没有按照想象那样弹出resp这个对象的属性和方法列表。

这个就是动态语言的缺点之一,静态分析困难。
只有在 resp = urlurllib2.open('http://www.baidu.com')
这个语句实际运行完成后 resp才被绑定一个类文件的Handler对象。
但是在IDE中编辑时是一种没有运行前静态的情况下,resp这个变量对象实际上是空的,IDE没法类型推断的。

在java之类的静态语言里,每个变量使用前都要显示地类型声明,类的属性方法都是可以被IDE查询到的,所以就比较容易实现智能补全。


想要帮助IDE进行类型推断在Python3中做了一些改进,比如变量的类型声明。



可试用这面三种办法来写代码IDE的智能补全就会更好一些。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-


# 用assert帮助类型推断
import io


def bar(f):
    assert isinstance(f, io.IOBase)
    f.readlines()



# 用显示的类型描述,只在Python3中有效!
def foo(a: str, b: int):


    a.split()


# 在Docstring中类型描述
def bee(l, t):
    """
    :type l: list
    @type t: tuple
    """
    
    l.append()
    t.count()


# 在函数返回值类型描述    
def func_int() -> int:
    return 1

i = func_int()

i.bit_length()




pycharm中代码补全,代码提示功能

那什么,,,,,,是这样的,请先确保你的代码补全功能是打开的。打开操作方式是:file---->power save mode,把这个前面的√号去掉即可。 然后,代码在提示的时候,多打几个字,发现...
  • qq_31713935
  • qq_31713935
  • 2017年09月30日 15:13
  • 3245

python代码编辑器PyCharm快捷键补充

python代码编辑器PyCharm快捷键补充,有些你不一定能查到
  • littlebo01
  • littlebo01
  • 2014年03月07日 15:23
  • 30326

关于pycharm代码无法自动补全的解决方法

永久链接点击打开链接 环境:Ubuntu16.10 +pycharm edu3.5 方法:保持这个没有打钩,网上说,这个是省电模式 为了这个,我差点放弃这个软件。GG了...
  • sunmker
  • sunmker
  • 2017年02月19日 16:40
  • 11023

最全Pycharm教程(18)——Pycharm编辑器功能之代码拼写提示

1、主题   之前我们已经在Getting Started Guide接触了代码拼写提示这一帮助功能,这里我们将详细的介绍它。   拼写提示就是以列表的形式给出当前位置下可用的单词(函数名...
  • u013088062
  • u013088062
  • 2015年12月11日 09:11
  • 24659

Pycharm 自动补全

Pycharm 自动补全: 小白教程 一、保证File-Power Save Mode 处于关闭状态,否则Pycharm一直处于节能状态,无法出现自动提示和补全功能;当其关闭时,Pycharm会有...
  • Overture1994
  • Overture1994
  • 2017年09月03日 10:55
  • 1090

最全Pycharm教程(15)——Pycharm编辑器功能之自动生成格式

最全Pycharm教程(1)——定制外观   最全Pycharm教程(2)——代码风格   最全Pycharm教程(3)——代码的调试、运行   最全Pycharm教程(4)——有关Python...
  • u013088062
  • u013088062
  • 2015年12月10日 16:02
  • 19822

最全Pycharm教程(16)——Pycharm编辑器功能之代码自动生成

1、准备工作   (1)Pycharm版本为2.7或者更高。   (2)已经创建一个工程。   (3)创建Python文件(Alt+Insert→Python File)   ...
  • u013088062
  • u013088062
  • 2015年12月10日 16:37
  • 12018

pycharm快捷键、常用设置、配置管理

http://blog.csdn.net/pipisorry/article/details/39909057本博客一直在同步更新中!内容包含:pycharm学习技巧 Learning tips、Py...
  • pipisorry
  • pipisorry
  • 2014年10月08日 23:47
  • 205511

pycharm 关闭符号自动补全

pycharm 关闭符号自动补全在pychrm中, 快捷键 ctrl+alt+ s 打开软件的系统设置目录顺序如图左侧, 右侧两个选项的勾选 如下图: 其中: insert pair brac...
  • zhemeiyouyong
  • zhemeiyouyong
  • 2017年11月17日 10:34
  • 598

PyCharm取消波浪线、下划线和中划线

PyCharm取消波浪线、下划线和中划线
  • xiemanR
  • xiemanR
  • 2017年05月20日 19:22
  • 4810
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在PyCharm中如何更好地实现Python代码的智能补全
举报原因:
原因补充:

(最多只允许输入30个字)