我是Python的新手。有人可以解释一下为什么将2 ** 3 ** 2 ** 1评估为512。在这里我了解PEMDAS和从左到右的处理方式,但无法确定产生此输出的原因。非常感谢。
答案 0 :(得分:1)
除幂运算符外,Python运算符通常从左到右求值:
同一框中的操作员从左到右分组(除 取幂,从从右到左分组。
因此
2 ** 3 ** 2 ** 1
与
相同 2 ** (3 ** (2 ** 1))
答案 1 :(得分:0)
我自己不是Python开发人员,所以如果我错了,其他人可以纠正我,但是我敢猜测这是如何解析的:
export const usersFetchData = (url) => {
return (dispatch) => {
dispatch(userIsLoading(true));
axios
.get(url)
.then(res => {
if(!res.ok){
throw Error(res.statusText)
}
dispatch(userIsLoading(false));
console.log(res.data);
return res.data; // returning the json respone
})
//.then(res => res.json()) // removed this, you don't need it
.then(users => {
console.log(users);
dispatch(usersFetchDataSuccess(users))
})
.catch(() => dispatch(userHasErrored(true)));
}
}