需經過編譯器將源代碼編譯成機器碼,以後才能執行的語言。通常需通過編譯(compile)、連接(linker)這兩個步驟。程序員
編譯是把源代碼編譯成機器碼,連接是把各個模塊的機器碼和依賴庫串連起來生成可執行文件。例如C/C++等。優化
編譯器通常會有預編譯的過程對代碼進行優化。由於編譯只作一次,運行時不須要編譯,因此編譯型語言的程序執行效率高。能夠脫離語言環境獨立運行。編碼
開發效率慢,不能跨平臺。spa
編譯以後若是須要修改就須要整個模塊從新編譯。編譯的時候根據對應的運行環境生成機器碼,不一樣的操做系統之間移植就會有問題,須要根據運行的操做系統環境編譯不一樣的可執行文件。操作系統
解釋性語言的程序不須要編譯,解釋性語言在運行程序的時候才逐行翻譯。例如Python。翻譯
開發效率快,能夠跨平臺code
由於每次運行都要將代碼解釋一遍,因此運行效率相對較低。blog
由於當年投入Python源碼開發的程序員大多出身於各種語言程序源,各自的代碼標準不一樣,開發習慣不一樣,致使Python2.X重複代碼較多,不規範,整體來講源碼比較混亂。內存
龜叔認識到Python2.X的缺點後本身按照Python崇尚的優美,簡單,清晰的審美規則本身寫了一套Python源碼,相對於Python2.X而言,Python更加的規範,也體現了其優美,簡單,清晰的審美準則。utf-8
#-*-encoding:utf-8 -*-
在內存中按照必定的格式劃分出一塊內存空間,用以存放數據,即命名的內存空間。
例如:
name = tom age = 24 bir_of_china = 1949
在Python中其實沒有常量的概念,可是不少從事C語言的程序員都有使用常量的習慣,因此在Python中,約定俗成的認爲用大寫字母定義的變量名即爲常量。
單行註釋:#
多行註釋:''' ''' """ """
#語法1
if 條件: 結果 #語法2
if 條件: 結果 else: 結果 #語法3
if 條件: 結果 elif:條件 結果 elif:條件 結果 ... else: 結果
例如:
number = input('請輸入您猜的數字') if number == '1' : print('抽菸') elif number == '2' : print('喝酒') elif number == '3' : print('大保健') else : print('滾')
while循環:
#語法
while 條件 : 結果
在while循環中,須要注意的是循環的條件斷定,若是沒有條件斷定,則會無限循環。循環語句的結束基本有如下三種方式
num = 10 flag = True while flag : print(num) num = num - 1
if num < 5 : flag = False
n = 10
while n > 5 : print(n) n = n-1
n = 10
while n > 1 : print(n) n = n-1
if n < 5 : break
n = 10
while n > 1 : n = n - 1
if n % 2 == 1 : continue
else : print(n)
相關練習:
1.使用while循環輸出1 2 3 4 5 6 8 9 10
n = 1
while n <= 10 : if n != 7 : print(n) else : print(' ') n = n + 1
2.求1-100全部數的和
n = 100 k = 100
while n >= 1 : n = n - 1 k = k + n print(k)
3.輸出1-100的全部奇數
n = 0 while n < 100 : n = n + 1
if n % 2 == 1 : print(n) else : continue
4.輸出1-100的全部偶數
n = 0 while n < 100 : n = n + 1
if n % 2 == 0 : print(n) else : continue
5.求100之內全部奇數的和
n = 0 k = 0
while n <= 100 : n = n + 1
if n % 2 == 1 : k = k + n else : continue print(k)
6.用戶登陸,三次機會重試
n = 1
while n <= 3 : user = input('請輸入用戶名') passwd = input('請輸入密碼') if user == 'admin': if passwd == 'password': print('登陸成功') break
else : print('登陸失敗') else : print('登陸失敗') n = n + 1
if n > 3 : print('該用戶已鎖定')