测试参数是否具有特定值 测试特定值性能

问题描述

是否可以使用if或其他函数测试变量具有在特定参数中传递的特定值?

例如,这是一行代码,用于检测文本字符串的语言。我需要进行测试以得出文本是否为英文的结论。此信息在参数lang内传递,在英语的情况下为lang=en。如果变量lang的{​​{1}}不是en,我将翻译成英文。

gola不会翻译英文文本以提高效率。还是仅让language将英语翻译成英语而不执行测试就更有效率了?效率更高的方法-将英语翻译成英语或执行我想要的检查。我将不得不翻译成千上万的字符串。

googletrans

结果

from googletrans import Translator

words = ['Many','like','name','kas','jauni burti']

translate = Translator()
for language in words:
    print(translate.detect(language))

解决方法

测试特定值

关于术语的一些注意事项:

  • 变量...“命名自由对象”,例如下方wordsworddetected
  • 参数...在函数定义中使用的函数输入,例如detect documentation中的text
  • 参数...传递给函数/方法的特定值,例如word下的参数是传递给translate.detecct的参数
  • 类,实例/对象/ ...的
  • 属性,成员...成员变量,例如langconfidenceDetected实例的属性。

OP要求提供参数变量参数,但实际上需要的是属性。 下次请使用适当的术语以防止混淆。

它如何工作的示例:

from googletrans import Translator

words = ['Many','like','name','kas','jauni burti']

translate = Translator()
for word in words:
    detected = translate.detect(word)
    print(detected)
    if detected.lang == "en":
        print("   ","English")
    else:
        print("   ","not English!")

# print(dir(detected))

请注意,dir返回所传递的参数的所有可用属性

性能

根据documentationgoogletrans使用Google Translate Ajax API,最有可能涉及某些网络操作。因此,您应该自己衡量性能,最好是在目标系统上。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...