Python簡介 Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。 Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。 Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。 ...
Python簡介
Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。
Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。
- Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
- Python 是互動式語言: 這意味著,您可以在一個Python提示符,直接互動執行寫你的程式。
- Python 是面向對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
- Python 是初學者的語言:Python 對初級程式員而言,是一種偉大的語言,它支持廣泛的應用程式開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。
Python 特點
-
1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。
-
2.易於閱讀:Python代碼定義的更清晰。
-
3.易於維護:Python的成功在於它的源代碼是相當容易維護的。
-
4.一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。
-
5.互動模式:互動模式的支持,您可以從終端輸入執行代碼並獲得結果的語言,互動的測試和調試代碼片斷。
-
6.可移植:基於其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。
-
7.可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中調用。
-
8.資料庫:Python提供所有主要的商業資料庫的介面。
-
9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。
-
10.可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的用戶獲得"腳本化"的能力。
Python2與Python3的主要區別
-
1.python2.x:源碼不規範,源碼重覆較多。不支持中文,中文支持需要添加內容。
-
2.python3.x:Python代碼定義的更清晰。源碼清晰,優美,簡單。且支持中文
Python2.x與python3.x處於相交發展,預計2020年,由Python3.4以上版本完全取代。
Python的類型
- 編譯型
優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程式執行效率高。可以脫離語言環境獨立運行。
缺點:編譯之後如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編譯不同的可執行文件。代表語言:c
- 解釋型
優點:有良好的平臺相容性,在任何環境中都可以運行,前提是安裝瞭解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。
缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。 代表語言:python
Python的種類
- CPython
當我們從Python官方網站下載並安裝好Python 3.6後,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python
就是啟動CPython解釋器。
CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。
- IPython
IPython是基於CPython之上的一個互動式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。
CPython用>>>
作為提示符,而IPython用In [
序號
]:
作為提示符。
- PyPy
PyPy是另一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(註意不是解釋),所以可以顯著提高Python代碼的執行速度。
絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點。
- Jython
Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java位元組碼執行。
- IronPython
IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的位元組碼。
通過網路交互,來確保各個語言的獨立性。
第一句Python
print ('hello everyone')#列印括弧里的內容
變數
#變數:就是將一些數據的中間結果暫存起來,以便後續使用
#_*_encoding:utf-8 _*_ 在python2.x里使用中文字元
x=1+2+3+4+5
print(x)
y=(x*20)/4
z=(y*5)/2
print(y,z)
變數定義的規則:
- 變數只能由數字,字母,下劃線任意組合
- 不能以數字開頭
- 不能是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']
- 變數要有描述性
- 變數不能使用中文
- 變數不能過長
- 變數不能使用拼音
- 變數官方推薦 駝峰 下劃線
常量
age1=12
age2=age1
age3=age2
age2=26
print(age1,age2,age3)#賦值變化
#常量:一直不變的量。python中本來沒有常量
name='alex'
NAME='wusir'
#python中的常量:將常量全部大寫
#往往常量會放在文件前面
註釋
就像小時候讀的文言文下麵的註釋。在編程中就是對代碼的解釋說明,幫助自己或者別人理解,在重點的地方,難以理解的地方
單行註釋#
多行註釋:三引號"""註釋內容""" 或者雙引號""註釋內容""
數據類型
人類給機器劃分的一些數據:數字類型,字元類型 bool值 對與錯
- 數字類型:
#float 浮點型 i=3.1415 #int 整型 i=36 i2=100 #用來計算或計數
- 字元串類型
s1='alxe' s2="alxe李哥" #單雙引號配合使用 s3="I'm taibai" #print(s3) msg="""床前明月光, 疑是地上霜""" print(msg)
- #字元串拼接與乘法
s1='alxe' s2="alxe李哥" print(s1+s2) s3='奮鬥' print(s3*8)
- bool值
print(True) print(False) print(2>1)
用戶輸入
#用戶需要輸入用戶名密碼(qq登陸)此時就需要輸入input
#print('18')
#print(18)
""name=input('請輸入姓名:') age=input('請輸入年齡') print(type(age))#判斷此數據的數據類型 print('此用戶的姓名是'+ name +',' + '此用戶的年齡是'+age)""" """name=input('請輸入銀行卡號:') age=input('請輸入密碼:') print(type(age)) print('此用戶的銀行卡號是'+ name +',' + '此用戶的密碼是'+age)""" name = input('請輸入姓名:') age = input('請輸入年齡:') tops = input('請輸入身高:') BWH = input('請輸入三圍:') print(type(age),type(tops),type(BWH)) print('此用戶的姓名是'+name + ',' + '此用戶的年齡是'+age+','+'此用戶的身高是 '+tops+','+'此用戶的三圍是'+BWH) name = input('請輸入用戶名:') password = input('請輸入密碼:') print('此用戶的用戶名是'+name+',' + '此用戶的密碼密碼是'+password)
if語句五種結構
#第一種結構:單獨if #print(111) #if 3>4: # print(222) #print(333) #print (111) #if 1>2: # print(sb) #print(666) #print(666) #if 1+2<3: # print(222) #print(000) #print (111) #if 1>2: # print(sb) #print(666) #print(666) #if 1+2<3: # print(222) #print(000)
#第二種結構:if else 結果只有一種 #choice=int(input('請輸入你的大小:')) #if 0<choice<4: # print('你猜的是小') #else: # print('你猜的是大') choice=int(input('明天會不會下雨:')) if 1<choice<9: print('你說對了') else: print('你說錯了')
#第三種結構:多個選擇選一個 if elif elif ...可以有多個條件 choice=int(input('請輸入你猜的數字:')) if choice==3: print('我請你吃飯') elif choice==4: print('我請你看電影') elif choice==6: print('我請你大保健') #設定一個理想數字比如:66,讓用戶輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小, #則顯示猜測的結果小了;只有等於66,顯示猜測結果正確。 choice=int(input('請輸入你的大小:')) if 66<choice: print('你猜的大了') elif 66>choice: print('你猜的小了') else: print('結果正確')
#第四種結構:多個選擇選一個 if elif elif ...可以有多個條件 #choice=int(input('請輸入你猜的數字:')) #if choice==3: # print('我請你吃飯') #elif choice==4: # print('我請你看電影') #elif choice==6: # print('我請你大保健') #else: # print('這都沒猜對,你個辣雞') choice=int(input('請選擇的一條路:')) if choice==1: print('天堂') elif choice==2: print('地獄') elif choice==3: print('九死一生') elif choice==4: print('你去死吧!!!') """如果⼩於10, 提⽰⼩屁孩, 如果⼤於10, ⼩於 20, 提⽰青春期叛逆的⼩屁孩. 如果⼤於20, ⼩於30. 提⽰開始定性, 開始混社會的⼩ 屁孩⼉, 如果⼤於30, ⼩於40. 提⽰看老⼤不⼩了, 趕緊結婚⼩屁孩⼉. 如果⼤於40, ⼩ 於50. 提⽰家⾥有個不聽話的⼩屁孩⼉. 如果⼤於50, ⼩於60. 提⽰⾃⼰⻢上變成不聽 話的老屁孩⼉.如果⼤於60, ⼩於70. 提⽰活著還不錯的老屁孩⼉. 如果⼤於70, ⼩於 90. 提⽰⼈⽣就快結束了的⼀個老屁孩⼉. 如果⼤於90以上. 提⽰. 再⻅了這個世界.""" choice=int(input('請輸入你的年齡:')) if choice<10: print('小屁孩') elif 10<choice<20: print('青春期叛逆的⼩屁孩') elif 20<choice<30: print('開始定性, 開始混社會的⼩ 屁孩⼉') elif 30<choice<40: print('看老⼤不⼩了, 趕緊結婚⼩屁孩⼉') elif 40<choice<50: print('家⾥有個不聽話的⼩屁孩⼉') elif 50<choice<60: print('⾃⼰⻢上變成不聽 話的老屁孩⼉') elif 60<choice<70: print('活著還不錯的老屁孩⼉') elif 70<choice<90: print('⼈⽣就快結束了的⼀個老屁孩⼉') else: print('再⻅了這個世界')
if 嵌套 username=input('請輸入用戶名:') password=input('請輸入密碼:') """if username=='alex': if password=='123': print('登陸成功') else: print('密碼輸入錯誤') else: print('用戶名輸入有誤') #提⽰⽤戶輸入⿇花藤. 判斷⽤戶輸入的對不對. 如果對, 提⽰真聰明, 如果不對, 提⽰你 是傻逼麽 """username=input('請輸入:') """if username =='⿇花藤': print('真聰明') else: print('是傻逼嗎')""" username=input('請輸入用戶名:') password=input('請輸入密碼:') if username=='yangjie': if password=='1qaz2wsx': print('登陸成功') else: print('密碼輸入錯誤') else: print('用戶名密碼輸入錯誤')