A. 下載python後如何啟動
啟動Python有兩種方法。一種方法是從IDLE啟動:
在開始菜單中,可以看到「Python3.6.3」下面的「IDLE(Python GUI)」,打開IDLE窗口,如下:
IDLE是一個Python shell。是一個通過鍵入文本與程序交互的途徑,可以利用這個shell與Python交互。IDLE本身還是一個GUI(圖形用戶界面)。
Python學習網- 專業的python自學、交流公益平台!
以上都只是在交互模式中單個的Python指令,通過這些指令可以查看Python能夠做些什麼,不過這些都不是真正的程序,如果只是在交互模式中鍵入指令,Python不會記住你鍵入的內容。IDLE提供了一個文本編輯器,可以從IDLE的菜單中選擇FILE->New Window找到這個文本編輯器。
標題欄顯示Untitled,表示未命名,鍵入代碼後,使用File->Save或者File->Save As菜單項保存這個程序,文件名末尾的.py部分是為了告訴你的計算機這是一個Python程序,而不是普通的文本文件。
對於Python程序,IDLE編輯器會把Python關鍵字用橙色表示,引號中間的所有內容都顯示為綠色。
保存程序之後,可以選擇按F5鍵或者選擇Run->Run Mole,即可運行程序。此時就會看到Python Shell窗口變為活動窗口。
如果程序在運行過程中出現錯誤無法運行,可能會發生兩種不同的錯誤:
語法錯誤:這時運行程序前,IDLE會彈出一個類似『There's an error in your program:invalid syntax.』的提示。
運行時錯誤:IDLE無法檢查出錯誤,在運行時,shell中會提示錯誤信息,Traceback開頭的代碼行表示錯誤消息開始。
第二種辦法是在命令行啟動python
方法是win+r打開窗口,輸入cmd進入命令行,輸入python,回車,便進入了python環境。
B. python中類屬性的執行過程是什麼樣的
每輪調用都修改的是tool的count+=1,非這些對象的count += 1, 其實我也繞暈了,建議以後使用對象名調用類,類屬性,類方法,類裝飾器,這樣做不會吃虧的。
C. python如何運行程序
安裝並配置完成之後,我們就可以編寫第一個python程序。學過其他語言的兄弟姐妹們,都知道語言的入門程序就是hello world。那麼,我們這里也以hello world來拋磚引玉,打開python學習的大門。
python運行有兩種方式,一種是在python互動式命令行下運行;另一種是使用文本編輯器,在命令行中直接運行。
注意:以上兩種運行方式,都是以CPython解釋器來編譯運行的。當然也可以將python代碼寫入到eclipse中,使用JPython解釋器運行,需要自己配置環境。(推薦學習:Python視頻教程)
一、命令行與互動式命令行
首先要搞清楚這個命令行的概念。
1.命令行
定義:出現類似「C:\>」,則是在Windows提供的命令行模式
進入模式的方式:Windows中,直接win+r鍵進入
2.互動式命令行
定義:出現「>>>」,則是python的互動式命令行
進入模式的方式:Windows命令行中輸入python即可
二、互動式命令行中運行python代碼
cmd窗口中,輸入python後,進入python互動式命令行。直接輸入代碼:
print 『hello world!』
python-23.png
可以看到界面上運行結果,表示運行成功!
在Python的互動式命令行寫程序,好處是一下就能得到結果,壞處是沒法保存,下次還想運行的時候,還得再敲一遍。
所以,實際開發的時候,我們總是使用一個文本編輯器來寫代碼,寫完了,保存為一個文件,這樣,程序就可以反復運行了。
三、命令行運行python代碼
1.python代碼編寫及保存
我們將「hello world!」程序用文本編輯器寫出來,保存下來,並命名,這里我們命名為hello.py,保存到F:\workspace。
命名時,要注意:
1)文件要以.py結尾,其他都不可以
2)文件名只能是英文字母、數字和下劃線的組合。
文本編輯器推薦:Notepad++、Sublime Text
2.python代碼運行
在命令行模式中,輸入python F:\workspace\hello.py,即可運行成功。
運行時,要注意:
1)python文件存儲路徑是相對路徑,運行時,一定要說明python文件的存儲路徑,
當然,用Python開發程序,完全可以一邊在文本編輯器里寫代碼,一邊開一個互動式命令窗口,在寫代碼的過程中,把部分代碼粘到命令行去驗證,事半功倍!
D. python程序運行結束後,怎麼讓它自動回到開頭重新運行
1、首先在電腦的搜索框中輸入「idle」,出現的「IDLE」就是Python的入口,如下圖所示。
E. python運行過程中出現已停止工作,是什麼問題
解決方法:
1、右擊計算機-屬性(如沒有計算機選項,可以讓用戶在左下角開始-計算機-屬性也可),選擇左上方的高級系統設置。
2、選擇「高級」,再選擇性能欄里的「設置」
3、選擇「數據執行保護」,選擇「為除下列選定程序之外的所有程序和服務啟用DEP(U)」,再點擊下方的「添加」從硬碟中選中該程序即可。
F. Python運行效率低的原因有哪些
Python的設計哲學是 第一能讓人看懂,附帶能在機器上運行,
c語言的設計哲學是 第一能讓機器快速運行 附帶能讓人看懂
G. 為什麼python運行不了
您進入了Python模塊的幫助文檔這個命令行下,很顯然,這個命令行只有兩個命令可以供您選擇:'b'、'q'。輸入'b'打開browser,輸入'q'退出該命令號!
建議先輸入'q' ,然後回車,先退出來再說。
如果您喜歡這種黑窗口裡面編寫print,建議使用"Win + R",在彈出對話框中輸入"cmd"
打開命令行界面。
然後界面上輸入「Python」,這樣您就進入了Python環境,盡情的輸入print語句吧!
下面是具體的過程,截圖不容易,希望採納!!!
具體過程
謝謝!
H. 運行python程序的兩種方式
python程序的兩種運行方式是什麼
第一種方式:REPL
所謂REPL即read、eva、print、loop(讀取、計算、列印、循環),實現REPL運行方式有以下兩種:
1、IDLE( 集成開發環境或集成開發和學習環境)是Python的集成開發環境
1.png
推薦:編程學習課程
2、Windows命令提示符
2.png
第二種方式:運行腳本
REPL方式的優點是簡單明了,但是它在面對很多大型項目時存在很多的不足。我們可以通過運行腳本的方式來解決這一問題
打開IDLE,點擊New File,新建項目,在這里輸入想要運行的代碼
3.png
注意這里並沒有連續的三個大於號出現,編寫完腳本之後進行保存,記錄保存的路徑,命名為hello.py
運行腳本時,打開Windows命令提示符,輸入python 文件路徑(或py 文件路徑 或直接文件路徑)
4.png
回車得到運行結果。
註:也可以使用其他文本編輯器來寫python代碼,例如sublime text3、vscode(vscode教程),運行方式相同。
I. python運行過程中如何看進度
實時列印出來,可以用tqdm等庫
J. 一文帶你讀懂Python中的進程
進程
進程(Process)是計算機中的程序關於某數據集合上的一次運行,即正在運行的程序,是系統進行資源分配和調度的基本單位,進程是對正在運行程序的一個抽象,在早期面向進程設計的計算機結構中,進程是程序的基本執行實體,在當代面向線程設計的計算機結構中,進程是線程的容器,線程是執行的實體。進程的概念起源於操作系統,是操作系統最核心的概念,操作系統的其他所有內容都是圍繞進程的概念展開的。
在早期計算機中可以利用的cpu只有一個,為了充分利用CPU性能,提高用戶操作體驗,出現了多道技術。將一個單獨的cpu虛擬成多個cpu(多道技術:時間多路復用和空間多路復用+硬體上支持隔離),即使在一個單核CPU也能保證支持(偽)並發的能力。如果沒有進程的抽象,現代計算機將不復存在。
狹義定義:進程是正在運行的程序的實例(an instance of a computer program that is being executed)。
廣義定義:進程是一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。它是操作系統動態執行的基本單元,在傳統的操作系統中,進程既是基本的分配單元,也是基本的執行單元。
操作系統的作用:
隱藏復雜的硬體介面,提供良好的抽象介面。
管理、調度進程,使多個進程對硬體的競爭變得有序。
多道技術:針對早期單核CPU,實現多個程序的並發執行,現在的主機一般是多核,每個核都會利用多道技術,如有4個cpu,運行於cpu1的某個程序遇到io阻塞,會等到io結束再重新調度,重新調度是可能會被調度到4個cpu中的任意一個,具體由操作系統調度演算法決定。
多道技術的主要特性如下:
(1)空間上的復用:內存中可以同時有多道程序。
(2)物理隔離:多個程序在內存中都有各自獨立的內存空間,互不影響。
(3)時間上的復用:多個程序在操作系統的調度演算法下,在不同的時間段內分別佔有CPU資源。
需要注意的是如果一個進程長時間佔用CPU資源,操作系統會強制將CPU資源分配給其它在就緒隊列中的程序,避免一個程序長時間佔有CPU資源,導致其它程序無法運行。
相關推薦:《Python視頻教程》
關於進程的一些概念:
第一,進程是一個實體。每一個進程都有它自己的地址空間,一般情況下,包括文本區域(text region)、數據區域(data region)和堆棧(stack region)。文本區域存儲處理器執行的代碼,數據區域存儲變數和進程執行期間使用的動態分配的內存,堆棧區域存儲著活動過程調用的指令和本地變數。
第二,進程是一個「執行中的程序」。程序是一個沒有生命的實體,只有處理器賦予程序生命時(操作系統將程序載入到內存),它才能成為一個活動的實體,我們稱其為進程。
進程是操作系統中最基本、重要的概念。是多道程序系統出現後,為了刻畫系統內部出現的動態情況,描述系統內部各道程序的活動規律引進的一個概念,所有多道程序設計操作系統都建立在進程的基礎上。
進程的特性:
動態性:進程的實質是程序在多道程序系統中的一次執行過程,進程是動態產生,動態消亡的。
並發性:任何進程都可以同其他進程一起並發執行
獨立性:進程是一個能獨立運行的基本單位,同時也是系統分配資源和調度的獨立單位;
非同步性:由於進程間的相互制約,使進程具有執行的間斷性,即進程按各自獨立的、不可預知的速度向前推進
結構特徵:進程由程序、數據和進程式控制制塊三部分組成。
多個不同的進程可以包含相同的程序,一個程序在不同的數據集里就構成不同的進程,能得到不同的結果,但是執行過程中,程序不能發生改變。
進程與程序的區別:
程序是指令和數據的有序集合,是對指令、數據及其組織形式的描述,其本身沒有任何運行的含義,是一個靜態的概念。而進程是程序在處理機上的一次執行過程,它是一個動態的概念。
程序可以作為一種軟體資料長期存在,而進程是有一定生命期的。程序是永久的,進程是暫時的。
進程的調度:
要想多個進程交替運行,操作系統必須對這些進程進行調度,這個調度也不是隨機進行的,而是需要遵循一定的法則,由此就有了進程的調度演算法。
1、先來先服務演算法
先來先服務(FCFS)調度演算法是一種最簡單的調度演算法,該演算法既可用於作業調度,也可用於進程調度。FCFS演算法比較有利於長作業(進程),而不利於短作業(進程)。由此可知,本演算法適合於CPU繁忙型作業,而不利於I/O繁忙型的作業(進程)。
2、短作業優先調度演算法
短作業(進程)優先調度演算法(SJ/PF)是指對短作業或短進程優先調度的演算法,該演算法既可用於作業調度,也可用於進程調度。但其對長作業不利;不能保證緊迫性作業(進程)被及時處理;作業的長短只是被估算出來的。
3、時間片輪轉法
時間片輪轉(Round Robin,RR)法的基本思路是讓每個進程在就緒隊列中的等待時間與享受服務的時間成比例。在時間片輪轉法中,需要將CPU的處理時間分成固定大小的時間片,例如,幾十毫秒至幾百毫秒。如果一個進程在被調度選中之後用完了系統規定的時間片,但又未完成要求的任務,則它自行釋放自己所佔有的CPU而排到就緒隊列的末尾,等待下一次調度。同時,進程調度程序又去調度當前就緒隊列中的第一個進程。
顯然,輪轉法只能用來調度分配一些可以搶占的資源。這些可以搶占的資源可以隨時被剝奪,而且可以將它們再分配給別的進程。CPU是可搶占資源的一種。但列印機等資源是不可搶占的。由於作業調度是對除了CPU之外的所有系統硬體資源的分配,其中包含有不可搶占資源,所以作業調度不使用輪轉法。
在輪轉法中,時間片長度的選取非常重要。首先,時間片長度的選擇會直接影響到系統的開銷和響應時間。如果時間片長度過短,則調度程序搶占處理機的次數增多。這將使進程上下文切換次數也大大增加,從而加重系統開銷。反過來,如果時間片長度選擇過長,例如,一個時間片能保證就緒隊列中所需執行時間最長的進程能執行完畢,則輪轉法變成了先來先服務法。時間片長度的選擇是根據系統對響應時間的要求和就緒隊列中所允許最大的進程數來確定的。
在輪轉法中,加入到就緒隊列的進程有3種情況:
(1)一種是分給它的時間片用完,但進程還未完成,回到就緒隊列的末尾等待下次調度去繼續執行。
(2)另一種情況是分給該進程的時間片並未用完,只是因為請求I/O或由於進程的互斥與同步關系而被阻塞。當阻塞解除之後再回到就緒隊列。
(3)第三種情況就是新創建進程進入就緒隊列。
如果對這些進程區別對待,給予不同的優先順序和時間片從直觀上看,可以進一步改善系統服務質量和效率。例如,我們可把就緒隊列按照進程到達就緒隊列的類型和進程被阻塞時的阻塞原因分成不同的就緒隊列,每個隊列按FCFS原則排列,各隊列之間的進程享有不同的優先順序,但同一隊列內優先順序相同。這樣,當一個進程在執行完它的時間片之後,或從睡眠中被喚醒以及被創建之後,將進入不同的就緒隊列。
多級反饋隊列:
前面介紹的各種用作進程調度的演算法都有一定的局限性。如短進程優先的調度演算法,僅照顧了短進程而忽略了長進程,而且如果並未指明進程的長度,則短進程優先和基於進程長度的搶占式調度演算法都將無法使用。
而多級反饋隊列調度演算法則不必事先知道各種進程所需的執行時間,而且還可以滿足各種類型進程的需要,因而它是目前被公認的一種較好的進程調度演算法。在採用多級反饋隊列調度演算法的系統中,調度演算法的實施過程如下所述。
(1) 應設置多個就緒隊列,並為各個隊列賦予不同的優先順序。第一個隊列的優先順序最高,第二個隊列次之,其餘各隊列的優先權逐個降低。該演算法賦予各個隊列中進程執行時間片的大小也各不相同,在優先權愈高的隊列中,為每個進程所規定的執行時間片就愈小。例如,第二個隊列的時間片要比第一個隊列的時間片長一倍,……,第i+1個隊列的時間片要比第i個隊列的時間片長一倍。
(2) 當一個新進程進入內存後,首先將它放入第一隊列的末尾,按FCFS原則排隊等待調度。當輪到該進程執行時,如它能在該時間片內完成,便可准備撤離系統;如果它在一個時間片結束時尚未完成,調度程序便將該進程轉入第二隊列的末尾,再同樣地按FCFS原則等待調度執行;如果它在第二隊列中運行一個時間片後仍未完成,再依次將它放入第三隊列,……,如此下去,當一個長作業(進程)從第一隊列依次降到第n隊列後,在第n 隊列便採取按時間片輪轉的方式運行。
(3) 僅當第一隊列空閑時,調度程序才調度第二隊列中的進程運行;僅當第1~(i-1)隊列均空時,才會調度第i隊列中的進程運行。如果處理機正在第i隊列中為某進程服務時,又有新進程進入優先權較高的隊列(第1~(i-1)中的任何一個隊列),則此時新進程將搶占正在運行進程的處理機,即由調度程序把正在運行的進程放回到第i隊列的末尾,把處理機分配給新到的高優先權進程。