python變數傳遞
㈠ python在定義類的時候,如何把類函數傳遞給另一個變數,如下
函數是組織好的,可重復使用的,用來實現單一,或相關聯功能的代碼段。
函數能提高應用的模塊性,和代碼的重復利用率。你已經知道Python提供了許多內建函數,比如print()。但你也可以自己創見函數,這被叫做用戶自定義函數。
一、定義一個函數
你可以定義一個由自己想要功能的函數,以下是簡單的規則:
1.函數代碼塊以def關鍵詞開頭,後接函數標識符名稱和圓括弧()。
2.任何傳入參數和自變數必須放在圓括弧中間。圓括弧之間可以用於定義參數。
3.函數的第一行語句可以選擇性地使用文檔字元串—用於存放函數說明。
4.函數內容以冒號起始,並且縮進。
5.Return[expression]結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。
語法
復制代碼代碼如下:
def functionname( parameters ):
"函數_文檔字元串"
function_suite
return [expression]
默認情況下,參數值和參數名稱是按函數聲明中定義的的順序匹配起來的。
實例
以下為一個簡單的Python函數,它將一個字元串作為傳入參數,再列印到標准顯示設備上。
復制代碼代碼如下:
def printme( str ):
"列印傳入的字元串到標准顯示設備上"
print str
return
二、函數調用
定義一個函數只給了函數一個名稱,指定了函數里包含的參數,和代碼塊結構。這個函數的基本結構完成以後,你可以通過另一個函數調用執行,也可以直接從Python提示符執行。
如下實例調用了printme()函數:
復制代碼代碼如下:
#!/usr/bin/python
# Function definition is here
def printme( str ):
"列印任何傳入的字元串"
print str;
return;
# Now you can call printme function
printme("我要調用用戶自定義函數!");
printme("再次調用同一函數");
#以上實例輸出結果:
#我要調用用戶自定義函數!
#再次調用同一函數
㈡ python中如何傳遞不同類中的變數
在b中直接使用a.變數名即可。
如果需要返回值,在函數最後使用return 變數即可,預設返回是None.
㈢ python怎麼將局部變數的值傳遞給全局變數
global語句聲明後,指定的變數被認為是函數外的。後面的所有操作都是在操作函數外的那個變數,雖然你是在函數內操作的。
雖然Python提供了這個功能,但是應該盡量避免這樣做,因為這使得程序的讀者會不清楚這個變數是在哪裡定義的。
def func():global xprint 'x is', xx = 2print 'Changed local x to', xx = 50func()print 'Value of x is', x
執行結果是這樣的
x is 50Changed global x to 2Value of x is 2
㈣ python實現跨文件全局變數的方法
python實現跨文件全局變數的方法
在使用Python編寫的應用的過程中,有時候會遇到多個文件之間傳遞同一個全局變數的情況。本文就此給出了如下的解決方法供大家參考。
文件1:globalvar.py
#!/usr/bin/env python2.7
class GlobalVar:
db_handle = None
mq_client = None
def set_db_handle(db):
GlobalVar.db_handle = db
def get_db_handle():
return GlobalVar.db_handle
def set_mq_client(mq_cli):
GlobalVar.mq_client = mq_cli
def get_mq_client():
return GlobalVar.mq_client
文件2:set.py
import globalvar as GlobalVar
def set():
GlobalVar.set_mq_client(10)
print "------set mq_client in set.py------mq_client: " + str(GlobalVar.get_mq_client())
文件3:get.py
#!/usr/bin/env python2.7
import globalvar as GlobalVar
def get():
print "------get mq_client in get.py------mq_client: " + str(GlobalVar.get_mq_client())
文件4:main.py
#!/usr/bin/env python2.7
import set
import get
set.set()
get.get()
其中globalvar.py中定義了兩個全局變數,在set.py中的set函數中對其進行賦值,在get.py文件中的get函數取值並列印。main.py函數作為應用入口,調用set和get。
這樣就可以看到一個完整的應用中,全局變數的跨文件使用。
㈤ python怎麼傳參
Python函數參數傳遞機制問題在本質上是調用函數(過程)和被調用函數(過程)在調用發生時進行通信的方法問題。基本的參數傳遞
機制有兩種:值傳遞和引用傳遞。值傳遞(passl-by-value)過程中,被調函數的形式參數作為被調函數的局部變數處理,即在堆棧中開
辟了內存空間以存放由主調函數放進來的實參的值,從而成為了實參的一個副本。值傳遞的特點是被調函數對形式參數的任何操作都是作
為局部變數進行,不會影響主調函數的實參變數的值。(推薦學習:Python視頻教程)
引用傳遞(pass-by-reference)過程中,被調函數的形式參數雖然也作為局部變數在堆棧中開辟了內存空間,但是這時存放的是由主調函
數放進來的實參變數的地址。被調函數對形參的任何操作都被處理成間接定址,即通過堆棧中存放的地址訪問主調函數中的實參變數。正
因為如此,被調函數對形參做的任何操作都影響了主調函數中的實參變數。
㈥ python嵌套類如何傳遞變數
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum 於1990 年代初設計,作為一門叫做ABC語言的替代品。 Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。
㈦ python嵌套類如何傳遞變數
你所說的情況是做不到的
除非你直接用全局變數
a = 0
def aa():
global a
a = 6
print a # 6
㈧ python unittest 測試用例之間的變數怎麼傳遞
deff():
globala
a=1
deff1():
b=a
print(b)
f()
f1()
在第一個中把id設定為全局變數,不過這種方式必須要1在2
之前要運行
㈨ python 如何把變數的值傳遞給execute的sql中去
python 把變數的值傳遞給execute的sql中去的代碼:
import pymysql
db = pymysql.connect(host="119.XX.XX.XX",
port=3306,
user="XXXXXXXX",
passwd="XXXXXXXXXXXXX",
db="XXXXXX",
charset='utf8')
# %s 佔位符為需要傳遞的參數,切記不要加''雙引號,要不然會報錯
sql = "SELECT totalusercount * 1.4 FROM mm_project_uv_outdoor WHERE poiid = %s AND currenttime = %s"
cursor = db.cursor()
# 以下為傳遞多個參數的用法
cursor.execute(sql,['B00140N5CS','2019-04-23'])
# 傳遞單個參數時 cursor.execute(sql,'B00140N5CS')
print(cursor.fetchall())
db.close()
(9)python變數傳遞擴展閱讀:
函數
Python的函數支持遞歸、默認參數值、可變參數,但不支持函數重載。為了增強代碼的可讀性,可以在函數後書寫「文檔字元串」(Documentation Strings,或者簡稱docstrings),用於解釋函數的作用、參數的類型與意義、返回值類型與取值范圍等。可以使用內置函數help()列印出函數的使用幫助。比如:
>>> def randint(a, b):
... "Return random integer in range [a, b], including both end points."...
>>> help(randint)
Help on function randint in mole __main__:
randint(a, b)
Return random integer inrange[a, b], including both end points.
㈩ python新手問題 def之間的變數數值傳遞
將: