Python基礎一

袁勇i發表於2018-04-27

一、python介紹

1.出生與應用

  python是由龜叔在1989年的一個無聊聖誕節開發出來的,他可真是牛批。。。。開發了之後,python語言在程式設計師的世界裡發展迅猛,到底有多牛逼,請看下圖。

由此可見python語言在2017年已經超過昔日的大佬PHP..

  在國內目前也應用的很廣泛瓣、知乎、百度、騰訊、汽車之家、美團等。

  另外值得一提的是python目前主要分3.x和2.X版本,2.x的版本將在2020年停止更新。

2.python是什麼程式語言

程式語言主要從以下幾個角度為進行分類,編譯型和解釋型、靜態語言和動態語言、強型別定義語言和弱型別定義語言,每個分類代表什麼意思呢,我們一起來看一下。

2.1 編譯型與解釋型。

編譯器是把源程式的每一條語句都編譯成機器語言,並儲存成二進位制檔案,這樣執行時計算機可以直接以機器語言來執行此程式,速度很快; 

直譯器則是隻在執行程式時,才一條一條的解釋成機器語言給計算機來執行,所以執行速度是不如編譯後的程式執行的快的. 

這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位制的形式)

 

 

編譯型
優點:編譯器一般會有預編譯的過程對程式碼進行優化。因為編譯只做一次,執行時不需要編譯,所以編譯型語言的程式執行效率高。可以脫離語言環境獨立執行。
缺點:編譯之後如果需要修改就需要整個模組重新編譯。編譯的時候根據對應的執行環境生成機器碼,不同的作業系統之間移植就會有問題,需要根據執行的作業系統環境編譯不同的可執行檔案。

解釋型
優點:有良好的平臺相容性,在任何環境中都可以執行,前提是安裝瞭直譯器(虛擬機器)。靈活,修改程式碼的時候直接修改就可以,可以快速部署,不用停機維護。

缺點:每次執行的時候都要解釋一遍,效能上不如編譯型語言。

2.2動態語言和靜態語言
通常我們所說的動態語言、靜態語言是指動態型別語言和靜態型別語言。

(1)動態型別語言:動態型別語言是指在執行期間才去做資料型別檢查的語言,也就是說,在用動態型別的語言程式設計時,永遠也不用給任何變數指定資料型別,該語言會在你第一次賦值給變數時,在內部將資料型別記錄下來。Python和Ruby就是一種典型的動態型別語言,其他的各種指令碼語言如VBScript也多少屬於動態型別語言。

(2)靜態型別語言:靜態型別語言與動態型別語言剛好相反,它的資料型別是在編譯其間檢查的,也就是說在寫程式時要宣告所有變數的資料型別,C/C++是靜態型別語言的典型代表,其他的靜態型別語言還有C#、JAVA等。

2.3強型別定義語言和弱型別定義語言

(1)強型別定義語言:強制資料型別定義的語言。也就是說,一旦一個變數被指定了某個資料型別,如果不經過強制轉換,那麼它就永遠是這個資料型別了。舉個例子:如果你定義了一個整型變數a,那麼程式根本不可能將a當作字串型別處理。強型別定義語言是型別安全的語言。

(2)弱型別定義語言:資料型別可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦不同資料型別的值。

強型別定義語言在速度上可能略遜色於弱型別定義語言,但是強型別定義語言帶來的嚴謹效能夠有效的避免許多錯誤。另外,“這門語言是不是動態語言”與“這門語言是否型別安全”之間是完全沒有聯絡的!
例如:Python是動態語言,是強型別定義語言(型別安全的語言); VBScript是動態語言,是弱型別定義語言(型別不安全的語言); JAVA是靜態語言,是強型別定義語言(型別安全的語言)。

通過上面這些介紹,我們可以得出,python是一門動態解釋性的強型別定義語言。

3.python的優缺點

  優點:1.python的開發效率很高      python有非常強大的第三方庫

              2.可移植性     由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的                                       所有Python程式無需修改就幾乎可以在市場上所有的系統平臺上執行

              3可嵌入型    你可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能

4.python易學  優雅  簡單

5.可擴充套件性             如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。

缺點    

 

  1.速度慢

   2.程式碼不能加密

3.  執行緒不能利用多CPU問題

3.python的種類

python分為Cpython Jpython IronPython  PyPy   IPytho  

所有的python的程式碼規則一樣 不同的只是直譯器 我們一般都使用的Cpython

二、 下載安裝python

安裝python這裡就不多說了 相信大家都應該會安裝

三、python的基礎知識

1、python的的第一個執行程式

首先配置好開發環境之後 在notepad++裡面建立一個py檔案  開啟python直譯器 執行第一個py檔案

 

2、變數

變數的規則:1、只能是數字、字母、_   組成

                      2、不能以數字開頭  變數名不能是中文

                      3、不能是python中的關鍵字

                      4、要具有可描述性  不能沒有意義

                    

                      5,變數不能太長。
                      6,官方推薦:

#駝峰體

AgeOfOldboy = 56

NumberOfStudents = 100

#下劃線

age_of_oldboy = 56

number_of_students = 80

3、常量

在python中程式設計師預設把全大寫的變數當做常量

比如:BIRTHDAY=20060904

4、註釋

原因:幫你或者別人來更好地理解程式碼

註釋分為單行註釋:#

多行註釋:“`woaini

        nikezhentamdehuai “`

5、基礎的資料型別

字串 數字   布林值  列表  元祖  字典

type()可以檢視資料型別

6、使用者互動

input()python3

raw_input()  python2

input 的資料型別為字串

#!/usr/bin/env python
#:*-* encoding:utf-8 *-*
#print "hello 世界"
name = input(`請輸入的名字:`)
age = input(`請輸入你的年齡:`)
hobby = input(`請輸入你的愛好:`)
s = "我的名字是" + name +"我的年齡" + age +"我的愛好是"+ hobby
print(s)

 

7,if語句
第一種結構:
if 條件:
結果
第二種結構:

if 條件:
結果
else:
結果
第三種結構:

 

choice = input(`請輸入你的猜的數字:`)
if choice == `2`:
    print(`我請你吃飯`)
elif choice == `6`:
    print(`免一週作業`)
elif choice == `3`:
    print(`一起去大保健`)

 

第四種結構:

choice = input(`請輸入你的猜的數字:`)
if choice == `2`:
    print(`我請你吃飯`)
elif choice == `6`:
    print(`免一週作業`)
elif choice == `3`:
    print(`一起去大保健`)
else:
    print(`選擇錯誤.....`)

 

第五種結構:
if 條件:
    if 條件:
        結果
else:
    結果
else:
    結果

int —> str str(12)
str —> int `123` `123q` 全部由數字組成的字串才能轉換成數字
int(`123`)

8、while語句。

while 條件:
    結果

跳出迴圈的條件:
1,改變條件。
2,break。

break : 結束迴圈。
continue:結束本次迴圈,繼續下一次迴圈。

9、格式化輸出

有時候我們需要print一個固定的格式

比如我們要輸出如下的一個資訊

------------ info of yuanyong -----------
Name  : yuanyong
Age   : 22
job   : it
Hobbie: girl
------------- end -----------------
name = input("請輸入你的名字:")
job=input("請輸入你的工作:")
age=input("請輸入你的年齡:")
info=(```-------info of   %s---------
            name : %s
            job     : %s
            age    : %s```
           ------end-------```) % (name, name ,job,age)
print(info)

 


相關文章