天天看點

python初體驗-hello world答案_Python初體驗_基礎(一)

一:變量

變量的指派:

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就可以執行了。