初識Python

1.計算機基礎知識python

  (1)計算機由cpu(中央處理器)、內存、硬盤、輸入輸出設備組成linux

  (2)操做系統是控制計算機硬件工做的流程(軟件)web

  (3)應用程序是安裝在操做系統之上的軟件編程

2.python簡介python3.x

  (1)python的創始人爲吉多·範羅蘇姆(Guido van Rossum),應用領域爬蟲、web、人工智能、自動化運維、雲計算、金融、遊戲等領域,應用的公司google、yutube、nasa、知乎、豆瓣等安全

  (2)python優勢: 簡潔,高級語言,可移植性,開發效率高(有強大的第三方類庫),可嵌入,可擴展運維

    缺點:速度慢、不能加密、線程不能利用多CPU問題編程語言

  (3)python是什麼編程語言:
  編程語言主要從如下幾個角度爲進行分類,編譯型和解釋型、靜態語言和動態語言、強類型定義語言和弱類型定義語言性能

編譯型與解釋型
  編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機能夠直接以機器語言來運行此程序,速度很快;
  而解釋器則是隻在執行程序時,才一條一條的解釋成機器語言給計算機來執行,因此運行速度是不如編譯後的程序運行的快的.
  這是由於計算機不能直接認識並執行咱們寫的語句,它只能認識機器語言(是二進制的形式)優化

編譯型
  優勢:編譯器通常會有預編譯的過程對代碼進行優化。由於編譯只作一次,運行時不須要編譯,因此編譯型語言的程序執行效率高。能夠脫離語言環境獨立運行。
  缺點:編譯以後若是須要修改就須要整個模塊從新編譯。編譯的時候根據對應的運行環境生成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執行文件。

解釋型
  優勢:有良好的平臺兼容性,在任何環境中均可以運行,前提是安裝瞭解釋器(虛擬機)。靈活,修改代碼的時候直接修改就能夠,能夠快速部署,不用停機維護。
  缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言

動態語言和靜態語言
常咱們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言
  (1)動態類型語言:動態類型語言是指在運行期間纔去作數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,
    在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其餘的各類腳本語言如VBScript也多少屬於動態類型語言。
  (2)靜態類型語言:靜態類型語言與動態類型語言恰好相反,它的數據類型是在編譯其間檢查的,也就是說在寫程序時要聲明全部變量的數據類型,C/C++是靜態類型語言的典型表明,
    其餘的靜態類型語言還有C#、JAVA等

強類型定義語言和弱類型定義語言
  (1)強類型定義語言:強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,若是不通過強制轉換,那麼它就永遠是這個數據類型了。
    舉個例子:若是你定義了一個整型變量a,那麼程序根本不可能將a看成字符串類型處理。強類型定義語言是類型安全的語言。
  (2)弱類型定義語言:數據類型能夠被忽略的語言。它與強類型定義語言相反,一個變量能夠賦不一樣數據類型的值。
    弱類型定義語言在速度上可能略遜色於強類型定義語言,可是強類型定義語言帶來的嚴謹性可以有效的避免許多錯誤。另外,「這門語言是否是動態語言」與「這門語言是否類型安全」之間是徹底沒有聯繫的!
    經過上面這些介紹,咱們能夠得出,python是一門動態解釋性的弱類型定義語言。

python解釋器種類:
  CPython: 官方使用的解釋器
  IPython: 基於CPython之上的一個交互式解釋器,在交互方式上有所加強
  PyPy: 是另外一個Python解釋器,對py代碼進行動態編譯,速度快
  Jython: 是運行在Java平臺上的Python解釋器
  IronPython: 是運行在微軟.Net平臺上的Python解釋器

3.快速入門

  (1)python官網www.python.org

  第一個python程序

print("hello world",'你好','世界')
結果
hello world 你好 世界

注意:python在執行過程當中會自動生成一個與其同名的 .pyc 文件,該文件就是Python解釋器編譯以後產生的字節碼

  (2)python3與python2的區別

  python3默認用的utf-8字節碼,python2默認用的ASCII碼(默認不識別中文,須要coding定義)

  (3)變量命名規範
    一、由字母,數字,下劃線任意組成
    二、不能以數字開頭
    三、禁止使用python中的關鍵字 ['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else','except', 'exec', 'finally', 'for', 'from','global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print','raise', 'return', 'try', 'while', 'with', 'yield']
    四、不能使用中文和拼音命名
    五、作到簡明知意
    六、嚴格區分大小寫
  (4)推薦寫法:

    大駝峯  AgeOfOldboy = 56

    小駝峯  ageOfOldboy = 56

    下劃線  age_of_oldboy = 56

查看python內部關鍵字

1 import keyword 2 print(keyword.kwlist)

