Python将多个值返回到另一个函数中
我正在制作一个电子邮件编译器,我试图从我的函数返回多个值,并将它们输入到另一个函数中,但当我运行代码时,无论我如何尝试,它总是说缺少一个必需的参数。有什么建议吗Python将多个值返回到另一个函数中,python,Python,我正在制作一个电子邮件编译器,我试图从我的函数返回多个值,并将它们输入到另一个函数中,但当我运行代码时,无论我如何尝试,它总是说缺少一个必需的参数。有什么建议吗 from email.message import EmailMessage import getpass import smtplib import mimetypes import os.path def setup_users(): user = input("Please enter your email
from email.message import EmailMessage
import getpass
import smtplib
import mimetypes
import os.path
def setup_users():
user = input("Please enter your email ")
print(f" this will be the senders email {user}")
recipient = input("Please input senders ")
print(f"this will be the recipients email {recipient}")
return (user, recipient)
def load_smtp(sender, message):
# sender = "sender@ example.com"
print("connecting to smtp server will")
mail_server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
mail_pass = getpass.getpass('Password? ')
print(mail_pass)
mail_server.login(sender, mail_pass)
print("login sucessful")
mail_server.send_message(message)
print("email sent")
mail_server.quit()
def create_email(user, recipient):
sender = user
recipient = recipient
# setting to and from portion
message = EmailMessage()
message["From"] = sender
message["to"] = recipient
# setting up subject field
message["Subject"] = f"Greetings this is from {sender} to {recipient}"
body = """ Hey this is my first pythonic email program lets see how this works
out! """
# setting variable and putting body into a function
message.set_content(body)
return sender, message
if __name__ == "__main__":
user = setup_users()
email = create_email(user)
print("gathering email data to complie")
print("Starting program, will initiate load_smtp")
smtp_server = load_smtp(email, user)
print("sending email")
调用
create_email()
时,您需要添加收件人
:
if __name__ == "__main__":
user = setup_users()
email = create_email(user,recipient)
print("gathering email data to complie")
print("Starting program, will initiate load_smtp")
smtp_server = load_smtp(email, user)
print("sending email")
当你写作时
return (user, recipient)
实际上,您没有返回2个值。返回1个值,该值是一个包含2个元素的元组
要从元组中获取这两个值,可以使用多种选项。一种选择是使用解包:
user, recipient = setup_users()
email = create_email(user, recipient)
大家好,欢迎来到StackOverflow!您介意编辑您的帖子并向我们展示错误的完整回溯吗?谢谢您的时间,但其他两个答案让我下一次发布时能够工作,我将确保添加回溯错误!再次感谢!!谢谢我是编程新手,读了这两个答案后,我觉得自己很愚蠢