繁体   English   中英

如何使Python .py文件共享变量和常量?

[英]How Can I Make Python .py Files Share Variables & Constants?

我在大学里一直在学习有关C ++的知识,令我感兴趣的一件事是能够创建共享头文件,以便所有cpp文件都可以访问其中的对象。 我想知道是否有某种方法可以在python中使用变量和常量来做同样的事情? 我只知道如何导入和使用其他py文件中的函数或类。

首先,如果您曾经使用过sys.argvos.sep ,那么您已经使用了另一个模块的变量和常量。

因为共享变量和常量的方式与共享函数和类的方式完全相同。

实际上,就Python而言,函数,类,变量,常量-都只是模块全局变量。 它们可能具有不同类型的值,但它们是同一类型的变量。

因此,假设您编写此模块:

# spam.py
cheese = ['Gouda', 'Edam']
def breakfast():
    print(cheese[-1])

如果您import spam ,则可以使用cheese ,就像使用eggs

import spam

# call a function
spam.eggs()

# access a variable
print(spam.cheese)

# mutate a variable's value
spam.cheese.append('Leyden')
spam.eggs() # now it prints Leyden instead of Edam

# even rebind a variable
spam.cheese = (1, 2, 3, 4)
spam.eggs() # now it prints 4

# even rebind a function
spam.eggs = lambda: print('monkeypatched')
spam.eggs()

C ++头文件实际上只是一个穷人的模块。 并非每种语言都像Python一样灵活,但是从Ruby到Rust的几乎每种语言都有某种真实的模块系统。 只有C ++(和C)要求您通过在编译时将代码包含到一堆不同的文件中来伪造它。

如果您只是想进行函数定义,那么本文可能会回答您的问题:

Python:如何导入其他Python文件

然后,您可以按照此处定义一个函数:

https://www.tutorialspoint.com/python/python_functions.htm

或者,如果您想上课:

https://docs.python.org/3/tutorial/classes.html

您可以在上一个链接中查看示例3.9.5,以了解如何在不同对象实例之间创建共享变量。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM