1. 程式人生 > >Day1----Python學習之路筆記(1)

Day1----Python學習之路筆記(1)

文件名 常見 python3 3.2 HP lob 計算機硬件 至少 數字

學習路線

Day1    Day2    Day3    Day4    Day5    ...待續    

一、了解開發語言

  1、高級語言:Python,Java,C++,C#,PHP,JS,Go,Ruby,SQL,Swift,Perl,Objective-C,R等等;

  2、低級語言:C語言、匯編;

  PS:為了好分類,這裏說的高級、低級不是說語言本身的高低級,高級語言更抽象化,更靠上層,低級語言更靠計算機底層硬件,所有的高級語言內部都是依賴C語言來實現的。高級語言---->背後是C語言---->背後是匯編(0101機器碼)---->機器執行

  3、字節碼和機器碼

    1>字節碼由高級語言轉換生成;

    2>機器碼是計算機硬件能夠直接運行的。

二、各語言之間的對比

  1、以上說的高級語言大致可以分為以下兩大類:

    1>PHP類:只適用於寫網頁,有局限性;

    2>Python、Java等類:既可以寫網頁,也可以寫後臺功能(業務軟件等)。

      -Python:執行效率比Java低,但開發效率高;

      -Java:執行效率比Python高,但開發效率低;

      -語言和語言之間速度之類的差異其實很小,關鍵在於你是否有一個優秀的程序員,一個優秀的程序員他用Python寫的程序,也比一般的程序員用Java寫的程序運行速度更快,更穩定。

  2、只要做程序開發,如果想深入,想不斷上升,以後一般來說一定要自學C語言,因為它是其他高級語言的基礎。

三、Python的種類

  1、Python最近越來越火,有很多公司都嘗試著結合自己公司語言推出各個公司自己的Python版本,比較常見的有CPython、JPython(Java Python)、JavaScriptPython、RubyPython、IronPython、PyPy等等。在上面這些Python版本種類中,我們一般選擇CPython來學習,下面這張圖就說明了為什麽:

技術分享圖片

  2、PyPy,這是用CPython開發的Python版本,相當於CPython的升級版,它的執行速度比Python快很多(其實是第一次執行沒這麽快,但是第二次及以後就很快了,原因是第一次代碼執行,轉換後的運行機器碼PyPy會拿在手上,下次運行就直接機器碼去運行,而Python拿在手上的是字節碼,每次運行還得轉換成機器碼運行)

    -速度方面:PyPy > CPython > JPython、RubyPython這一類;

    -但是,PyPy現在還不夠穩定,還不是主流,現在的主流仍然是用CPython;

    -以後我們可以用CPython寫好代碼,然後裝一個PyPy把代碼扔給他執行就行了。

四、Python安裝

