mirror of
https://github.com/microsoft/pyright.git
synced 2024-08-17 03:40:44 +03:00
Fixed minor typos in documentation.
This commit is contained in:
parent
26730d551e
commit
3dc83c0b1a
@ -54,7 +54,7 @@ def func(a: Optional[Union[str, List[str]]):
|
||||
|
||||
In this example, the type evaluator knows that parameter a is either None, str, or List[str]. Within the first `if` clause, a is constrained to be a str. Within the `elif` clause, it is constrained to be a List[str], and within the `else` clause, it has to be None (by process of elimination). The type checker would therefore flag the final line as an error if the log method could not accept None as a parameter.
|
||||
|
||||
Narrowing is also applied values are assigned to a variable.
|
||||
Narrowing is also applied when values are assigned to a variable.
|
||||
|
||||
```python
|
||||
def func(b: Optional[Union[str, List[str]]]):
|
||||
|
@ -246,7 +246,7 @@ def complex_decorator(*, mode: str) -> Callable[[_F], _F]:
|
||||
...
|
||||
```
|
||||
|
||||
Decorators that mutate the signature of the decorated function present challenges for type annotations. The ParamSpec and Concatenate mechanisms described in [PEP 612](https://www.python.org/dev/peps/pep-0612/) provide some help here, but these are available only in Python 3.10 and newer. More complex signature mutations may require type annotations that erase the original signature, thus blinding type checkers and other tools that provide signature assistance. As such, library authors are discouraged from creating decorators that mutate function signatures in this manner.
|
||||
Decorators that mutate the signature of the decorated function present challenges for type annotations. The `ParamSpec` and `Concatenate` mechanisms described in [PEP 612](https://www.python.org/dev/peps/pep-0612/) provide some help here, but these are available only in Python 3.10 and newer. More complex signature mutations may require type annotations that erase the original signature, thus blinding type checkers and other tools that provide signature assistance. As such, library authors are discouraged from creating decorators that mutate function signatures in this manner.
|
||||
|
||||
### Generic Classes and Functions
|
||||
Classes and functions that can operate in a generic manner on various types should declare themselves as generic using the mechanisms described in [PEP 484](https://www.python.org/dev/peps/pep-0484/). This includes the use of `TypeVar` symbols. Typically, a `TypeVar` should be private to the file that declares it, and should therefore begin with an underscore.
|
||||
|
Loading…
Reference in New Issue
Block a user