本文目錄一覽:
python模塊內全局變量 什麼時候初始化
腳本初加載時,python會順序執行所有可以執行的東西。 如果是函數與類定義,它就順序將定義放到全局表裡。
這裡全局變最也是一樣。python從import語句開始執行,執行到這句話today 就被初始化了。
如果這個模塊被其它模塊import ,那個在import 的時候, today會被加載。
不過跨模塊的全局變量,在python里有些古怪。要小心使用。
如何在Python中定義靜態變量
Python使用函數默認值實現函數靜態變量的方法,具體方法如下:
一、Python函數默認值
Python函數默認值的使用可以在函數調用時寫代碼提供方便,很多時候我們只要使用默認值就可以了。 所以函數默認值在python中用到的很多,尤其是在類中間,類的初始化函數中一幫都會用到默認值。 使用類時能夠方便的創建類,而不需要傳遞一堆參數。
只要在函數參數名後面加上 ”=defalut_value”,函數默認值就定義好了。有一個地方需要注意的是,有默認值的參數必須在函數參數列表的最後,不允許將沒有默認值的參數放在有默認值的參數後,因為如果你那樣定義的話,解釋器將不知道如何去傳遞參數。
先來看一段示例代碼:
def ask_ok(prompt, retries=4, complaint=’Yes or no, please!’):
while True:
ok = raw_input(prompt)
if ok in (‘y’, ‘ye’, ‘yes’): return True
if ok in (‘n’, ‘no’, ‘nop’, ‘nope’): return False
retries = retries – 1
if retries 0: raise IOError, ‘refusenik user’
print complaint
你調用上面的函數時,可以修改重試次數和輸出的提示語言,如果你比較懶得話,那麼什麼都不用改。
二、python使用函數默認值來實現函數靜態變量的功能
Python中是不支持靜態變量的,但是我們可以通過函數的默認值來實現靜態變量的功能。
當函數的默認值是內容是可變的類時,類的內容可變,而類的名字沒變。(相當於開闢的內存區域沒有變,而其中內容可以變化)。
這是因為python中函數的默認值只會被執行一次,(和靜態變量一樣,靜態變量初始化也是被執行一次。)這就是他們的共同點。
再來看下面的程序片段:
def f(a, L=[]):
L.append(a)
return L
print f(1)
print f(2)
print f(3)
print f(4,[‘x’])
print f(5)
其輸出結果是:
[1]
[1, 2]
[1, 2, 3]
[‘x’, 4]
[1, 2, 3, 5]
前面的好理解,為什麼最後 “print f(5)”的輸出是 “[1, 2, 3, 5]”呢?
這是因為 “print f(4,[‘x’])”時,默認變量並沒有被改變,因為默認變量的初始化只是被執行了一次(第一次使用默認值調用),初始化執行開闢的內存區(我們可以稱之為默認變量)沒有被改變,所以最後的輸出結果是“[1, 2, 3, 5]”。
運行python程序的兩種方式
運行python程序的兩種方式是什麼?python有兩種運行方式:交互式和腳本式。交互式可以通過cmd命令行窗口或者IDEL實現,而腳本式通過寫一個腳本(.py結尾的文檔)實現。其中交互式主要用於簡單的python運行或者測試調試python時用到,而腳本式是運行python程序的主要方法。
第一,交互式,通過Windows命令行工具進行交互式運行python。同時按下Windows鍵和R鍵,啟動“運行”,在“運行”中輸入cmd然後回車,即彈出命令行工具,然後輸入python回車,即出現如下界面。
第二,然後輸入print(‘Helloworld!’),既可以敲一行代碼,與python交互一次,python執行一次。
第三,通過IDEL交互式運行python。從“開始”中找到Python-IDEL,如下圖。
第四,啟動IDEL後,同樣輸入print(‘Helloworld!’),既可以敲一行代碼,與python交互一次,python執行一次。只不過IEDL中python代碼可以高亮顯示。
第五,腳本式運行python,在IDEL中點擊file-newfile,就會彈出一個未命名(Untitled)的腳本窗口,然後輸入如下代碼,並按Ctrl+S保存。
#20181216攝氏溫度和華氏溫度之間轉換
t=input(‘請輸入帶有單位符號的溫度(例如37C或者100F):’)
ift[-1]in(‘f’,’F’):
C=(eval(t[:-1])-32)/1.8 #如果輸入為華氏溫度,那麼轉換為攝氏溫度
print(‘轉變為攝氏溫度%.2fC為:’%C)
elift[-1]in(‘c’,’C’):
F=eval(t[:-1])*1.8+32 #如果輸入為攝氏溫度,那麼轉換為華氏溫度
print(‘轉變為華氏溫度%.2fF為:’%F)
else:
print(‘輸入格式有誤,請輸入帶有單位符號的溫度(例如37C或者100F):’)
第六,按F5運行上一步保存的***.py腳本,就會出現如下界面,提示:請輸入帶有單位符號的溫度(例如37C或者100F),隨便輸入一下就行,即通過腳本運行了python。
那麼,有關運行python程序的兩種方式的內容,小編就介紹到這裡了。小夥伴們可以用心了解一下哦!
本篇文章使用以下硬件型號:聯想小新Air15;系統版本:win10;軟件版本:python3.0。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199318.html