如何注释可变参数函数的参数?
例子:
def foo(*args): # Each arg expected to be of type T
...
Run Code Online (Sandbox Code Playgroud)
是否有任何打字注释?
我必须使用有限的凭据才能从私有存储库安装我的软件包,但我不希望将它们与我的Pipile
.
这是一个简单的合法用例:
\n\n[[source]]\nname = "pypi"\nurl = "https://pypi.org/simple"\nverify_ssl = true\n\n[dev-packages]\npytest = "*"\n\n[packages]\nmy-package = {git = "https://${USER}:${TOKEN}@bitbucket.org/my-team/my-package.git",ref = "v0.1"}\n\n[requires]\npython_version = "3.7"\n\n[scripts]\nshow-credentials = "echo ${USER}:${TOKEN}"\n
Run Code Online (Sandbox Code Playgroud)\n\n并在.env
文件中包含以下内容:
USER=foo\nTOKEN=bar\n
Run Code Online (Sandbox Code Playgroud)\n\n执行pipenv run show-credentials
将显示当前凭据,foo:bar
但不会\xe2\x80\x99 尊重这些环境变量来安装my-package
.
是否有任何可能的解决方法或者这可能是一个很好的功能请求pipenv
?
可以在Pipfile
自定义Git存储库的包中指定.但是我找不到关于如何指定具体分支或用于安装的提交的综合文档.
是否有关于如何在指定自定义分支,版本或提交Pipfile
所支持的python包中使用Git URL的完整参考pipenv
?
使用等效的pipenv
命令行参数非常好.
最近,我将 KMP 项目拆分为全栈项目和核心库(主要由公共数据类组成),并发现我需要对现在在公共数据类中定义的数据类之一使用 JVM 库中的注释。模块。
似乎不可能在 Kotlin 公共代码中使用 Java 库中的注释。
有哪些可能的方法可以解决此类问题,最好避免通过声明此类数据类expect
,然后在actual
平台中使用不同的注释重复其实现?
这是一个关于以最小的样板找到漂亮的设计方法的抽象问题。
先决条件:
enum class Provider { Google, Microsoft }
interface Foo { fun getMail(): Mail }
,将为每个特定的提供程序实现。我很好奇是否有一种方法可以定义ENUM类Provider
,以实现接口,Foo
而我以后可以指定每个具体提供者将通过哪些对象实现?
我想知道是否有没有样板的方法来定义具体接口的枚举类,而我以后可以定义将通过哪些对象实现具体提供者。
先决条件并不牢固,因此,如果一个更好的设计需要更改,那么我渴望一个更好的建议。
使用 Apache Beam Python SDK 版本 2.9.0,是否可以获得类似于 Google\xe2\x80\x99s 数据流的可渲染管道图表示,而不是运行它?
\n\n我很难组装复杂的管道,并且在尝试使用 执行它之前我很高兴看到组装好的管道DirectRunner
。
前言
\n\n我想知道如何以Python方式概念化数据类。\n特别是我\xe2\x80\x99m 谈论 DTO(数据传输对象)。
\n\n我在 @jeff-oneill 问题 \xe2\x80\x9c使用 Python 类作为数据容器\xe2\x80\x9d 中找到了一个很好的答案,其中 @joe-kington 很好地使用了内置namedtuple
.
问题
\n\n在 python 2.7 文档的第 8.3.4 节中,有一个关于如何组合多个命名元组的很好的示例。\n我的问题是如何实现相反的效果?
\n\n例子
\n\n考虑文档中的示例:
\n\n>>> p._fields # view the field names\n(\'x\', \'y\')\n\n>>> Color = namedtuple(\'Color\', \'red green blue\')\n>>> Pixel = namedtuple(\'Pixel\', Point._fields + Color._fields)\n>>> Pixel(11, 22, 128, 255, 0)\nPixel(x=11, y=22, red=128, green=255, blue=0)\n
Run Code Online (Sandbox Code Playgroud)\n\n如何从 \xe2\x80\x9cPixel\xe2\x80\x9d 实例推断出 \xe2\x80\x9cColor\xe2\x80\x9d 或 \xe2\x80\x9cPoint\xe2\x80\x9d 实例?
\n\n最好是具有蟒蛇精神。 …
在Python模块的文档中attrs
指出,有一种方法可以将属性的类转换为字典表示形式:
例:
>>> @attr.s
... class Coordinates(object):
... x = attr.ib()
... y = attr.ib()
...
>>> attr.asdict(Coordinates(x=1, y=2))
{'x': 1, 'y': 2}
Run Code Online (Sandbox Code Playgroud)
如何实现对立面:Coordinates
从有效的字典表示形式中获取的实例,而不使用样板内容,并且对attrs
模块感到满意?
我试图在 Kotlin/MPP(多平台)项目和 JVM 目标功能中使用ktor 客户端,基本身份验证似乎没有效果。
import io.ktor.client.HttpClient
import io.ktor.client.features.ResponseException
import io.ktor.client.features.auth.Auth
import io.ktor.client.features.auth.providers.basic
import io.ktor.client.features.json.JsonFeature
import io.ktor.client.features.json.serializer.KotlinxSerializer
import io.ktor.client.features.logging.DEFAULT
import io.ktor.client.features.logging.LogLevel
import io.ktor.client.features.logging.Logger
import io.ktor.client.features.logging.Logging
import io.ktor.client.request.get
import io.ktor.client.request.header
import kotlinx.coroutines.runBlocking
import java.util.*
fun main() = runBlocking {
val client = HttpClient {
install(Logging) {
logger = Logger.DEFAULT
level = LogLevel.HEADERS
}
install(JsonFeature) {
serializer = KotlinxSerializer()
}
install(Auth) {
basic {
username = "user"
password = "pass"
}
}
}
val url = "https://en.wikipedia.org/wiki/Main_Page" …
Run Code Online (Sandbox Code Playgroud) python ×4
kotlin ×2
pipenv ×2
python-attrs ×2
apache-beam ×1
attributes ×1
delegates ×1
dto ×1
enums ×1
git ×1
ktor ×1
ktor-client ×1
namedtuple ×1
pep ×1
python-2.7 ×1
typing ×1
virtualenv ×1