标签: typing

如何打字更快

我在过去的几年中输入了大约75wpm,但我总是想知道人们如何键入+ 100wpm.

我已经搜索过,但我主要找到键入导师,教你打字..而不是教你打字更快.到目前为止,我遇到的唯一提示是学习dvorak.

是否有练习或提示帮助突破75wpm墙?

performance touch-typing typing wpm

23
推荐指数
7
解决办法
1万
查看次数

为 Callable 类型提示指定 *args

指定 Callable 变量作为参数的最佳方法是fn什么*my_args?像这样:

def test(fn: Callable([Tuple[any]], None),
         *my_args: any) -> None:
    fn(*myargs)
Run Code Online (Sandbox Code Playgroud)

python typing type-hinting

22
推荐指数
2
解决办法
1万
查看次数

使用制表符作为空格时删除制表符

我知道一般标签与空间的东西和山丘一样古老,主要归结为个人偏好/坚持团队的风格,我只是想问一个关于在Visual Studio中使用空格的实际问题.有一些关于标签的事情让我感到烦恼,我不介意在我们是一个小团队时换到空格.首先编写代码并没有什么不同,但这意味着你必须删除/退格4次我之前按过一次.

是否有任何简单的方法可以轻松删除标签大小的空格(除了用鼠标拖动等)或者如果你已经完成了转换,那么它最终是不会打扰你的?

tabs spaces typing visual-studio

21
推荐指数
2
解决办法
2万
查看次数

什么是检查对象是否是打字的正确方法.通用?

我正在尝试编写验证类型提示的代码,为了做到这一点,我必须找出注释是什么类型的对象.例如,考虑一下该片段应该告诉用户期望的值是什么类型:

import typing

typ = typing.Union[int, str]

if issubclass(typ, typing.Union):
    print('value type should be one of', typ.__args__)
elif issubclass(typ, typing.Generic):
    print('value type should be a structure of', typ.__args__[0])
else:
    print('value type should be', typ)
Run Code Online (Sandbox Code Playgroud)

这应该打印"值类型应该是(int,str)之一",而是抛出异常:

Traceback (most recent call last):
  File "untitled.py", line 6, in <module>
    if issubclass(typ, typing.Union):
  File "C:\Python34\lib\site-packages\typing.py", line 829, in __subclasscheck__
    raise TypeError("Unions cannot be used with issubclass().")
TypeError: Unions cannot be used with issubclass().
Run Code Online (Sandbox Code Playgroud)

isinstance 也不起作用:

>>> isinstance(typ, typing.Union)
Traceback (most recent call last):
  File …
Run Code Online (Sandbox Code Playgroud)

python generics typing

21
推荐指数
3
解决办法
2683
查看次数

如何使用支持简单类型和属性的字段声明协议?

(相关但不重复:如何注释可以作为属性实现的属性?

我想创建一个Protocol,其中的字段可以通过简单类型和属性来实现。例如:

class P(Protocol):
    v: int


@dataclass
class Foo(P):
    v: int


class Bar(P):
    @property
    def v(self) -> int: # ERROR
        return
Run Code Online (Sandbox Code Playgroud)

但上面的代码没有进行类型检查。我应该如何修复它?

注意:我想解决这个问题而不重写FooBar,因为FooBar不是我实现的。

根据这个问题,下面的代码不是解决方案,因为只读成员property和简单成员具有细微不同的语义。

class P(Protocol):
    @property
    def v(self) -> int: # declare as property
        ...
Run Code Online (Sandbox Code Playgroud)

Protocol由于差异,皮赖特否认了这一点。

python typing mypy pyright

21
推荐指数
1
解决办法
9740
查看次数

使用Mac上的iTerm2,如何在命令行中删除光标中的单词?

使用Mac OS X 10.6.8上的iTerm2 1.0.0,我想从光标删除到单词的下一个结尾,即向前删除一个单词.我试过Alt+ d但这会键入delta运算符符号?并且不会删除.如何压制输入却让它删除?

macos bash typing special-characters iterm2

20
推荐指数
6
解决办法
9819
查看次数

枚举值的Python类型注释

我有这段代码:

import enum


class Color(enum.Enum):
    RED = '1'
    BLUE = '2'
    GREEN = '3'


def get_color_return_something(some_color):
    pass
Run Code Online (Sandbox Code Playgroud)

some_color如果我想从Color枚举中接收值(例如:),如何在此函数中的变量中正确添加类型注释Color.RED

python typing type-hinting python-3.x type-annotation

20
推荐指数
3
解决办法
5283
查看次数

用于代码编辑的眼动追踪

是否有一个像样的眼动追踪替换鼠标进行代码编辑

我想释放鼠标,但继续使用键盘编辑代码.

在做了一些研究之后,我得出结论,适当的眼动追踪硬件很昂贵.使用网络摄像头或高分辨率摄像机似乎是最可行的选择.

遗憾的是,基于图像的跟踪(与红外线跟踪相反)限制了准确性,因此并非所有功能都可行.

所需的眼动追踪IDE功能:

  • 页面滚动
  • 标签选择
  • 设置光标位置
  • 使用键盘选择以注视为中心的文本

一个类似的问题建议Opengazer的摄像头,但我在加快基本的文本编辑特别感兴趣.任何建议都表示赞赏,特别是如果您有眼动追踪和实际使用案例的经验.

mouse usability typing human-computer-interface eye-tracking

19
推荐指数
1
解决办法
4417
查看次数

如何通过python 3.5输入模块键入提示collections.OrderedDict

我想使用一个OrderedDict,其中键是一个枚举,并且该项是某个类.

我如何使用输入模块来暗示这一点?什么是这个暗示的namedtuple ::

Move = typing.NamedTuple('Move', [('actor', Actor), ('location', Location)])
Run Code Online (Sandbox Code Playgroud)

python typing python-3.5

19
推荐指数
2
解决办法
1693
查看次数

在类型别名中使用泛型

我当前的类型注释看起来类似于以下内容,我想使用类型别名来避免重复太多:

类具有类变量,可以是:

  • 某些指定类型,或
  • 返回相同类型的函数(带有参数)。
class Foo(object):
  state:  ClassVar[Union[str, Callable[[SomeObject], str]]]  # str or func->str
  number: ClassVar[Union[int, Callable[[SomeObject], int]]]  # int or func->int
  foobar: ClassVar[Union[bool, Callable[[SomeObject], bool]]] # bool or func->bool
# end class
Run Code Online (Sandbox Code Playgroud)

为了完整起见,这里是一个示例实现:

class FooBar(Foo):
   state = "something"
   number = lambda x: int(x.bla)
   
   @classmethod
   def foobar(cls, x):
     return x.blabla == cls.state
   # end def
# end class
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何制作可订阅的泛型。我正在寻找类似的东西:

ClassValueOrCallable = lambda T: ClassVar[Union[T, Callable[[SomeObject], T]]]

class Foo(object):
  state:  ClassValueOrCallable(str)
  number: ClassValueOrCallable(int)
  foobar: ClassValueOrCallable(bool)
Run Code Online (Sandbox Code Playgroud)

编辑:
按照mypy …

python generics typing python-3.x

19
推荐指数
1
解决办法
1万
查看次数