【问题标题】:How to use variable in one script into def of another script in python如何在一个脚本中使用变量到python中另一个脚本的def
【发布时间】:2023-02-04 14:10:14
【问题描述】:

我是 python 脚本的新手。我编写了两个脚本,一个包含所有 def 模块,在第二个脚本中我导入了第一个脚本

在第二个脚本中,我定义了很多变量,这些变量也在第一个脚本中定义。你能告诉我如何在第一个脚本中使用第二个脚本变量而不给出参数吗?

这是代码:

script1.py:
           import os
           import re
           
           def one():
              print("First Name"+name+"\n")
              print("Last Name "+last+"\n")
              print("Occupation:"+job+"\n")

script2.py:
           import os
           import re
           import script1

           name = "Rob"
           last = "Sussian"
           occupation = "Unemployee"

           print(script1.one())

提前致谢

【问题讨论】:

  • one 开头,您可以导入script2 然后使用变量。但整个方法并不好。您应该改为遵循 Grismar 的回答。
  • “不争辩”大声笑我们今天没有权利。

标签: python


【解决方案1】:

您正试图解决一个所有新手程序员迟早都会遇到的问题。你会发现全局变量似乎是解决方案,但你可以通过立即查看函数参数来避免以后忘记很多坏习惯:

script1.py:
           def one(name, last, job):
               print("First Name"+name+"
")
               print("Last Name "+last+"
")
               print("Occupation:"+job+"
")

script2.py:
           import script1

           name = "Rob"
           last = "Sussian"
           occupation = "Unemployee"

           print(script1.one(name, last, occupation))

您的函数 one() 已被赋予三个参数,它期望在函数被调用时为其分配参数,这正是 script2.py 中发生的情况。

请注意,我保留了名称不变,但变量name 等的值在调用中传递,因此全局变量name 被分配给函数one() 的参数name 的事实具有与名字无关。它们可以以不同的方式命名,并且一切都可以正常工作——您可以从joboccupation 看出。

(请注意,我将函数的缩进更改为 4 而不是 3,这是 Python 的标准缩进 - 这也是一个好习惯)

【讨论】:

    猜你喜欢
    • 2017-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-05-05
    • 1970-01-01
    • 2019-03-03
    • 1970-01-01
    • 2015-04-18
    • 2014-07-01
    相关资源
    最近更新 更多