本篇文章主要是對python學習時的一些總結,作為學習筆記記錄。
c:\users\wood>python
python 3.7.8 (tags/v3.7.8:4b47a5b6ba, jun 28 2020, 08:53:46) [msc v.1916 64 bit (amd64)] on win32
然後就能夠在出現的》後邊輸入相關的python命令,進行與python環境的互動。
在互動模式下python會對當前輸入的**進行解釋,使用者也可以立即看到python直譯器給出的「答案」,但是如果是大型的程式的話,對於程式設計來說就顯得很不方便,因此多數時候都需要編寫為python程式檔案。
python檔案字尾名為"py",直譯器對於py檔案的解釋順序為從上到下,從左到右順序執行,同樣python檔案的編寫也有一些注意事項:
變數是區別與常量來說的,變數和常量都是用來儲存資料的,但是變數中值是可以更改的,而常量中的值則是不可更改的。
>>> a = 10type是python內建的函式,可以查明輸入引數的所屬型別。從上面的結果也可以看出,a的資料型別是根據其賦值的資料型別改變而改變的。>>> type(a)
>>> a = 10.2
>>> type(a)
>>> a = "hello"
>>> type(a)
不過雖然python對變數的型別和定義方式規定比較自由,但也是需要先定義才能夠正常使用的。
a = 10
a = b = c = 10
使用這種形式而不必在意其變數是否已經存在。
a = 10;b = 20;c = 30
使用這種形式可以在單行書寫多條語句。
a,b = 10,20
該操作主要涉及到元組的封包和解包,這裡暫時不做說明。
del var
該操作可以刪除對應的變數。
之前雖然提到了變數的定義,但是變數也並不是可以隨便定義的,其命名需要符合一定的命名規範,主要有:
python中的關鍵字可以利用keyword模組進行列印輸出:
>>> import keyword
>>> print(keyword.kwlist)
['false', 'none', 'true', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
變數命名除了要滿足一定的規範,也需要具有一定的風格,不但能夠讓自己明白各個變數代表的含義,也要能夠讓其他人理解其代表的含義,主要有:
變數的輸出可以借用print函式,將變數列印到螢幕上。print函式是python的內建函式之一,其函式簽名為:
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=false)
prints the values to a stream, or to sys.stdout by default.
optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
flush: whether to forcibly flush the stream.
# 顯示變數
age = 20
print(age)
# 顯示多個字串和變數
age = 20
*** = 'm'
print('tom',age,***)
# 格式化顯示
name = 'tom'
age = 20
print('i am %s,%d years old.\n'%(name,age))
# 常見的佔位符
# %s 字串佔位符
# %d 整數的佔位符
# %f 浮點數的佔位符
對於字串輸出,也可以借用format來格式化字串的輸出形式,format的函式簽名為:
format(...)
s.format(*args, **kwargs) -> str
return a formatted version of s, using substitutions from args and kwargs.
the substitutions are identified by braces ('').
從上面可以看出,str的format方法借用{}可以返回乙個格式化的字串,使用方式為:
>>> print('i am {},{} years old.'.format("tom",10))
i am tom,10 years old.
>>> name = "tom"
>>> age = 10
>>> print('i am , years old.'.format(name = "tom",age = 10))
i am tom,10 years old.
在print函式使用時,可能會要進行某些特殊輸出,例如換行,製表符等,此時需要對這些字元進行轉義。常見的轉義字元有:
有時變數的賦值需要借助鍵盤等外設進行輸入賦值,此時需要用到變數輸入,變數輸入可以借助input函式進行賦值:
>>> a = input()
1000
>>> a
'1000'
>>> a = input("please input a number:")
please input a number:120
>>> a
'120'
變數輸出和變數輸入的使用方法有點類似於c/c++中的printf()和scanf()函式。
需要注意的是,input函式的返回值為字串型別,如果需要其他型別(如整型)則必須要進行強制型別轉換。
python中的一切都是物件,python中的變數只是儲存了物件的引用。之前也提到過python是弱型別的語言,因此變數本身是沒有資料型別的,變數的型別主要是指其所指向物件的資料型別:
>>> a = 10
>>> b = 10
>>> id(a)
140706067284528
>>> id(b)
140706067284528
上述**中的id函式可以獲取到變數所指向物件的位址,從結果可以看出雖然a,b是兩個變數,但是所指向的物件位址卻是相同的,也從側面說明了python中變數所指向的只是物件的引用。
python中並沒有像c/c++特意為常量的宣告指明了關鍵字,也沒有定義專門的常量型別,而是約定俗成的將變數名大寫來說明常量:
pi = 3.14
python直譯器不解釋也不執行注釋。
注釋的存在主要有幾個好處:
以#開始,一直到行末
a = 10 # define a
多行注釋可以使用三個單引號和三個多引號,中間表示的是注釋內容,但是中間不能再次出現相同的三引號。
"""
......
"""
有時候,三引號也可以作為保留格式的字串使用:
>>> s = """
... i am tom.
... 10 years old.
... today,i am studying python.
... """
>>> s
'\ni am tom.\n10 years old.\n today,i am studying python.\n'
注釋的使用也要符合一定的習慣: Python基礎二(變數 input)
變數 是 為了儲存 程式運算過程中的一些中間 結果,為了方便日後呼叫 官方文件說明如下 variables變數 are used to store儲存 儲存 information資訊 to be referenced被日後呼叫 and manipulated操作或更改 in a computer ...
Python基礎(二) 變數與運算子
變數是資料的載體,是計算機記憶體裡的一塊儲存空間,通過對變數進行讀寫等操作,就可以對資料進行相應的操作。python變數的命名遵循三條規則 變數名由 數字和字母組成,數字不能作為變數的開頭 python語言大小寫敏感,變數名一般用小寫構成,多個單詞間用下劃線 分隔 變數名不能和python語言中的關...
swift基礎二(變數和常量)
swift變數使用 var 進行宣告,變數可以重新賦值。例如 定義變數,int 型別,賦值 10 var a int 10 a 20 變數可以重新賦值 自動識別型別。給變數 b 賦值 10,由於 10 為整型,所以自動定義 b 為整型 var b 10 自動宣告為 浮點型 var c 10.1 自動...