用数学运算符连接数列而不执行运算符

Posted

技术标签:

【中文标题】用数学运算符连接数列而不执行运算符【英文标题】:Concatenate number sequence with mathematical operator without executing the operator 【发布时间】:2019-07-21 22:35:18 【问题描述】:

我必须在 URL http://api.semanticscholar.org/v1/paper/ 的末尾连接论文“10.1145/3175684.3175695”的此 DOI。但是当我尝试这样做时,python 会连接分割的结果。有没有办法告诉python不要将10.1145/3175684.3175695中间的/符号视为除法运算符。

id = 10.1145/3175684.3175695
url = ''.format("http://api.semanticscholar.org/v1/paper/",id)
# Make a get request with the parameters.
response = requests.get(url)
print(response.content)

【问题讨论】:

请编辑您的问题以显示您的代码示例。 【参考方案1】:

问题是由于您没有将 DOI 号括在引号中以使其成为字符串。您会注意到,作为字符串的基本 URL 中包含正斜杠,但没有出现同样的问题。

你有以下:

doi = 10.1145/3175684.3175695

哪个python解释为这样的数学表达式:

doi = 10.1145 / 3175684.3175695

您需要将其用单(或双)引号括起来以使其成为字符串文字:

doi = '10.1145/3175684.3175695'
base_url = 'http://api.semanticscholar.org/v1/paper/'
url = base_url + doi

【讨论】:

【参考方案2】:
s = "http://api.semanticscholar.org/v1/paper/"
v =  "10.1145/3175684.3175695"
t = s+v

t 将导致

 'http://api.semanticscholar.org/v1/paper/10.1145/3175684.3175695'

【讨论】:

以上是关于用数学运算符连接数列而不执行运算符的主要内容,如果未能解决你的问题,请参考以下文章

BigInteger中逻辑运算符&&怎么用

linux expr命令执行问题

《机器学习实战》---NumPy

从零开始学习C语言3

Simulink:使用多级总线信号执行数学运算

执行数学运算时,Mexed 函数的差异非常小