一:變量
變量的指派:
name = “Meng”
上述代碼聲明了一個變量,變量名為name,變量name的值為:”Meng“
變量定義:
一個在記憶體存資料的容器。
變量的意義:
儲存程式執行的中間結果或狀态,以供後面的代碼調用。
變量定義規則:
變量名隻能是字母,數字或下劃線的任意組合;
變量名的第一個字元不能是數字;
關鍵字不能聲明為變量名;
二:縮進:
Python設計者有意設計限制性很強的文法,使得不好的程式設計習慣(例如if語句的下一行不向右縮進)都不能通過編譯,以此來強制程式員養成良好的程式設計習慣。并且Python語言利用縮進表示語句塊的開始和退出(Off-side規則),而非食用花括号或者某種關鍵字。增加縮進表示語句塊的開始,而減少縮進則表示語句塊的退出。縮進成為了文法的一部分。
例如if語句:
age = int(input("age:"))if age < 21:print("你不能抽煙!")print("這句不在if語句塊中")
注:上述例子為python3.5版本的代碼。
根據PEP的規定,必須使用4個空格來表示每級縮進(不清楚4個空格的規定如何,在實際編寫中可以自定義空格數,但是要滿足每級縮進間空格數相等)。
三:注釋:
當行注釋:#被注釋内容
#name = "Meng"
多行注釋:“”“被注釋内容”“”或’‘’被注釋内容‘’‘
'''age = int(input("age: "))
if age < 21:
print("你不能抽煙!")
print("這句不在if語句塊中")'''
四:單引号,雙引号和三引号
在一般情況下單引号和雙引号是沒有差別的,但是如果字元串中有相同的字元時需要使用\進行轉義,例如:
1 print("hello word")2 print('hello word')
1和2結果都是hello word
3 print("I\'m")4 print("I'm")
3和4的結果都是I'm
5 print('I"m')6 print('I\"m')
5和6的結果都是I“m
三引号和它們不同之處:”所見即所得“,對于多行字元串時用三引号更直覺點(若用單引号或雙引号需要進行轉義),例如:
print('''my name is Meng,
hello word,
I like python.''')
結果是:
my name is Meng,
hello word,
I like python.
五:使用者輸入:
#!/usr/bin/env python#-*- coding: utf-8 -*-
name = input("What is your name?") #将使用者輸入的内容複制給name變量print("hello"+ name )
以上結果為:
What isyour name? Meng #使用者輸入的内容
hello Meng
六:Python内部執行過程:
編譯過程概述:
當我們執行Python代碼的時候,在Python解釋器用四個過程“拆解”我們的代碼,最終被CPU執行傳回給使用者。
首先當使用者鍵入代碼交給Python處理的時候會先進行詞法分析,例如使用者鍵入關鍵字或者輸入關鍵字有誤時,都會被詞法分析所觸發,不正确的代碼将不會被執行。
下一步Python會進行文法分析,例如當“for i in test:”中,test後面的冒号如果被寫為其他符号,代碼依舊不會被執行。
最後關鍵的過程,在執行Python前,Python會生成.pyc檔案,這個檔案就是位元組碼,如果不小心修改了位元組碼,Python下次重新編譯該程式時會和其上次生成的位元組碼檔案進行比較,如果不比對則會将被修改過的位元組碼檔案進行覆寫,以確定每次編譯後的位元組碼的準确性。
那麼什麼是位元組碼?位元組碼在python虛拟機程式裡對應的是PyCodeObject對象。.pyc檔案是位元組碼在磁盤上的表現形式。簡單來講就是在編譯代碼的過程中,首先會将代碼中的函數、類等對象分類處理,然後生成位元組碼檔案。有了位元組碼檔案CPU可以直接識别位元組碼檔案進行處理,接着Python就可以執行了。