標籤:安全 底線 window c語言 工具 guid 介紹 報錯 通過
1.Python簡介
python的創始人為吉多·範羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·範羅蘇姆為了在阿姆斯特丹打發時間,決心開發一個新的指令碼解釋程式,作為ABC語言的一種繼承。Python崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。
Python是一樣什麼類型的語言
Python是一種強型別定義的解釋型的動態語言。
強型別與弱類型語言的區別:
強型別定義語言
一種總是強制類型定義的語言。Java和Python是強制類型定義的。如果你有一個整數,如果不顯示地進行轉換,你不能將其視為一個字串。如果你定義了一個整型變數a,那麼程式根本不可能將a當作字串類型處理。強型別定義語言是型別安全的語言。
弱類型定義語言
資料類型可以被忽略的語言。它與強型別定義語言相反, 一個變數可以賦不同資料類型的值。常見有vb,php。
靜態類型與動態類型的區別:
靜態類型定義語言
一種在編譯時間,資料類型是固定的語言。大多數靜態類型定義語言強制這一點,它要求你在使用所有變數之前要聲明它們的資料類型。Java和C是靜態類型定義語言。
動態類型定義語言
一種在執行期間才去探索資料類型的語言,與靜態類型定義相反。VBScript和Python是動態類型定義的,因為它們是在第一次給一個變數賦值的時候找出它的類型的。
解釋型與編譯型語言的區別:
解釋型語言
解釋型是在啟動並執行時候將程式翻譯成機器語言,所以運行速度相對於編譯型語言要慢。例如Python,C#,java
編譯型語言
編譯型語言在程式執行之前,有一個單獨的編譯過程,將程式翻譯成機器語言,以後執行這個程式的時候,就不用再進行翻譯了。例如C/C++
python語言的優缺點:
優點:
- Python的定位是“優雅”、“明確”、“簡單”,所以Python程式看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。
- 開發效率非常高,Python有非常強大的第三方庫,基本上你想通過電腦實現任何功能,Python官方庫裡都有相應的模組進行支援,直接下載調用後,在基礎庫的基礎上再進行開發,大大降低開發週期,避免重複造輪子。
- 進階語言————當你用Python語言編寫程式的時候,你無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節
- 可移植性————由於它的開源本質,Python已經被移植在許多平台上(經過改動使它能夠工 作在不同平台上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程式無需修改就幾乎可以在市場上所有的系統平台上運行
- 可擴充性————如果你需要你的一段關鍵代碼運行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。
- 可嵌入性————你可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。
缺點:
- 速度慢,Python 的運行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這裡所指的運行速度慢在大多數情況下使用者是無法直接感知到的,必須藉助測試載入器才能體現出來,比如你用C運一個程式花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常誇張了,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程式速度的要求,除非你要寫對速度要求極高的搜尋引擎等,這種情況下,當然還是建議你用C去實現的。
- 代碼不能加密,因為PYTHON是解釋性語言,它的源碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的項目要求原始碼必須是加密的,那你一開始就不應該用Python來去實現。
- 線程不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全域解譯器鎖(Global Interpreter Lock),是電腦程式設計語言解譯器用於同步線程的工具,使得任何時刻僅有一個線程在執行,Python的線程是作業系統的原生線程。在Linux上為pthread,在Windows上為Win thread,完全由作業系統調度線程的執行。一個python解譯器進程內有一條主線程,以及多條使用者程式的執行線程。即使在多核CPU平台上,由於GIL的存在,所以禁止多線程的並存執行。
2.Hello World 程式
因為python2與python3在使用者輸入上有所區別,但考慮到接下來python3迅速普及,python上一些雞肋的操作被取消,所以接下來的代碼都以python3為準。
hello world程式
print(‘Hello World!‘) #直接輸出在螢幕上,Linux上有內建的python#建立檔案執行即可,Windows上可以用下在的shell下執行
使用者輸入:
a = input(‘請輸入內容:‘) #該程式執行後會提示使用者輸入
使用者輸入的內容會別賦值給變數a。注意使用者輸入的內容會被定義為字串,即使輸入的是數字,也會被定義為字串,想要得到對應的數實值型別,必須用對應的方法進行轉換。
b = int(input(‘請輸入一個數字:‘)) #輸入的數值為字串,但會經過int轉換為整型。
3.變數的定義規則
- 只能是由字母,數字,和底線組成。
- 必須是由字母或底線開頭。
- 不能是關鍵字。
- 最好每個變數為英文單詞,有一定的意義,方便閱讀代碼。
- 若想要定義一個不被人修改的變數,可以全部由大寫字母組成。
1 name = ‘wallace‘ #即姓名為wallace
4.常用的數實值型別
常見的數實值型別有整形(int),浮點型(float),布爾型(bool),複數型(complex),定義這些類型很容易,因為是強型別定義的語言,所以會直接識別是什麼類型。例如:
1 a = 1 #int類型2 b = 1.2 #float類型3 c = True #bool 類型4 d = 1+2j #complex類型
5.常見資料類型(列表,元組)
下面將會介紹兩種常見的資料類型列表和元組,這裡會通過執行個體來介紹這兩資料類型。
列表(list):
1 li = [1,2,‘a‘,‘list‘] #列表內的元素用逗號隔開,列表內元素可以為大多數資料類型2 3 li1 = [1,3,[3,4],‘wallace‘] #列表本身也可以作為元素
索引和切片:
1 li = [1,2,4,‘a‘] #定義一列表 2 >>li[1] #索引的起始為li[0] 3 2 4 >>li[-1] #可以從末尾開始索引 5 ‘a‘ 6 >>li[0:2] #切片原則為左閉右開,即取左不取右 7 1,2 8 >>li[2:] #若想去最後面的資料,可什麼資料都不寫 9 4,‘a‘ 10 >>li[-2:-1] #也可以有負數切片11 4,‘a‘12
list增加元素:
1 >>li = [1,3,4] 2 >>li.append(‘a‘) #在末尾添加元素 3 >>li 4 [1,3,4,‘a‘] 5 >>li.insert(2,‘b‘) #在指定位置添加一個元素 6 >>li 7 [1,3,‘b‘,4,‘a‘] 8 >>li.extend([2,‘c‘]) #添加多個元素,即擴充列表 9 >>li10 [1,3,‘b‘,4,‘a‘,2,‘c‘]
list搜尋:
1 >>li = [1,3,‘b‘,4,‘a‘,2,‘c‘]2 >>li.index(‘b‘) #返回對應元素的索引位置,若不存在則會報錯3 2
list刪除:
1 >>li = [1,3,‘b‘,4,‘a‘,2,‘c‘,3]2 >>li.remove(3) #移除首次出現的對應的值3 >>li4 [1,‘b‘,4,‘a‘,2,‘c‘,3]5 >>li.pop() #彈出列表最末尾的值6 37 >>li8 [1,‘b‘,4,‘a‘,2,‘c‘]
元組(tuple):
1 tu = (1,2,3,[2,3]) #元組就是將列表的中括弧改為小括弧2 tu2 = ‘a‘,‘b‘ #這種方式定義的也是一個元組3 tu = 1, #注意必須有一個逗號才能表示一個元組
可能大家會有疑問,為什麼有列表還定義一個元組,這不是多餘嗎,當然不是:列表是有序的集合,可以隨時添加和刪除其中的元素。元組是不可變的,即一旦定義好後不可對其添加,修改以及刪除。
Python 全棧開發一 python初識