关于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

你可能感兴趣的:(关于PyCharm代码不智能提示问题)