gpt4 book ai didi

python - 如何将以下 scala 代码转换为 python

转载 作者:太空宇宙 更新时间:2023-11-03 17:15:28 25 4
gpt4 key购买 nike

这是Scala中的模式匹配switch case,它基本上将选择器变量的不同数据类型与相应的case变量匹配,并对其进行一些操作

def valueToString(x: Any): String = x match {

case d: BigDecimal =>
/* do something here */

case a: Array[Byte] =>
new String(a, "UTF-8")

case s: Seq[_] =>
/*do something here */

case m: Map[_,_] =>
/*do something here */

case d: Date =>
/*do something here */

case t: Timestamp =>
/*do something here */

case r: Row =>
/*do something here */
}

Python 并不完全支持这种模式匹配。我了解 Python 中的切换器,但它需要正则表达式或变量的实际匹配。如何在Python中实现上述功能

最佳答案

类型检查

使用 isinstance 方法检查通用输入的类型

import datetime

def value_to_string(input):

# String
if isinstance(input, basestring):
return 'string'

# BigDecimal
if isinstance(input, int):
return 'int'

# Array
if isinstance(input, list):
return 'list'

# Map
if isinstance(input, dict):
return 'dictionary'

# Date
if isinstance(input, datetime.date):
return 'date'

# ...

用法

print value_to_string('')
print value_to_string(1234)
print value_to_string([1,2,3])
print value_to_string({"id": 1})
print value_to_string(datetime.datetime.now())

输出

string
int
list
dictionary
date

关于python - 如何将以下 scala 代码转换为 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33706107/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com