This answer显示了如何在PyCharm中为列表使用类型提示。但是是否可以暗示PyCharm列表中存在哪些对象?我知道python中的列表可以具有不同类型的对象。但是仅出于自动补全的目的,我想要这个。像假设的一样,如果我的list
中的numpy.ndarrays
是obj_list[0].
,那么我可以暗示一下,当我执行numpy.ndarray
时,PyCharm会为我自动填充 $insert_on_duplicate_update_query = "INSERT INTO test (`store_client_id`,`customer_id`,`first_name`,`last_name`,`email`,`created_on`,`updated_on`,dob) VALUES('1','123','abc','xyz','abc@hotmail.com','2018-10-12 00:00:02','2018-10-12 00:00:02','NULL') ON DUPLICATE KEY UPDATE `store_client_id`='1',`customer_id`='123',`first_name`='abc',`last_name`='xyz',`email`='abc@hotmail.com',`updated_on`='2018-10-12 00:00:02',dob='null';";
$insert_on_duplicate_update_query = str_replace(array("'NULL'","'null'"), null, $insert_on_duplicate_update_query);
echo $insert_on_duplicate_update_query;
吗?
谢谢
答案 0 :(得分:3)
Pycharm确实对此提供了一些支持,但目前尚不完善(我正在使用版本2018.2.4)。
对于大多数类型,它都能很好地工作(已测试内置类型和一些简单的自定义类):
# hint type in function document:
def func(a):
"""
:param a:
:type a list[str]
:return:
"""
a[0] # will autocomplete
# another way, use `typing` module
from typing import List
def func(a: List[str]):
a[0] # will autocomplete
不幸的是,这两种方法现在都不适用于numpy类型。 Pycharm将抱怨cannot find reference ndarray in __init__.py
。