我试图定义以下功能,但我一直得到:
error 000989 : Python syntax error: <value>
。
显然我的代码语法不正确。我尝试过以下方法:
def yieldCalc(value):
if (value=1):
return 6.2
elif (value=2):
return 7.9
else:
return 8.21
另外
def yieldCalc(value):
if (value=1):
return 6.2
elif (value=2):
return 7.9
else:
return 8.21
和
def yieldCalc(value):
if (value=1):
return 6.2
elif (value=2):
return 7.9
else:
return 8.21
缩进python代码块的正确方法是什么?
答案 0 :(得分:4)
在python中你应该使用双等号==
来比较两个值:
def yieldCalc(value):
if value == 1:
return 6.2
elif value == 2:
return 7.9
else:
return 8.21
有关缩进和比较的更多信息,请参阅python文档中的以下链接:
答案 1 :(得分:1)
您的代码存在一些基本问题。如果您粘贴了上面使用的代码,则表示您没有遵循PEP-8标准。
127.0.0.1
的值是1,那么您应该使用from elasticsearch import Elasticsearch, RequestsHttpConnection
from requests_aws4auth import AWS4Auth
host = 'YOURHOST.us-east-1.es.amazonaws.com'
awsauth = AWS4Auth(YOUR_ACCESS_KEY, YOUR_SECRET_KEY, REGION, 'es')
es = Elasticsearch(
hosts=[{'host': host, 'port': 443}],
http_auth=awsauth,
use_ssl=True,
verify_certs=True,
connection_class=RequestsHttpConnection
)
print(es.info())
- 单个value
是assignment statement。==
答案 2 :(得分:0)
感谢所有回复的人,因为事实证明我错误的是 - 正如你们所指出的那样 - 用于在我的if中声明逻辑测试的语法。
我使用了==而不是=并按照Larry的建议保留了缩进。
它有效,我节省了很多时间。