python學習之初識python

hetoto發表於2019-03-25

**>

一.python的發展史

**
1989年,Guido(龜叔),為ABC語言寫外掛,Monty Python喜劇團;
1990年,釋出python第一個版本;
2001年,2.x; (python2.7 —-> python2.8<不會存在>);
2013年,python3.0

程式語言:
C,Java,C++, C#, shell, ruby, php, JavaScript, Matlab等等
有以下兩種比較流行的分類:
1>

  • 面嚮物件語言
    ##面嚮物件語言(Object-Oriented Language)是一類以物件作為基本程式結構單位的程式設計語言,指用於描述的設計是以物件為核心,而物件是程式執行時刻的基本成分。語言中提供了類、繼承等成分,有識認性、多型性、類別性和繼承性四個主要特點。

  • 程式導向語言
    ##程式導向的語言也稱為結構化程式設計語言,是高階語言的一種。在程式導向程式設計中,問題被看作一系列需要完成的任務,函式則用於完成這些任務,解決問題的焦點集中於函式。其概念最早由E.W.Dijikstra在1965年提出,是軟體發展的一個重要里程碑。它的主要觀點是採用自頂向下、逐步求精的程式設計方法,使用三種基本控制結構構造程式,即任何程式都可由順序、選擇、迴圈三種基本控制結構構造。

  • 面向函式程式設計
    ##一種非馮·諾伊曼式的程式設計語言.函式式語言主要成分是原始函式、定義函式和函式型.這種語言具有較強的組織資料結構的能力,可以把某一資料結構(如陣列)作為單一值處理;可以把函式作為引數,其結果也可為函式,這種定義的函式稱為高階函式.程式就是函式,程式作用在結構型資料上,產生結構型結果,從根本上改變了馮·諾伊曼式語言的“逐詞”工作方式.

2>

  • 編譯型語言
    ##程式在執行之前需要一個專門的編譯過程,把程式編譯成 為機器語言的檔案,執行時不需要重新翻譯,直接使用編譯的結果就行了。程式執行效率高,依賴編譯器,跨平臺性差些。如C、C++、Delphi等.比如說在Windows用C寫了一個軟體,並不能在Linux上執行,也不能在IOS上執行;

  • 解釋型語言
    ##解釋性語言編寫的程式不進行預先編譯,以文字方式儲存程式程式碼。在釋出程式時,看起來省了道編譯工序。但是,在執行程式的時候,解釋性語言必須先解釋再執行。可以跨平臺,你用python寫一個APP,只需要寫一份,在所有的平臺上可以執行;

python的優缺點
優點:

-簡單:程式碼量相比較c會少很多,有很多的庫
-優雅:必須按照格式進行縮排
-明確:僅有唯一最優解

缺點:
速度慢,但是,隨著電腦配置的提高,執行python的速度比之前快了很多,比如一個程式python完成需要兩秒,C只需要幾毫秒,這二者的差別從整體的完成度來說,是相差不大的!

直譯器問題

# 可移植性的對比,如果你的程式碼移植到的機器,python並未安裝在/usr/bin/python這裡,就使用第二種;
#!/usr/bin/python
#!/usr/bin/env python

中文問題

#coding:utf-8          
#coding=utf-8

#encoding:utf-8
#encoding=utf-8

#encoding:-*- utf-8 -*-    ##此種方法僅僅只是看起來比較好看

編碼格式:
ASCII:美國人發明了計算機,1個位元組(8位)去儲存一個英文字元,2^8=256;
Unicode:2個位元組(16位)去儲存一個字元,2^16=65536;
GB2312:每個漢字及符號以兩個位元組來表示。第一個位元組稱為“高位位元組”(也稱“區位元組)”,第二個位元組稱為“低位位元組”
utf-8:在程式設計過程中,英文多,中文少。如果是英文字元,就用一個位元組去儲存;如果是中文用3個位元組去儲存;

python的IDE工具

sublime
eclipse
pycharm

二.思考

你理解的python是什麼?為什麼會使用python?有哪些應用場景?
互動式必須掌握的一門指令碼語言,Python的語法簡單,速度相比較而言還是可以接受的,只需要呼叫,模組化。爬蟲,大資料,人工智慧,自動化運維,自動化測試。

解釋python第一行怎麼寫?寫的內容是做什麼的?怎麼寫可移植性強?為什麼?
#!/usr/bin/python ##檔案的直譯器
#!/usr/bin/env python ##此種方法的直譯器,會自動的找python檔案,前一種方法使用的是yum安裝的,其路徑是標準唯一的,而如果使用原始碼安裝,路徑會有所差異

解釋編碼格式ASCII,Unicode和utf-8的不同點?
ASCII:1個位元組(8位)儲存一個英文字元,2^8=256;
Unicode:2個位元組(16位)去儲存一個字元,2^16=65536;
utf-8:在程式設計過程中,英文多,中文少。如果是英文字元,就用一個位元組去儲存;如果是中文用3個位元組去儲存;

python2中raw_input和input的區別?
raw_input:字串型
input:數值型

三個雙引號號(或者三個單引號的)可以用來做什麼?
a、批量註釋
b、標準輸出時,可以使用此方法

相關文章