关于PyCharm代码不智能提示问题

PyCharm代码不智能提示


如下代码

import socket
import threading


def handle_client_request(ip, client):
    while True:
        recv_data = client.recv(1024)
        if recv_data:
            decode_data = recv_data.decode('gbk')
            print(f'接收到客户端{ip}发送的数据: {decode_data}')
            send_content = '处理中...'
            send_data = send_content.encode('gbk')
            client.send(send_data)
        else:
            print(f'客户端下线了{ip_port}')
            break
    client.close()


if __name__ == '__main__':
    tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)
    tcp_server_socket.bind(('', 8090))
    tcp_server_socket.listen(128)
    while True:
        client_server_socket, ip_port = tcp_server_socket.accept()
        sub_thread = threading.Thread(target=handle_client_request, args=(ip_port, client_server_socket))
        sub_thread.setDaemon(True)
        sub_thread.start()

handle_client_request(ip, client)函数接收了两个形参,但是在函数内使用代码提示功能Basic是无效的,因为通过包裹方式传递的参数args=(ip_port, client_server_socket),没解包之前判断不了参数的类型.
例如:client.是无提示的,即使指定参数类型handle_client_request(ip: tuple, client: socket)使用Basic也是没有效果的

0

1

解决方案


  1. Windows
    使用SmartType智能类型提示即可解决
    2

    3
  1. macOS
    同上
    4
6
6
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,167评论 0 6
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,470评论 0 6
  • 最近在学习Python看了一篇文章写得不错,是在脚本之家里的,原文如下,很有帮助: 一、网络知识的一些介绍 soc...
    qtruip阅读 2,793评论 0 6
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,170评论 1 32
  • 网络 理论模型,分为七层物理层数据链路层传输层会话层表示层应用层 实际应用,分为四层链路层网络层传输层应用层 IP...
    FlyingLittlePG阅读 869评论 0 0