4.註釋和變量
    單行註釋
        #要註釋的代碼
    多行註釋
        # 須要註釋的代碼1
        # 須要註釋的代碼2
        ……
    方法二
        '''
        須要註釋的代碼
        '''
    方法三
        """
        須要註釋的代碼
        """
    (3)變量的賦值
        name = 'bob'
    (4)常量:常量就是將變量名大寫,儘可能保持不更改的一種量

5.初識基礎數據類型

  查看變量的數據類型 type()
  整型   int  用於計算比較

計算機中是沒法準確的表示一個小數的(全部語言都有這樣的問題)
print(10/3)
結果
3.3333333333333335
print(999%10000)
結果
999

二進制計算
print(2**0) # 1
print(2**1) # 2
print(2**2) # 4
print(2**3) # 8
print(2**4) # 16
print(2**5) # 32
print(2**6) # 64
print(2**7) # 128
print(2**8) # 256
print(2**9) # 512
print(2**10) # 1024

  float 浮點數

 1 爲何要叫浮點數: 由於小數點是浮動的
 2 浮點數能表示的數學上的數字: 有理數(有限小數 無限循環小數)
 3 浮點數的小數點是不許確的: 小數的小數位是轉換成二進制存儲
 4 若是你建立的變量自己帶小數點,那麼這個變量的數據類型直接就是浮點數
 5 全部的除法(除了//)獲得的都是小數
 6 浮點數若是太長請轉換成字符串存儲,好比a = '1.71264864975975073507505'
 7 1.2
 8 2.3333344
 9 2.56789*10**2 = 256.789
10 
11 注意:
12 python2.x 整數除以整數就會取整(向下取整),有一個數浮點數,就按照浮點數計算
13 python3.x 全部的除(除了//)的結果都是小數
14 注意除數不能爲0,不然報錯

  字符串 str 在Python中,用單引號,雙引號,或者三引號引發來的都是字符串,字符串不能相除或相減,能夠相加相乘,只是一些特殊的格式須要不用的引號

 1 相加的時候雙方必須都是字符串(也稱爲拼接)
 2     name = "bob"
 3     hobby = "linux"
 4     new = name+hobby
 5     print(new)
 6 結果
 7     boblinux
 8 
 9 只能是數字和字符串相乘
10     name = "bob"
11     new = name * 2
12     print(new)
13 結果
14     bobbob
15 
16 換行打印
17     a = '牀前明月光, \n疑是地上霜, \n舉頭望明月, \n低頭思故鄉.'  # \n 轉義字符. 換行
18     print(a)
19 結果
20     牀前明月光, 
21     疑是地上霜, 
22     舉頭望明月, 
23     低頭思故鄉.

  布爾值 bool

1 True    真
2 False   假

6.程序交互

  (1)input()括號內的內容必須是字符串,也稱爲提示語句,用input獲取到的內容都是字符串

 1 例1
 2     s1 = input("請輸入: ")
 3     print(type(s1))
 4 結果
 5     請輸入: 11
 6     <class 'str'>
 7 例2
 8     s1 = int(input("請輸入: "))
 9     print(type(s1))
10 結果
11     請輸入: 22
12     <class 'int'>

  (2)將字符串轉換成數字

1 num = int("88")
2 print(type(num))

  (3)將數字轉換成字符串

1 s = srt("123")
2 print(type(s))

7.格式化輸出

  %s    字符串
  %d或%i  整型(數字)
  %f    浮點數(小數)
  %%   轉義符

 1 事例一
 2 name = input("請輸入姓名:")
 3 age = int(input("請輸入年齡:"))
 4 job = input("請輸入職業:")
 5 hobbie = input("請輸入愛好:")
 6 print('''
 7 ---------------- info of %s --------------
 8 Name    : %s
 9 Age     : %d
10 Job     : %s
11 Hobbie  : %s
12 ------------------- end-------------------
13 '''%(name,name,age,job,hobbie))
14 # 注意點: 必須按照相對應的數量來填充  使用位置來填充參數
15 
16 方法二
17 print(f'''
18 ---------------- info of {name} --------------
19 Name    : {name}
20 Age     : {age}
21 Job     : {job}
22 Hobbie  : {hobbie}
23 ------------------- end-------------------
24 ''')
25 #應用場景: 動態獲取用戶數據並寫入固定格式+號也能夠
26 
27 事例二
28 name = 'bob'
29 print('工程師%s剩餘30%%的數據沒有拷貝'%(name))

8.if條件語句

  一、單條件if語句

1 if 條件:
2   代碼塊

  二、雙條件if語句

1 if 條件:
2   代碼塊1
3 else4   代碼塊2

  三、三條件if語句

1 if 條件:
2   代碼塊
3 elif:
4   代碼塊
5 elif:
6   代碼塊

  四、多條件if語句

1 if 條件:
2   代碼塊
3 elif:
4   代碼塊
5 elif:
6   代碼塊
7 else8   代碼塊

  五、嵌套if語句

1 if 條件:
2     if 條件:
3         代碼塊
相關文章
相關標籤/搜索