Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
209 views
in Technique[技术] by (71.8m points)

python - Passing around an ElementTree

In my program, I need to make use of an ElementTree object in various functions in my program.

More specifically, I am doing this:

tree = etree.parse('somefile.xml')

I am passing this tree around in my program.

I was wondering whether this is a good approach, or can I do this:

  1. Create a global tree (I come from a C++ background and I know global is bad)
  2. Create the tree again wherever required.

Or is my approach ok?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

In Python, (eliding complexities, making an analogy for your C++ background) all objects are passed by reference. And since "tree" is an object, you're only passing the reference. Now, if you have a group of related methods that operate on the same tree, you might want to consider creating a class with that tree object as a member.

Also, here's a quick reference to the complexities I glossed over above: http://www.testingreflections.com/node/view/5126


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...