1樓:gta小雞
你的del刪除的是函式的形參x,刪除的不是作為實參的全域性變數q,更不是q指向的int型物件3。
弄清楚形參和實參的區別,以及del刪除的究竟是變數名還是物件。
2樓:
q = 3 表示乙個整數對應被建立並且賦值給了變數q,引用數是1,然後呼叫了my_del函式,引用數變成2,在函式中做了del操作,僅減少了函式引用這個引用數,原先的引用還在,所以print的時候還可以輸出。
以上,我個人理解。
python的class裡全域性變數有時不能被呼叫
3樓:育知同創教育
你在ex裡面定義的oo,所以你得先執行過ex之後才能執行start。
class test: def __init__(self,name='testa'): self.
x = 'age' self.name = name self.ex() #加上這個 self.
start() def ex(self): global oo oo = 'this is test' def start(self): print oo t=test()
如果不適用全域性變數的話,你可以self.oo:
class test: def __init__(self,name='testa'): self.
x = 'age' self.name = name self.ex() self.
start() def ex(self): self.oo = 'this is test' def start(self):
print self.oo t=test()
python中類內部的函式可以互相呼叫嗎?
4樓:匿名使用者
可以呼叫,
比如下面,***mon_func被多個函式呼叫。
class myclass:
def __init__(self):
pass
def func1(self):
# do something
self.***mon_func()
def func2(self):
# do something
self.***mon_func()
def ***mon_func(self):
pass
5樓:匿名使用者
你好,如下:
函式重複也沒關係啊,只要是知道,
是什麼功能,在特定的時候觸發就行了。
python global 變數能不能被呼叫的函式
6樓:匿名使用者
#this_is_a_global_variable = 'this is a global variable'
# ...
def func_call_global():
global this_is_a_global_variable# use it here
# ...
print (this_is_a_global_variable)return
python 函式為什麼不能通過傳參修改列表
7樓:匿名使用者
解釋:1、你首先復
定義了乙個函式制change_list;
2、然後建立了
bai列表
物件[1,2],a 是這個du列表物件的引用;
3、呼叫函
zhi數change_list,傳遞引用a,執行函式:注意函式內部定義的a在函式自己的scope,和你傳的a沒有任何關係,換句話說,函式內部定義的a是個完全新的列表物件,dao函式執行完成後,你列印a,當然還是之前定義的[1,2]
你想要修改函式外部的變數,即全域性變數,需要使用global宣告,即:
def change_list():
global a
a = [2, 3, 4]
a = [1, 2]
change_list()
print a
8樓:匿名使用者
>>> def change_list(a):
復 a = [2,3,4]>>> a= [1,2]
>>> change_list(a)
>>> a
[1, 2]
但是制這bai
個可du
以zhidao
python 能不能到函式裡才執行實參
9樓:尐二瓜
通過變通的方式是可以實現的,比如把實參封裝成函式。
number = lambda: response.xpath('/html/body').
re('(?<="product_no" value=").*?
(?=")')[0]
在函式中通過回number()呼叫
如果解答決了您的問題請採納!
如果未解決請繼續追問
python中函式外定義的變數在函式內可以使用嗎
10樓:匿名使用者
你寫的只是引用,也可以說讀取是可以的,但不能修改。
比如這樣寫,外面的i 仍然=0
11樓:反翽葚讛笀仕藖
嚴格的說,象你這麼用是絕對屬於沒有定義的。不過有時候又可以是因為,如果你在程式開頭函式前面定義一些變數,原則上它會自動變成global的。 除非你另外啟執行緒,或者是有可能有與它重名的變數,否則可以直接在函式體內使用,當然也可以在後面的語句中使用。
函式式程式設計要記著ipo這個準則。就是每個函式最好都是有輸入input有輸出output。函式體就是處理process。
盡量不要使用全域性變數,也不要使用預設值。乙個正規的做法是這樣: def example(a):
a=0 return a a=1 print example(a) 這是乙個標準用法,你就不用為global變數頭痛了。
菜鳥關於python問題請教。 為什麼以下**不能執行函式中比較大小的功能,比如輸入100和99結果不對。
12樓:匿名使用者
應該是max(int(a), int(b))你a和b是字串,不轉怎麼比?如果不是在整數,就把int換成float
python 在函式裡面定義的變數,在外面就不能用了?我不是很想用global
13樓:匿名使用者
嚴格的說,象你這麼用是絕對屬於沒有定義的。
不過有時候又可以是因為,如果你在程式開頭函式前面定義一些變數,原則上它會自動變成global的。 除非你另外啟執行緒,或者是有可能有與它重名的變數,否則可以直接在函式體內使用,當然也可以在後面的語句中使用。
函式式程式設計要記著ipo這個準則。就是每個函式最好都是有輸入input有輸出output。函式體就是處理process。
盡量不要使用全域性變數,也不要使用預設值。乙個正規的做法是這樣:
def example(a):
a=0return a
a=1print example(a)
這是乙個標準用法,你就不用為global變數頭痛了。
14樓:智應
注意縮排對齊
def example():
a = 0
print a
while, for也是一樣,沒有大括號所以對齊決定**是函式或迴圈的結束
15樓:匿名使用者
要注意變數的作用域。
你可以def example():
a = 0
return a
print example()
c中建構函式和析構函式能不能被顯示呼叫
1 c 中,建構函式和析構函式可以被顯示呼叫.顯示呼叫預設建構函式的語法 a.a a 不能寫成a.a 顯示呼叫非預設建構函式的語法 a.a a 7 不能寫成a.a 7 顯示呼叫析構函式的語法 a.a a 可以寫成a.a 2 顯示呼叫建構函式和析構函式就像呼叫一般的函式一樣,並不意味著建立或銷毀物件 ...
在呼叫函式時,函式是怎樣傳值的,c語言函式呼叫時,實參和形參是如何傳遞的?什麼時候要寫指標型變數?求高手指點
在c語言中,實參將值傳給函式中的形參,實現了自上而下的值傳遞,就可以呼叫函式了。舉個淺顯一點的例子吧 include void main int swap int x,int y 在主函式中,將實參a,b的值傳遞給被呼叫函式中的形參x,y,即將a,b分別代入x,y中計算,即達到了呼叫的目的。函式的傳...
函式不能這樣寫的嗎
可以,但呼叫方法要和它宣告的引數一致,比如max a,b 一句有問題,按照宣告引數應該是3個int,另外max方法要return 乙個int值 不可以。1 呼叫函式max時,max a,b 不合法,實參應為3個,如int a,b,c max a,b,c 2 int max 需要返回值。如題則應改為v...