一:變量
變量的賦值:
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就可以執行了。