Day1 Day2 Day3 Day4 Day5 ...待續 html
一、高級語言:Python,Java,C++,C#,PHP,JS,Go,Ruby,SQL,Swift,Perl,Objective-C,R等等;python
二、低級語言:C語言、彙編;程序員
PS:爲了好分類,這裏說的高級、低級不是說語言自己的高低級,高級語言更抽象化,更靠上層,低級語言更靠計算機底層硬件,全部的高級語言內部都是依賴C語言來實現的。高級語言---->背後是C語言---->背後是彙編(0101機器碼)---->機器執行編程
三、字節碼和機器碼函數
1>字節碼由高級語言轉換生成;學習
2>機器碼是計算機硬件可以直接運行的。編碼
一、以上說的高級語言大體能夠分爲如下兩大類:spa
1>PHP類:只適用於寫網頁,有侷限性;code
2>Python、Java等類:既能夠寫網頁,也能夠寫後臺功能(業務軟件等)。htm
-Python:執行效率比Java低,但開發效率高;
-Java:執行效率比Python高,但開發效率低;
-語言和語言之間速度之類的差別其實很小,關鍵在於你是否有一個優秀的程序員,一個優秀的程序員他用Python寫的程序,也比通常的程序員用Java寫的程序運行速度更快,更穩定。
二、只要作程序開發,若是想深刻,想不斷上升,之後通常來講必定要自學C語言,由於它是其餘高級語言的基礎。
一、Python最近愈來愈火,有不少公司都嘗試着結合本身公司語言推出各個公司本身的Python版本,比較常見的有CPython、JPython(Java Python)、JavaScriptPython、RubyPython、IronPython、PyPy等等。在上面這些Python版本種類中,咱們通常選擇CPython來學習,下面這張圖就說明了爲何:
二、PyPy,這是用CPython開發的Python版本,至關於CPython的升級版,它的執行速度比Python快不少(實際上是第一次執行沒這麼快,可是第二次及之後就很快了,緣由是第一次代碼執行,轉換後的運行機器碼PyPy會拿在手上,下次運行就直接機器碼去運行,而Python拿在手上的是字節碼,每次運行還得轉換成機器碼運行)
-速度方面:PyPy > CPython > JPython、RubyPython這一類;
-可是,PyPy如今還不夠穩定,還不是主流,如今的主流仍然是用CPython;
-之後咱們能夠用CPython寫好代碼,而後裝一個PyPy把代碼扔給他執行就好了。
-官網:https://www.python.org/downloads/
-Python2:在繼續更新(使Python2愈來愈靠近Python3, 2020中止支持)。
-Python3:一直在更新,咱們如今學習Python就下載Python3版本。
-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)。
-Windows系統裏面安裝剛纔說了只要安裝時勾上爲其建立環境變量便可,Linux上面我在另外一個隨筆寫了http://www.cnblogs.com/shwee/p/9015059.html。
-寫一個文件,文件中按照Python的規則寫,將文件交給Python軟件,讀取文件中的內容,而後進行轉換和執行,最終獲取結果
-Python軟件---->Python解釋器(作內存管理)
-後綴名能夠是任意的(這就是爲什麼叫python解釋器)
-導入模塊時,若是不是.py文件會報錯
===>因此之後文件名統一都寫成.py的形式
-Python解釋器 .py文件路徑
-Python IDLE 進入解釋器交互界面:實時輸入並獲取執行結果
-Linux系統下:
-文件名運行 ./test.py
-文件內部頭部要加上下面聲明:#!/usr/bin/env python ----這一句是在Linux系統中特地須要的Python3解釋器路徑聲明。
-接着在第二行加上: # _*_ coding:utf8 _*_ ----固然,用python3版本的解釋器運行就不須要加這一句聲明瞭,由於Python3版本默認的編碼格式就是utf-8,而Python2不是默認utf-8編碼格式。
-這兩句若是要寫,就要寫在文件最開頭的兩行,且中間不能間插其餘行進來,否則就不會生效了。
-最先的編碼:ASCII,在美國產生,用八位來編碼表示一個字符。
-後來各個國家都在使用計算機,都出臺本身國家的編碼格式,爲了全球都能通用統一編碼,國際統一搞出了個萬國碼:Unicode,爲了國際通用,它是用16位以上(至少16位,也就是兩個字節)的比特位來表示一個字符,可是這樣的話每一個不一樣的字符都是用16位以上的比特位來編寫表示,可是就像ASCII編碼上面的一個字符八位就能夠表示了,因此這樣有點浪費空間。
-因此後面又搞出個utf-8的編碼格式,utf-8規定,一個字符能用多少位表示就用多少位,好比一個英文字母用8位表示,一個漢字用24位(3個字節)表示,不是像unicode上統一都用16位以上來表示,因此這樣比較節省空間,並且又作到了全球通用。
-在Python3中,默認utf-8的編碼格式,所以文件開頭無需特別說明,可是Python2若是想要使用中文,就必需要作聲明,否則顯示會亂碼;
-固然,若是寫一個文件只有中文,用GBK,GBK-2312這樣的國標碼固然比較好。
介紹完上面的東西,好了,咱們來學習Python編寫代碼:
-在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 = '從你的全世界路過' ,等等
# !/usr/bin/env python # -*- coding: utf-8 -*- print('你好,Python!') 輸出結果:你好,Python!
-字符串咱們要用引號引發來,這樣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
-在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
#例一 if 條件: 內部代碼塊1 內部代碼塊2 else: ... print('-----end------') #例二 if 條件: pass #什麼都不執行,過的意思 print('-----end------')
if 條件: if 條件: if 條件: if 條件: ... else: else: else: else:
if 條件: 代碼塊 elif 條件: 代碼塊 elif 條件: 代碼塊 else: ...
PS:在Python中用強制縮進(四個空格)來區分代碼塊,其餘語言好比Java是用{}來區分,好比:
if 條件{ 代碼塊 }
#死循環,一直輸出ok while 1==1: print('ok')
#條件循環,屏幕輸出十次ok count = 0 while count < 10 print('ok') count = count + 1 print('------over------')
涉及if條件語句,while循環語句,奇偶數,數字運算,變量定義等
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------
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------
n = 1 s = 0 while n < 101: s = s + n n = n + 1 print('sum = ', s) print('-------over------') 輸出結果: sum = 5050 -------over------
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------
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------