1、下載安裝軟件

  1.1 下載

    -官網:https://www.python.org/downloads/

    -Python2:在繼續更新(使Python2越來越靠近Python3, 2020停止支持)。

    -Python3:一直在更新,我們現在學習Python就下載Python3版本。

  1.2 安裝

    -Windows:無腦點,安裝時記得勾上為Python創建環境變量,省得後面自己配。

    -Linux:新版本的Linux發行版本一般都是自帶Python2的,比如CentOS 7(Ubuntu 18.04自帶的Python3),如果沒Python3.X的可以再裝一個3.X的版本(兩個版本同時存在要配置一下,不然yum會報錯,CentOS 7上的配置過程我在另一個隨筆裏寫了http://www.cnblogs.com/shwee/p/9015059.html)。

  1.3 環境變量

    -Windows系統裏面安裝剛才說了只要安裝時勾上為其創建環境變量即可,Linux上面我在另一個隨筆寫了http://www.cnblogs.com/shwee/p/9015059.html。

2、Python安裝在系統上

   2.1 執行操作

     -寫一個文件,文件中按照Python的規則寫,將文件交給Python軟件,讀取文件中的內容,然後進行轉換和執行,最終獲取結果

     -Python軟件---->Python解釋器(做內存管理)

3、Python基礎知識

  3.1 第一句Python

    -後綴名可以是任意的(這就是為何叫python解釋器)

    -導入模塊時,如果不是.py文件會報錯

    ===>所以以後文件名統一都寫成.py的形式

  3.2 兩種執行方式

    -Python解釋器 .py文件路徑

    -Python IDLE 進入解釋器交互界面:實時輸入並獲取執行結果

    -Linux系統下:

      -文件名運行 ./test.py

      -文件內部頭部要加上下面聲明:#!/usr/bin/env python ----這一句是在Linux系統中特意需要的Python3解釋器路徑聲明。

      -接著在第二行加上: # _*_ coding:utf8 _*_ ----當然,用python3版本的解釋器運行就不需要加這一句聲明了,因為Python3版本默認的編碼格式就是utf-8,而Python2不是默認utf-8編碼格式。

      -這兩句如果要寫,就要寫在文件最開頭的兩行,且中間不能間插其他行進來,不然就不會生效了。

  3.3 介紹一下編碼格式

    -最早的編碼:ASCII,在美國產生,用八位來編碼表示一個字符。

    -後來各個國家都在使用計算機,都出臺自己國家的編碼格式,為了全球都能通用統一編碼,國際統一搞出了個萬國碼:Unicode,為了國際通用,它是用16位以上(至少16位,也就是兩個字節)的比特位來表示一個字符,但是這樣的話每個不同的字符都是用16位以上的比特位來編寫表示,但是就像ASCII編碼上面的一個字符八位就可以表示了,所以這樣有點浪費空間。

    -所以後面又搞出個utf-8的編碼格式,utf-8規定,一個字符能用多少位表示就用多少位,比如一個英文字母用8位表示,一個漢字用24位(3個字節)表示,不是像unicode上統一都用16位以上來表示,所以這樣比較節省空間,而且又做到了全球通用。

    -在Python3中,默認utf-8的編碼格式,因此文件開頭無需特別說明,但是Python2如果想要使用中文,就必須要做聲明,不然顯示會亂碼;

    -當然,如果寫一個文件只有中文,用GBK,GBK-2312這樣的國標碼當然比較好。

五、開始Python學習

  介紹完上面的東西,好了,我們來學習Python編寫代碼:

1、首先來認識變量名:

    -在python中我們常用字母、數字、下劃線來組合形成變量名,它們的組合有一定的規則,那就是數字不能作為變量名開頭,變量名不能是python關鍵字,最好不要和python內部的東西(比如某個函數、方法的名字,例如sum([1, 2, 4, 5, 8]),用sum作變量名使用求和方法sum()時就不會生效)一樣

    -python中的關鍵字有:

help("keywords")  #查Python關鍵字的命令

Here is a list of the Python keywords.  Enter any keyword to get more help.

False              def                 if              raise
None               del                 import          return
True               elif                in              try
and                else                is              while
as                 except              lambda          with
assert             finally             nonlocal        yield
break              for                 not                 
class              from                or                  
continue           global              pass     

    -變量名可以是生活的寫照,盡量讓變量名起得有意義一些,比如用戶的id信息,我們可以用user_id來表示,比如我們在編程中要經常用到一句話,我們可以定義變量名:str_u = ‘從你的全世界路過‘ ,等等

2、程序員第一句,讓計算機輸出顯示一句“你好,Python!”

# !/usr/bin/env python
# -*- coding: utf-8 -*-

print(‘你好,Python!‘)

輸出結果:你好,Python!

3、接下來我們來看看基本數據類型:

  3.1 <字符串>

    -字符串我們要用引號引起來,這樣Python解釋器程序一讀到這一句話,碰到引號引起來的內容,他就會把引號裏面的東西(全部)當做字符串處理,當然在Python中,單引號,雙引號,三引號等都能識別,如下:

name = ‘我是shw‘  name = "我是shw"  name = ‘‘‘我是shw‘‘‘  name = """我是shw"""

    -當然在python中字符串可以直接做加法:

n1 = "shw"   n2 = "nb"  n3 = n1 + n2
print(n3)

輸出結果:shwnb

    -也可以做乘法:

n1 = "shw"   n2 = n1 * 3
print(n2)

輸出結果:shwshwshw

  3.2 <數字>

    -在Python中我們可以做數字的數學運算(加減乘數,取商取余):

n1 = 30
n2 = 4
n3 = n1 + n2    #加法
n4 = n1 - n2    #減法
n5 = n1 * n2    #乘法
n6 = n1 / n2    #除法
n7 = n1 % n2    #取余數
n8 = n1 //n2    #取商
print(n3, n4, n5, n6, n7, n8)

輸出結果:34 26 120 7.5 2 7

4、學習條件語句

  4.1 if條件基本語句

#例一
if 條件:
    內部代碼塊1
    內部代碼塊2
else:
    ...
print(‘-----end------‘)

#例二
if 條件:
    pass        #什麽都不執行,過的意思
print(‘-----end------‘)

  4.2 if語句的嵌套

if 條件:
    if 條件:
        if 條件:
            if 條件:
                ...
            else:
        else:
    else:
else:

  4.3 多條件判斷if語句

if 條件:
    代碼塊
elif 條件:
    代碼塊
elif 條件:
    代碼塊
else:
    ...

  PS:在Python中用強制縮進(四個空格)來區分代碼塊,其他語言比如Java是用{}來區分,比如:

 if 條件{
    代碼塊
 }

5、循環語句

  5.1 死循環

#死循環,一直輸出ok    
while 1==1:
    print(‘ok‘)

  5.2 條件循環

#條件循環,屏幕輸出十次ok
count = 0
while count < 10
    print(‘ok‘)
    count = count + 1
print(‘------over------‘)

六、練習題

  涉及if條件語句,while循環語句,奇偶數,數字運算,變量定義等

1、使用while循環輸出1、 2、 3、 4、 5、 6、 8、 9

n = 1
while n < 10:
    if n == 7:
        pass
    else:
        print(n)
    n = n + 1
print(‘------over------‘)

輸出結果:
1
2
3
4
5
6
8
9
------over------

2、輸出1~100的所有奇數

n = 1
while n < 101:
    temp = n % 2
    if temp == 0:
        pass
    else:
        print(n)
    n = n + 1
print(‘------over------‘)

輸出結果:
1   3   5   7   9   11  13  15  17  19
21  23  25  27  29  31  33  35  37  39
41  43  45  47  49  51  53  55  57  59
61  63  65  67  69  71  73  75  77  79  
81  83  85  87  89  91  93  95  97  99
------over------

3、求1~100的所有數的和

n = 1
s = 0
while n < 101:
    s = s + n
    n = n + 1
print(‘sum = ‘, s)
print(‘-------over------‘)

輸出結果:
sum =  5050
-------over------

4、輸出1~100的所有偶數

n = 1
while n < 101:
    temp = n % 2
    if temp == 0:
        print(n)
    else:
        pass
    n = n + 1
print(‘------over------‘)

輸出結果:
2   4   6   8   10  12  14  16  18  20
22  24  26  28  30  32  34  36  38  40
42  44  46  48  50  52  54  56  58  60
62  64  66  68  70  72  74  76  78  80
82  84  86  88  90  92  94  96  98  100
------over------

5、求1-2+3-4+5-...+99-100的所有數之和

n = 1
s = 0
while n < 101:
    temp = n % 2
    if temp == 0:
        s = s - n
    else:
        s = s + n
    n = n + 1
print(‘sum = ‘, s)
print(‘-------over------‘)

輸出結果:
sum =  -50
-------over------

  

    

Day1----Python學習之路筆記(1)