0
A
回答
0
塊中定義的變量具有塊範圍,這意味着它們從外部不可見。 myname
在功能call
,並只在call
可見。
如果我們按照自己的風格
myname = None
def call():
global myname
myname = Me("Alex")
printIt()
def printIt(): # now we could access myname
print(myname.name)
然而,更好的選擇是使用
def call():
myname = Me("Alex")
printIt(myname)
def printIt(somebody): # now we could access aPerson as well
print(somebody.name)
0
myname
是隻能內部功能它的定義,其中使用的局部變量,以避免不必要的全局變量。
嘗試把它作爲參數:
def call():
myname = Me("Alex")
printIt(myname)
def printIt(myname):
print(myname.name)
+0
完美無瑕,謝謝!這確實很有意義。 –
0
MYNAME不是一個全局變量。它不在printIt方法的範圍內。它是本地的呼叫方法。如果你想訪問它,以全局的方式聲明它,或者將myname對象作爲參數傳遞給printIt。
相關問題
- 1. self.class_eval << DEF ... DEF
- 2. def myobject.mymeth和class << myobject; def mymeth
- 3. 「def <=>」vs「def method_missing」
- 4. 爲什麼Html.DropDownList()產生<select name =「original_name.name」>而不是<select name =「name」>?
- 5. <class name>之間的區別。 <var name>和自我。 <var name>在python類
- 6. 語法錯誤:</p> <pre><code>export const myName = 'my-package' </code></pre> <p>我得到的錯誤是::</p> <pre><code>export const myName = 'my-package' ^^^^^^ SyntaxError: Unexpected reserved word </code></pre> <p>流星包
- 7. 四處錯誤:AttributeError的:類<CLASS NAME>有沒有屬性 '<METHOD NAME>'
- 8. 這是寫這個<class name><object name> =新的構造函數名的正確方法嗎?
- 9. 處理<屬性鍵=「名稱」值=「富」 />而不是<name>富</name>與JAXB
- 10. def self.up,def def,def self.down,def down是什麼意思?
- 11. 什麼是長<name> =(長)<expression>;在Java中做?
- 12. 爲什麼「class << self」中的自我是指類?
- 13. 這是什麼算子<<< bash
- 14. 爲什麼這是<td ng-mouseenter =「name ='John'」>不工作?
- 15. <%$,<%@,<%=,<%#...這是怎麼回事?
- 16. <xsl:copy>和<xsl:element name =「{name()}」>之間是否有區別?
- 17. colnames(x [1])< - 「name」和colnames(x)[1] < - 「name」之間的區別是什麼?
- 18. THREE.Camera.prototype.lookAt</ <() -</ <是什麼意思?
- 19. <project-name>/<controllel-name>找不到
- 20. Rails中的「class << self」是什麼意思?
- 21. 的Python:<code>a</code></p> <pre><code>class Real(object): ... def print_stuff(self): print 'real' class Fake(Real): def print_stff(self): print 'fake' </code></pre> <p>如何猴子補丁(交換)班
- 22. 爲什麼`type(myField)`返回`<type'instance'>`而不是'<type'Field'>`?
- 23. 這個。 <name>是不是一個功能
- 24. 爲什麼defun不一樣(setq <name><lambda>)?
- 25. 什麼是PHP中的「<<< SQL」?
- 26. 「<<<」運算符的名稱是什麼?
- 27. 的ObservableCollection <class name> .Distinct()不工作
- 28. Visual Basic中:「<name>」不是「<classname>」
- 29. 什麼是我的檔案中的「<<<<<<< head」?
- 30. 我的Postgres日誌提供了大量的這些錯誤。而且我不知道什麼是使用包含轉義反斜槓,如<code>abc\def</code>,當你要逃避它這樣<code>abc\\def</code>值發生
謝謝大家的意見!我現在明白了。特別是這個完美的考慮我的風格。 –