python的創始人爲吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆爲了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,做爲ABC語言的一種繼承。 html
目前Python主要應用領域:java
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進制文件,這樣運行時計算機能夠直接以機器語言來運行此程序,速度很快; python
而解釋器則是隻在執行程序時,才一條一條的解釋成機器語言給計算機來執行,因此運行速度是不如編譯後的程序運行的快的. c++
這是由於計算機不能直接認識並執行咱們寫的語句,它只能認識機器語言(是二進制的形式)算法
編譯型vs解釋型編程
編譯型
優勢:編譯器通常會有預編譯的過程對代碼進行優化。由於編譯只作一次,運行時不須要編譯,因此編譯型語言的程序執行效率高。能夠脫離語言環境獨立運行。
缺點:編譯以後若是須要修改就須要整個模塊從新編譯。編譯的時候根據對應的運行環境生成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執行文件。多線程
解釋型
優勢:有良好的平臺兼容性,在任何環境中均可以運行,前提是安裝瞭解釋器(虛擬機)。靈活,修改代碼的時候直接修改就能夠,能夠快速部署,不用停機維護。框架
缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。運維
先看優勢
再看缺點:
Cpython:
基礎C語言開發的python
運行流程:代碼——C字節碼——機器碼(逐行解釋)
Pypy: Cpython的加速版
運行流程:代碼——C字節碼——機器碼(所有提早解釋完成)
其餘python
運行流程:代碼——其餘字節碼——機器碼
潛規則:
以py pyc結尾
下載地址:
https://www.python.org/downloads/
Windows:
一、下載安裝包
https://www.python.org/downloads/
二、安裝
默認安裝路徑:C:\python27
雙擊安裝,會有一項詢問是否要配置環境變量,勾上,完成安裝後就不用配置了。若是沒有,按照以下方法配置:
三、配置環境變量
【右鍵計算機】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變量】--》【在第二個內容框中找到 變量名爲Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python27,切記前面有分號
4.驗證是否安裝成功
C:\Users\yangqq>python Python 3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
Linux:
系統通常會自帶。
解釋器解釋的流程:
a. 打開文件,讀取文件內容
b. 詞法分析,語法分析
c. 字節
安裝
http://pan.baidu.com/s/1eRHhplS 安裝破解方法
激活方法:
點擊Register-license server 輸入 http://idea.liyang.io
基本使用:
調整背景顏色
setting-Aooearance&Behavior-Appearnce-Theme:
設置按住ctrl鍵移動鼠標調整字體的大小
setting-搜索框中輸入 mouse-general-勾選 Change font size with Ctrl+Mouse Wheel
修改編碼
Default settings-搜索 encoding
自定義python script
default settings-搜索 temp -editor-file and code templates-python script 輸入
#!/usr/bin/env python # -*- coding: utf-8 -*-
修改字體
settings-editor-colors&fonts-font
修改字體顏色
settings-editor-colors&fonts-font-python
8位爲一組 8位=1字節
ASCII 256
最開始的編碼,共256位,只有英文,數字,特殊符號。英文是佔用一個字節
萬國碼
至少16位 爲了迎合各國的語言,中文三個字節,英文兩個字節
Utf-8
萬國碼的壓縮,老外不幹呀,原本一個字節就夠了,還得用兩個,就誕生了這個,能少用就少用
英文一個字節,中文三個字節
GBK,GB2312
中國人本身的編碼,中文兩個字節,big5是繁體
應該告訴python解釋器,用什麼編碼來執行源代碼
#!/usr/bin/env python # -*- coding: utf-8 -*- #!/usr/bin/env python # -*- coding: utf-8 -*- print "你好,世界"
#_*_coding:utf-8_*_ name = "Alex Li"
上述代碼聲明瞭一個變量,變量名爲: name,變量name的值爲:"Alex Li"
變量定義的規則:
變量的賦值
name = "Alex Li" name2 = name print(name,name2) name = "Jack" print("What is the value of name2 now?")
好好理解變量和值之間的關係
#!/usr/bin/python #-*-coding:utf-8 -*- name = "yangqiqi" name2 = name print(name) print(name2) print("————————————————") name = "landandan" print(name) print(name2) 執行結果: C:\Users\yangqq\AppData\Local\Programs\Python\Python36\python.exe E:/python/studynote/s17/day01/s2.py yangqiqi yangqiqi ——————————————— landandan yangqiqi Process finished with exit code 0 解釋: Name = 「yangqiqi」 這個是內存中yangqiqi的代稱 當name 2 = name的時候,意義是name2是name在內存中「yangqiqi」的這個值的代稱,指向的是這個值不是name 因此當name = 「landandan」修改了值後,實際上是跟name2沒有關係的
當行注視:# 被註釋內容 多行註釋:""" 被註釋內容 """