python的創始人為吉多·范羅蘇姆(Guido van Rossum)。1989年的聖誕節期間,吉多·范羅蘇姆(中文名字:龜叔)為了在阿姆斯特丹打發時間,決心開發一個新的腳本解釋程序,作為ABC語言的一種繼承。
(龜叔:2005年加入谷歌至2012年,2013年加入Dropbox直到現在,依然掌握著Python發展的核心方向,被稱為仁慈的獨裁者)。
Python崇尚優美、清晰、簡單,是一個優秀並廣泛使用的語言。
Python可以應用於眾多領域,如:數據分析、組件集成、網絡服務、圖像處理、數值計算和科學計算等眾多領域。目前業內幾乎所有大中型網際網路企業都在使用Python,如:Youtube、Dropbox、BT、Quora(中國知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、騰訊、汽車之家、美團等。
前Python主要應用領域:
Python在一些公司的應用:
python發展史
程式語言主要從以下幾個角度為進行分類,編譯型和解釋型、靜態語言和動態語言、強類型定義語言和弱類型定義語言
2.1 編譯型與解釋型。
編譯器是把源程序的每一條語句都編譯成機器語言,並保存成二進位文件,這樣運行時計算機可以直接以機器語言來運行此程序,速度很快;
而解釋器則是只在執行程序時,才一條一條的解釋成機器語言給計算機來執行,所以運行速度是不如編譯後的程序運行的快的.
這是因為計算機不能直接認識並執行我們寫的語句,它只能認識機器語言(是二進位的形式)
編譯型
優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程序執行效率高。可以脫離語言環境獨立運行。
缺點:編譯之後如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的作業系統之間移植就會有問題,需要根據運行的作業系統環境編譯不同的可執行文件。
解釋型
優點:有良好的平臺兼容性,在任何環境中都可以運行,前提是安裝了解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。
缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。
2.2動態語言和靜態語言
通常我們所說的動態語言、靜態語言是指動態類型語言和靜態類型語言。
(1)動態類型語言:動態類型語言是指在運行期間才去做數據類型檢查的語言,也就是說,在用動態類型的語言編程時,永遠也不用給任何變量指定數據類型,該語言會在你第一次賦值給變量時,在內部將數據類型記錄下來。Python和Ruby就是一種典型的動態類型語言,其他的各種腳本語言如VBScript也多少屬於動態類型語言。
(2)靜態類型語言:靜態類型語言與動態類型語言剛好相反,它的數據類型是在編譯期間檢查的,也就是說在寫程序時要聲明所有變量的數據類型,C/C++是靜態類型語言的典型代表,其他的靜態類型語言還有CEEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 008000; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 339966; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: 39;hello world&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: !/usr/bin/env python2 print &34;
如此一來,執行: ./t1.py 即可。
ps:執行前需給予t1.py 執行權限,chmod 755 t1.py
當行注釋:EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 39;&39;被注釋內容&39;&34;&34;被注釋內容&34;&EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: 39;魯迅本人&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 34;魯迅本人&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 39;and&39;as&39;assert&39;break&39;class&39;continue&39;def&39;del&39;elif&39;else&39;except&39;exec&39;finally&39;for&39;from&39;global&39;if&39;import&39;in&39;is&39;lambda&39;not&39;or&39;pass&39;print&39;raise&39;return&39;try&39;while&39;with&39;yield&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 駝峰體AgeOfOldboy = 56NumberOfStudents = 80EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 39;魯迅本人&39;太白金星&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 39;太白金星&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: FFFFFF; --tt-darkmode-color: 0000FF; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 34;Alex Li&雙引號2 age = &34; int4 5 msg = &39;&39;&39; 39;ShanDong&單引號也可以
那單引號、雙引號、多引號有什麼區別呢? 讓我大聲告訴你,單雙引號木有任何區別,只有下面這種情況 你需要考慮單雙的配合
msg = &39;m 22 years old!&EEEEEE; --tt-darkmode-bgcolor: 39;&39;今天我想寫首小詩,歌頌我的同桌,你看他那烏黑的短髮,好像一隻炸毛雞。&39;&EEEEEE; --tt-darkmode-bgcolor: EEEEEE; --tt-darkmode-bgcolor: 34;相加&34;相乘&39;Alex Li&39;22&相加其實就是簡單拼接 7 &39; 8 >>> 9 >>> name * 10 39;Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li&EEEEEE; --tt-darkmode-bgcolor: 39;str&39;int&39;Alex Li&34;<stdin>&39;str&39;int&錯誤提示數字 和 字符 不能拼接
6.3、布爾值(True,False)。
布爾類型很簡單,就兩個值 ,一個True(真),一個False(假), 主要用記邏輯判斷
但其實你們並不明白對麼? let me explain, 我現在有2個值 , a=3, b=5 , 我說a>b你說成立麼? 我們當然知道不成立,但問題是計算機怎麼去描述這成不成立呢?或者說a< b是成立,計算機怎麼描述這是成立呢?
沒錯,答案就是,用布爾類型
>>> a=3>>> b=5>>> >>> a > b 成立就是True, 即真True
1 -*- coding: utf-8 -*-3 4 34;請輸入用戶名:& 列印輸入的內容8 print(name)
執行腳本就會發現,程序會等待你輸入姓名後再往下繼續走。
可以讓用戶輸入多個信息,如下
-*- coding: utf-8 -*-name = input(&34;)age = input(&34;)hometown = input(&34;)print(&34;,name , &34;, age , &34;,hometown)
假如把寫程序比做走路,那我們到現在為止,一直走的都是直路,還沒遇到過分叉口,想像現實中,你遇到了分叉口,然後你決定往哪拐必然是有所動機的。你要判斷那條岔路是你真正要走的路,如果我們想讓程序也能處理這樣的判斷怎麼辦? 很簡單,只需要在程序裡預設一些條件判斷語句,滿足哪個條件,就走哪條岔路。這個過程就叫流程控制。
if...else 語句
單分支
if 條件: 滿足條件後要執行的代碼
雙分支
&34;&34;&34;AgeOfOldboy = 48if AgeOfOldboy > 50 : print(&34;)else: print(&34;)
縮進
你會發現,上面的if代碼裡,每個條件的下一行都縮進了4個空格,這是為什麼呢?這就是Python的一大特色,強制縮進,目的是為了讓程序知道,每段代碼依賴哪個條件,如果不通過縮進來區分,程序怎麼會知道,當你的條件成立後,去執行哪些代碼呢?
在其它的語言裡,大多通過{}來確定代碼塊,比如C,C++,Java,Javascript都是這樣,看一個JavaScript代碼的例子
var age = 56if ( age < 50){ console.log(&34;) console.log(&39;)}else{ console.log(&39;)}
在有{}來區分代碼塊的情況下,縮進的作用就只剩下讓代碼變的整潔了。
Python是門超級簡潔的語言,發明者定是覺得用{}太醜了,所以索性直接不用它,那怎麼能區分代碼塊呢?答案就是強制縮進。
Python的縮進有以下幾個原則:
多分支
回到流程控制上來,if...else ...可以有多個分支條件
if 條件: 滿足條件執行代碼elif 條件: 上面的條件不滿足就走這個elif 條件: 上面的條件不滿足就走這個elif 條件: 上面的條件不滿足就走這個 else: 上面所有的條件不滿足就走這段
來個匹配成績的小程序吧,成績有ABCDE5個等級,與分數的對應關係如下
A 90-100B 80-89C 60-79D 40-59E 0-39
要求用戶輸入0-100的數字後,你能正確列印他的對應成績
score = int(input(&34;))if score > 100: print(&34;)elif score >= 90: print(&34;)elif score >= 80: print(&34;)elif score >= 60: print(&34;)elif score >= 40: print(&34;)else: print(&34;)
這裡有個問題,就是當我輸入95的時候 ,它列印的結果是A,但是95 明明也大於第二個條件elif score >=80:呀, 為什麼不列印B呢?這是因為代碼是從上到下依次判斷,只要滿足一個,就不會再往下走啦,這一點一定要清楚呀!
最後,小編想說:我是一名python開發工程師,整理了一套最新的python系統學習教程,想要這些資料的可以關注私信小編「01」即可(免費分享哦)希望能對你有所幫助。