< 返回索引頁 html
<!-- /TOC -->
< 返回索引頁編程
我的PC計算機系統組成分硬件
和軟件
量大部分。硬件系統主要由中央處理器、存儲器、輸入輸出控制系統和各類外部設備組成。軟件分爲系統軟件和應用軟件。segmentfault
圖片來源:百度百科windows
那本教程涉及的部分,爲計算機應用軟件編程。
第一代電子計算機 - ENIAC
計算機是不能識別人類語言的,那麼她們是如何處理任務的呢?計算機歸根結底是一種電路設備,她們底層處理都是經過電路的開關來識別。根據這一點,人們就經過將任務指令轉化爲用0和1的二進制串來標識,從而讓計算機系統能夠識別。這種直接有二進制代碼組成的程序語言叫機器語言
。後來人們在二級制的機器語言上發明了彙編語言
,只用指令集來對應不一樣的機器指令,經過彙編過程轉換成機器指令來執行。再後來到20世紀中期,一大批高級語言誕生,包括後來應用普遍的C、VB等語言。
如今咱們知道,計算機是使用 0和1 的二進制串來執行指令的。那麼這些0和1是如何表示指令的呢? 這便須要一個二進制數據和實際人類語言的一個對應關係,這套對應關係便成爲字符編碼
。字符編碼使用8個二進制位做爲一個單位,叫作一個字節
,8個二進制位能夠標識256中狀態。
ASCII
上世紀60年代,美國製定了一套字符編碼,對英語字符與二進制位之間的關係,作了統一規定。這被稱爲 ASCII 碼,一直沿用至今。
ASCII 碼一共規定了128個字符的編碼,好比空格SPACE是32(二進制00100000),大寫的字母A是65(二進制01000001)。這128個符號(包括32個不能打印出來的控制符號),只佔用了一個字節的後面7位,最前面的一位統一規定爲0。
隨着計算機的普及,ASCII碼已經不能知足人們的需求,除英語外的其餘語言沒法用ASCII編碼來映射。因而,各國家本身制定一些編碼,如我國制定了簡體中文GB2312
,使用2個字節來標識一個漢字,便可表示256*256=65535個漢字,後來的升級版GBK
,這種以2個字節來表示的編碼成爲ANSI編碼
;歐洲國家則使用沒有使用的首位二進制位來制定了標識字符的標準。
Unicode
隨着計算機的發展普及,不統一的編碼問題,極大的影響了計算機的發展及交流。Unicode (統一碼,萬國碼)編碼此時應運而生,1991年由統一碼聯盟首次發佈標準。他使用2到4個字節來表示一個字符,一個字符的Unicode編碼是肯定的。Unicode 是一個很大的集合,如今的規模能夠容納100多萬個符號,詳細可見Unicode編碼表,如今還在完善擴充。
Unicode 只是一個符號集,它只規定了符號的二進制代碼,卻沒有規定這個二進制代碼應該如何實現。形成如下問題:
UTF
Unicode 編碼表示同一個字符時,比ASCII碼的佔用空間大的多,這在網絡傳輸過程當中是很是佔用資源的。Unicode的實現方式不一樣於編碼方式,是有多重實現方式的,爲了節省空間,人們設計了可變長的Unicode實現方式,Unicode的實現方式稱爲Unicode轉換格式(Unicode Transformation Format,簡稱爲UTF)。UTF-8 就是在互聯網上使用最廣的一種可變長 Unicode 的實現方式。除了UTF-8含有 UTF-1六、UTF-32等版本。
總結以下:
計算機編碼基本分類以下:
圖片來源:regexlab
擴展閱讀:
發展至今,如今計算機中,當內存處理時統一使用了Unicode編碼,當須要保存到硬盤或者須要傳輸的時候,就轉換爲UTF-8等可變編碼。由於UTF編碼的可變性,在內存中處理很是耗時,在內存中統一使用Unicode編碼,Unicode在編碼方式上對應的字符是惟一的。在存儲和專屬時,UTF編碼則更節省空間。
咱們先來看一段Python代碼:
name = input('請輸入姓名:') def say_hello(name='Tim'): print('%s,hello!'%name) say_hello(name)
咱們來看下這段程序作了什麼事?程序提示咱們輸入姓名,當咱們輸入姓名後,程序把咱們錄入的姓名加工組成了一條語句,打印了出來。在這個過程當中,計算機內部是如何運做的呢?程序運行時,它在計算機的內存中開闢了一塊空間,用來存儲咱們接下要錄入的信息。當咱們輸入姓名後,它把姓名和內部定義好的hello拼接在一塊兒,打印了出來。
咱們把這種存儲可變化的值的對象叫作變量
。相對應的存儲不可變值的對象叫作常量
。而處理咱們輸入數據的這塊代碼叫作方法
。方法有方法名(say_hello)、參數(name)、和方法體(print)組成。其中最複雜的地方即是這個方法體,這個方法的功能和處理任務的邏輯都在這塊。
變量、常量和方法,以及方法體中複雜的控制邏輯語法共同構成了一套基本的編程語言。
window系統可直接從官網下載地址對應操做系統位數的exe安裝包,安裝便可。
安裝時須要注意一下幾點:
python
命令。安裝完畢後,打開系統CMD窗口,輸入python命令,見到以下信息便說明成功。
$ python3 Python 3.6.5 (default, Mar 30 2018, 06:42:10) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
mac 系統自帶了python2.7。咱們開發使用python3.6,那怎麼辦呢?建議從新安裝python3.6,而不是升級系統版本,由於系統python爲mac系統自帶的許多工具提供了語言環境,咱們儘可能不要去污染系統自帶的python,以避免形成系統工具不可用的狀況發生。
那如何安裝python3.6呢?咱們建議使用brew
mac軟件包管理工具統一安裝,執行以下命令便可:
brew install python
安裝完畢後,在咱們的命令行終端中輸入python命令檢查是否安裝成功。
Linux系統同mac同樣也自帶了python。一樣建議咱們安裝本身開發使用的python包,不要污染系統python包。Linux 系統安裝比較麻煩,須要咱們本身編譯安裝,具體步驟以下:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz tar zxvf Python-3.6.5.tgz
cd Python-3.6.5 ./configure --with-ensurepip=install make && make install
安裝成功後,會在/usr/local/bin
路徑下增長python3命令,咱們運行 python3
命令即是執行了咱們剛纔安裝的python,執行python
命令則會運行系統自帶的python。
一樣,在終端運行python3命令檢測是否安裝成功。
在命令行終端下,輸入 python
即打開了python的交換式環境,這是解釋性語言特有的。 在此環境下,咱們能夠直接運行python代碼,來作簡單的測試。
$ python3 Python 3.6.5 (default, Mar 30 2018, 06:42:10) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print('hello, world!') hello, world! >>>
退出交互式環境,使用exit()
。
針對於windows用戶,python 自帶了一個python shell小工具 IDLE。帶有代碼高亮和提示功能,如圖:
ipython 在命令行終端中使用,提供了代碼高亮和提示功能, 是mac和linux用戶經常使用的python shell。
sublime, 是一款插件式的代碼編輯器,可經過安裝不一樣的插件模塊來支持不一樣語言和擴展功能,而且擴平臺。
可經過以下步驟安裝配置:
一、能夠經過官方網站下載安裝程序安裝Sublime 3或Sublime 2。
二、安裝包管理工具。經過快捷鍵Ctrl+`或者在View菜單中選擇Show Console打開控制檯,輸入下面的代碼。
# Sublime 3 import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()) # Sublime 2 import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
SublimeCodeIntel - 代碼自動補全工具插件 Emmet - 前端開發代碼模板插件 Git - 版本控制工具插件 Python PEP8 Autoformat - PEP8規範自動格式化插件 ConvertToUTF8 - 將本地編碼轉換爲UTF-8
VSCode 是微軟公司出的一款輕量級插件式代碼編輯工具。它相似sublime也是能夠經過安裝插件模塊來擴展,它也是擴平臺的。
相比於Sublime VSCode 自帶部分代碼開發必須的插件,如git、debug工具和命令行工具等。
對於不喜歡折騰插件,且喜歡輕量級IDE的用戶來講,VSCode是最佳選擇了。
JetBrains 公司推出的標榜 Eclipse的跨平臺的 python 集成開發工具,它帶有一整套能夠幫助用戶在使用Python語言開發時提升其效率的工具,好比調試、語法高亮、Project管理、代碼跳轉、智能提示、自動完成、單元測試、版本控制。此外,該IDE提供了一些高級功能,以用於支持Django等框架下的專業Web開發。
PyCharm 是收費的,可是有功能閹割的社區版本可供咱們學習測試使用,下載地址。
Pycharm 的使用可參閱一些文檔:
本章主要講解了: