一、開發簡介
1、開發:
開發語言:
高級語言:python、JAVA、PHP、C#、、ruby、Go--》字節碼
低級語言:C、匯編--》機器碼
2、語言之間的對比:
PHP類:適用於寫網頁,局限性
JAVA\Python:可以寫網頁,也可以寫后台
JAVA執行效率高,開發效率低
Python 執行效率低,開發效率高
3、Python種類:
JPython
Cpython
IronPython
JavaScriptPython
RubyPython
...
pypy 這是用CPython開發的Python
一般學習的Python都是指CPython
IronPython 是一種在 NET 和 Mono 上實現的 Python 語言
Jython是一種完整的語言,而不是一個Java翻譯器或僅僅是一個Python編譯器,它是一個Python語言在Java中的完全實現。
CPython是特指C語言實現的Python,就是原汁原味的Python。一般我們學習的都是這個。
PyPy是另一個Python解釋器,它的目標是執行速度。PyPy采用JIT技術,對Python代碼進行動態編譯(注意不是解釋),所以可以顯著提高Python代碼的執行速度。簡單來說就是python1編寫的代碼,第一次給python2去執行,然后python2得到python1編寫代碼的機器碼,第二次運行同樣的python1的代碼,python2就直接執行機器碼了,所以運行速度會提高。
4、安裝:
Python安裝在OS上,
執行操作
寫一個文件,按照python的規則寫,將文件交給python,
軟件讀取文件內容,然后轉換和執行,最終獲取結果。
python軟件 ==>Python解釋器(內存管理)
5、下載說明:
python3
pyrhon3不向下兼容python2,在繼續更新,
python2
在繼續更新,在越來越向python3轉換
6、機器碼和字節碼
機器碼是計算機能夠識別的東西,是電腦的CPU可直接解讀的數據。
字節碼是一種包含執行程序、由一序列 op 代碼/數據對 組成的二進制文件。字節碼是一種中間碼,它比機器碼更抽象,需要直譯器轉譯后才能成為機器碼的中間代碼。
二、Python基礎
1、第一句python
print(“hello world”)
2、 編碼
# -*- coding:utf8 -*-
Python3中無需關注# -*- coding:utf8 -*-
Python2中,只要出現中文,頭部必須寫這一句,因為python2默認用ASCII編碼,只支持英文,出現中文會顯示亂碼
3、變量名
- 可以由字母、數字、下划線組成, 最好不好和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']
- 內置函數和類也不能用做變量名
4、多行注釋用
""" 代碼內容 """
三個引號即可注釋多行內容
5、條件語句
縮進用4個空格,一般按TAB鍵即可實現
(1)復雜嵌套語句
if 條件表達式1: 功能代碼1 if 條件表達式2: 功能代碼2 else: 功能代碼3 else: 功能代碼4
(2)多條件判斷
if 條件表達式1: 功能代碼1 elif 條件表達式2: 功能代碼2 elif 條件表達式3: 功能代碼3 else: 功能代碼4
( 3 ) and or條件
if 條件表達式1 and 條件表達式2 : 功能代碼1 else: 功能代碼2
>功能代碼如果寫成pass,表示什么都不執行
6、基本數據類型
a、字符串
引號引起來的都稱之為字符串,
(1)字符串里的加法
n1 = 'hello' n2 = 'world' n3 = n1 + n2 print(n3)
輸出結果:
helloworld
(2)字符串里的乘法
n1 = 'hello' n2 = n1 * 5 print(n2)
輸出結果
hellohellohellohellohello
b、數字運算符
n1 = 8
n2 = 2
(1)加
n3 = n1 + n2
(2)減
n3 = n2 - n1
(3)乘
n3 = n1 * n2
(4)除
n3 = n2 / n1
(5)次方(冪)
n3 = 2 **4
2的4次方
(6)取余
n3 = 39 % 8
對39除以8取余數 即39/8=4余7 , 4*8=32, 39-32= 7.
(7)取整數商
n3 = 39 //8
對39除以8取整數商,即只要商的整數部分4
7、循環
a、死循環
while 1 = 1: print("ok")
此程序將一直輸出ok
b、while 條件循環
import time count = 0 while count < 10 : print("ok",time.time()) count = count +1 print("123")
練習
1、使用while循環輸入 1 2 3 4 5 6 8 9 10
n = 1 while n < 11: if n == 7 : pass else: print(n) n = n + 1
注意n = n + 1要與if、else語句對齊,不然無法輸出8、9、10
2、求1-100的所有數的和
n = 1 s = 0 while n < 101: s = s + n n = n + 1 print(s)
3、輸出 1-100 內的所有奇數
n = 1 while n < 101: if n % 2 == 1 : print(n) else: pass n = n + 1
4、輸出 1-100 內的所有偶數
n = 1 while n < 101: if n % 2 == 0 : print(n) else: pass n = n + 1
5、求1-2+3-4+5 ... 99的所有數的和
n = 1 s1 = 0 s2 = 0 while n < 100: if n % 2 == 1 : s1 = s1 + n else: s2 = s2 + n n = n + 1 s = s1 -s2 print(s)
或者
n = 1 s = 0 # s是之前所有數的總和 while n < 100: temp = n % 2 if temp == 0: s = s - n else: s = s + n n = n + 1 print(s)
這里可以理解為搭積木
(1)當全部為正數求和時
sum = sum + n
最開始積木塔(sum)為0
來了一塊積木1,積木塔馬上加上1,
來了一塊積木2,積木塔馬上加上2,
以此類推
sum = sum + n
(2)當奇數為正,偶數為負
偶數為負也可以理解為減法,即抽掉
同樣的,最開始積木塔(sum)為0
來了一塊積木1,積木塔馬上加上1,
要抽掉一塊積木2,積木塔馬上減去2
來了一塊積木3,積木塔馬上加上3,
要抽掉一塊積木4,積木塔馬上減去4,
以此類推
奇數時
sum = sum + n
偶數時
sum = sum - n
6、用戶登錄用戶登陸(三次機會重試)
name = input("請輸入賬戶名:") passwd = input("請輸入密碼:") count = 1 while count < 3: if name != 'nicholas' or passwd != '123': print ("賬戶名或者密碼輸入錯誤!請重新輸入!") name = input("請輸入賬戶名:") passwd = input("請輸入密碼:") elif name == 'nicholas' and passwd == '123': print ("登錄成功!") break count = count + 1 else: print("三次未能成功登錄,登錄失敗!")
精簡代碼
count = 0 while count < 3: name = input("請輸入賬戶名:") passwd = input("請輸入密碼:") if name == 'nicholas' and passwd == '123': print ("登錄成功!") break else: print ("賬戶名或者密碼輸入錯誤!請重新輸入!") count = count + 1 else: print("三次未能成功登錄,登錄失敗!")