我在过去的几年中输入了大约75wpm,但我总是想知道人们如何键入+ 100wpm.
我已经搜索过,但我主要找到键入导师,教你打字..而不是教你打字更快.到目前为止,我遇到的唯一提示是学习dvorak.
是否有练习或提示帮助突破75wpm墙?
指定 Callable 变量作为参数的最佳方法是fn什么*my_args?像这样:
def test(fn: Callable([Tuple[any]], None),
*my_args: any) -> None:
fn(*myargs)
Run Code Online (Sandbox Code Playgroud) 我知道一般标签与空间的东西和山丘一样古老,主要归结为个人偏好/坚持团队的风格,我只是想问一个关于在Visual Studio中使用空格的实际问题.有一些关于标签的事情让我感到烦恼,我不介意在我们是一个小团队时换到空格.首先编写代码并没有什么不同,但这意味着你必须删除/退格4次我之前按过一次.
是否有任何简单的方法可以轻松删除标签大小的空格(除了用鼠标拖动等)或者如果你已经完成了转换,那么它最终是不会打扰你的?
我正在尝试编写验证类型提示的代码,为了做到这一点,我必须找出注释是什么类型的对象.例如,考虑一下该片段应该告诉用户期望的值是什么类型:
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) (相关但不重复:如何注释可以作为属性实现的属性?)
我想创建一个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)
但上面的代码没有进行类型检查。我应该如何修复它?
注意:我想解决这个问题而不重写Foo和Bar,因为Foo和Bar不是我实现的。
根据这个问题,下面的代码不是解决方案,因为只读成员property和简单成员具有细微不同的语义。
class P(Protocol):
@property
def v(self) -> int: # declare as property
...
Run Code Online (Sandbox Code Playgroud)
Protocol由于差异,皮赖特否认了这一点。
使用Mac OS X 10.6.8上的iTerm2 1.0.0,我想从光标删除到单词的下一个结尾,即向前删除一个单词.我试过Alt+ d但这会键入delta运算符符号?并且不会删除.如何压制输入却让它删除?
我有这段代码:
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?
是否有一个像样的眼动追踪包替换鼠标进行代码编辑?
我想释放鼠标,但继续使用键盘编辑代码.
在做了一些研究之后,我得出结论,适当的眼动追踪硬件很昂贵.使用网络摄像头或高分辨率摄像机似乎是最可行的选择.
遗憾的是,基于图像的跟踪(与红外线跟踪相反)限制了准确性,因此并非所有功能都可行.
一个类似的问题建议Opengazer的摄像头,但我在加快基本的文本编辑特别感兴趣.任何建议都表示赞赏,特别是如果您有眼动追踪和实际使用案例的经验.
mouse usability typing human-computer-interface eye-tracking
我想使用一个OrderedDict,其中键是一个枚举,并且该项是某个类.
我如何使用输入模块来暗示这一点?什么是这个暗示的namedtuple ::
Move = typing.NamedTuple('Move', [('actor', Actor), ('location', Location)])
Run Code Online (Sandbox Code Playgroud) 我当前的类型注释看起来类似于以下内容,我想使用类型别名来避免重复太多:
类具有类变量,可以是:
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 …
typing ×10
python ×6
generics ×2
python-3.x ×2
type-hinting ×2
bash ×1
eye-tracking ×1
iterm2 ×1
macos ×1
mouse ×1
mypy ×1
performance ×1
pyright ×1
python-3.5 ×1
spaces ×1
tabs ×1
touch-typing ×1
usability ×1
wpm ×1