擅长:python、mysql、java
<p>你的代码还有一个其他答案没有解决的问题</p>
<p>您正在使用一种非常不寻常的技术从函数中“返回”数据。尽管您有一个<code>return</code>语句,但函数调用实际上并没有保存返回的对象,因此<code>return</code>语句是多余的</p>
<p>将数据作为函数属性<code>randStrings.name</code>和<code>randStrings.combinedString</code>附加到函数对象本身。当然,这是可行的,但正如我所说的,这是相当不寻常的,而且很少使用函数属性,当它们<em>被</em>使用时,它是用来做一些特殊的事情,比如在函数调用之间保存值</p>
<p>从函数传回数据的正常方法如下:</p>
<pre><code>def randStrings(excelFile1,excelFile2):
getNameList = pe.get_sheet(file_name=excelFile1)
randName = sum([i for i in getNameList],[])
getCompanyList = pe.get_sheet(file_name=excelFile2)
randCompany = sum([i for i in getCompanyList],[])
name = random.choice(randName)
combinedString = random.choice(randName) + "@" + random.choice(randCompany).lower().replace(" ","").replace("'","").replace("/","").replace(".","").replace(",","") +".com"
return name, combinedString
name, combinedString = randStrings("names.xlsx","companys.xlsx")
data = {'user_name':name,'user_email': combinedString}
</code></pre>