Python基礎程式設計 二 變數

2021-10-11 15:20:15 字數 4358 閱讀 5742

本篇文章主要是對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 = 10

>>> type(a)

>>> a = 10.2

>>> type(a)

>>> a = "hello"

>>> type(a)

type是python內建的函式,可以查明輸入引數的所屬型別。從上面的結果也可以看出,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 自動...