1. 程式人生 > 實用技巧 >python應用(1):安裝與使用

python應用(1):安裝與使用

程式設計師的基本工作是寫程式,而寫程式要用到程式語言,程式語言可以分為編譯型語言跟解釋型語言。

編譯型語言,就是在執行程式碼之前,先把原始碼編譯(加連結)成另一種形式的程式碼,比如目的碼,或位元組碼,這種程式碼在執行的時候速度可以更快一些,因為它更易於被機器執行。原始碼,就是你寫的程式程式碼,是給人看的程式碼。
解釋型語言,就是在執行程式碼的時候,才把原始碼進行轉換,轉換成機器能識別的指令,然後執行。因為執行時才來解釋,所以相對於編譯型語言在執行速度上就慢一些。

解釋型語言在執行上比編譯型語言慢,但是,慢是相對的。別人的獎金是一個億,而你的獎金是一千萬,那一千萬的獎金是不是一定不能接受呢?在很多情況下,你很可能並不關心程式執行的速度,因為它總是在接受的範圍內。反而,編寫程式的速度,很可能是你關心的--誰不想飛快地寫出程式碼?

解釋型語言,一般都是編寫速度很快的語言,因為在設計上,它就是要做到易於使用。

事實上,使用解釋型語言,可以輕易編寫出很多程式,而這些程式,編譯型語言有可能需要耗大力氣才能編寫出來。當然,這並不能說明手槍比導彈好用。

c、c++、java、pascal、fortan等等,是編譯型語言。

python、awk、perl、ruby、shell、javascript、php等等,是解釋型語言。

解釋型語言,也叫指令碼語言,而script也可翻譯成劇本,所以指令碼語言,就是用來給機器寫劇本的語言。不同的指令碼語言,應用於不同領域,比如有些專門用於文字處理(awk等),有些專門用於web頁面(javascript等)。但也有一些指令碼語言追求更廣泛的應用,比如python等。對於一個想接觸程式設計的人來說,指令碼語言是一個好的選擇,主要是因為它易於上手,而能上手對於士氣來說是多少重要!

而python則是指令碼語言中的一個很好的選擇。

本文介紹python的起步,讓機器執行程式碼。 為了執行python語言寫的程式碼,先要安裝能夠解釋原始碼的python程式。

(1)安裝python

python程式可以在多個平臺上執行,包括unix、linux、macosx、windows等,這裡提到的“python程式”,指的是能解析python程式碼的程式,是一個解析器。

我使用的是mac osx系統,mac電腦,所以以下的安裝與使用,都以mac環境為前提,你可以根據實際環境進行調整--這些知識都很容易在網上搜索到的。

首先應該知道python的官網,python的官網是這個:
https://www.python.org/

在python的官網中可以找到最新版本的python程式來安裝,如下圖所示:

因為mac系統已經自帶了python2.x的版本,所以就算不安裝最新版本的python,也可以使用python程式。為了使用python3語言,我還是安裝了比較新的python程式,並且也保留了系統自帶的python2.7.15的版本。比如我的python版本是這樣的:

為了區分兩個版本的python程式,我給python3起來一個別名:

alias py='/System/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5'

所以,使用"python"時表示使用的是python2.x版本,而使用"py"則表示使用python3.x版本。

如果想檢視python程式所在的目錄,可以使用which這個shell命令:

以上介紹了python程式的安裝,操作上相對是簡單的。另外,你也應該安裝pip3,pip3是一個安裝python庫的程式,你一定會用到它的,而對於安裝辦法,這裡不介紹了,你可以通過百度搜索到。

在安裝好python程式後,就可以使用python程式了。

(2)使用python

使用python程式,一般有兩種操作。

一是直接啟動python程式,進到互動模式,再逐行寫程式碼地給python程式來解釋,比如下面截圖所示:

使用exit(0),可以退出這種互動模式。

二是把python程式碼寫到檔案中,並以.py作為字尾來命名,然後用python程式來執行它,比如下面截圖所示:

這裡的test.py檔案,就是指令碼(讓機器執行的劇本)。

一般來說,寫指令碼再呼叫python程式來執行,是常規的操作。

(3)專用的python環境

python之所以易用,有一個重要的原因,就是提供了很多現成的庫,就相當有很多現成的工具供你使用,你不必從頭開發。在安裝各種工具庫時,預設是全域性生效的,相當是一個全域性的python環境,而有時候一個區域性的python環境更有利於控制或試驗,所以怎麼弄出一個專用的區域性的python環境就是一個需求了。

可以這樣生成一個python環境,也就是一個目錄:

pip3 install virtualenv --先要安裝virtualenv程式
virtualenv -p python3 pyenv --pyenv就是一個專用的python環境目錄
source pyenv/bin/activate

以上建立並激活了(source)一個python環境,如果想禁用則執行deactivate命令,如果想刪除則直接刪除這個目錄即可。在source啟用環境後,命令的前面會多一個括號標誌,比如這樣:

(4)一個例子:把一段文字轉換成語音

好了,一切準備就緒,那就來寫一個例子吧。寫一個這樣的程式:輸入一段文字,轉換成語音,並輸出一個mp3檔案。對,這就是網上常見的TTS(Text To Speech),即“從文字到語音”。當然,轉換的關鍵技術是別人的,我們只是把這個工具庫引進來使用。

這裡使用的tts庫叫pyttsx3,這樣安裝:

pip3 install pyttsx3

有了這個庫就可以把文字轉成語音,可以播放出來,也可以儲存成檔案,而儲存出來的檔案是aiff的檔案格式,並且裡面的音訊是pcm_s16be編碼,而我們更常見的音訊格式是mp3或aac之類,所以進一步的需求,是把這個aiff檔案轉換成mp3編碼的檔案,這時,可以使用另一個庫,叫AudioSegment,這樣安裝:

pip3 install AudioSegment

然後就是寫程式碼了:

import pyttsx3
from pydub import AudioSegment

tts = pyttsx3.init()
content = "你們好啊,我是小程,今年五歲。" 
outfile = "out.aiff"
#tts.say(content)
tts.save_to_file(content, outfile)
tts.runAndWait()
AudioSegment.from_file(outfile).export("out.mp3", format="mp3")

執行之後,在程式目錄下,會生成一個out.mp3的檔案,如果你是在微信公眾號(比如“廣州小程”)看到這篇文章,那你可以聽一下。
(out.mp3的音訊)


總結一下,本文主要介紹了python程式的安裝與使用,在環境準備好的情況下,特別是mac環境上,這兩步的操作是很簡單的。這裡也介紹了怎麼建立一個專屬的python環境(目錄),最後以一個TTS簡單程式結束本文,更多內容下回分解。