在本文中,您將了解Python變量、常量、字面量及其用例。
變量是用于在內(nèi)存中存儲(chǔ)數(shù)據(jù)的命名位置??梢詫⒆兞恳暈楸4鏀?shù)據(jù)的容器,這些數(shù)據(jù)可以在后面程序中進(jìn)行更改。例如,
number = 10
在這里,我們創(chuàng)建了一個(gè)名為number的變量。我們已將值 10 分配給變量 number。
您可以將變量視為用于存儲(chǔ)書籍的袋子,并且可以隨時(shí)替換里面的書籍。
number = 10 number = 1.1
最初,它等于10。后來,它被更改為1.1。
注意:在Python中,我們實(shí)際上并未為變量分配值。相反,Python將對(duì)象(值)的引用提供給變量。
從上面的示例中可以看到,可以使用賦值運(yùn)算符 = 為變量賦值。
website = "apple.com" print(website)
運(yùn)行該程序時(shí),輸出為:
apple.com
在以上程序中,我們?yōu)樽兞?var>website分配了一個(gè)值 apple.com 。然后,我們打印出分配給website的值,即 apple.com
注意:Python是一種類型推斷語言,因此您不必顯式定義變量類型。它會(huì)自動(dòng)知道這 apple.com 是一個(gè)字符串,并將website變量聲明為字符串。
website = "apple.com" print(website) # 為website變量賦新值 website = "(cainiaoplus.com)" print(website)
運(yùn)行該程序時(shí),輸出為:
apple.com (cainiaoplus.com)
在上述程序中,我們最初已分配 apple.com 給website變量。然后,將值更改為 (cainiaoplus.com)。
a, b, c = 5, 3.2, "Hello" print (a) print (b) print (c)
如果我們想一次將相同的值分配給多個(gè)變量,我們可以這樣做:
x = y = z = "same" print (x) print (y) print (z)
第二個(gè)程序?qū)⒆址?same 同時(shí)分配給三個(gè)變量x,y和z。
常量也是一種變量,只是其值一旦賦予后無法更改??梢詫⒊A恳暈楸4媪艘院鬅o法更改的信息的容器。
您可以將常量視為一個(gè)用于存儲(chǔ)一些書籍的袋子,這些書籍一旦放入袋子中就無法替換為別的書籍。
在Python中,常量通常是在模塊中聲明和分配的。在這里,模塊是一個(gè)包含變量,函數(shù)等的新文件,該文件被導(dǎo)入到主文件中。在模塊內(nèi)部,用所有大寫字母寫的常量和下劃線將單詞分開。
創(chuàng)建一個(gè)constant.py:
PI = 3.14 GRAVITY = 9.8
創(chuàng)建一個(gè)main.py:
import constant print(constant.PI) print(constant.GRAVITY)
運(yùn)行該程序時(shí),輸出為:
3.14 9.8
在上面的程序中,我們創(chuàng)建一個(gè) constant.py 模塊文件。然后,將常量值分配給PI和GRAVITY。之后,我們創(chuàng)建一個(gè) main.py 文件并導(dǎo)入constant 模塊。最后,我們打印常數(shù)值。
注意:實(shí)際上,我們不在Python中使用常量。用大寫字母命名它們是一種將其與普通變量分開的一種約定,但是,實(shí)際上并不能阻止重新分配。
常量和變量名稱應(yīng)由小寫字母(a 到 z)或大寫字母(A 到 Z)或數(shù)字(0 到 9)或下劃線(_)組成。例如:
snake_case MACRO_CASE camelCase CapWords
創(chuàng)建一個(gè)有意義的名稱。例如, vowel 比v更有意義。
如果要?jiǎng)?chuàng)建具有兩個(gè)單詞的變量名,請(qǐng)使用下劃線將它們分開。例如:
my_name current_salary
使用可能的大寫字母聲明一個(gè)常量。例如:
PI G MASS SPEED_OF_LIGHT TEMP
切勿使用!,@,#,$,%等特殊符號(hào)。
不要用數(shù)字開頭的變量名。
字面量是以變量或常量給出的原始數(shù)據(jù)。在Python中,有多種類型的字面量,如下所示:
數(shù)字字面量是不可變的(不可更改)。數(shù)字字面量可以屬于3種不同的數(shù)值類型:Integer,F(xiàn)loat 和 Complex。
a = 0b1010 #二進(jìn)制字面量 b = 100 #十進(jìn)制字面量 c = 0o310 #八進(jìn)制字面量 d = 0x12c #十六進(jìn)制字面量 #Float 字面量 float_1 = 10.5 float_2 = 1.5e2 #Complex 字面量 x = 3.14j print(a, b, c, d) print(float_1, float_2) print(x, x.imag, x.real)
運(yùn)行該程序時(shí),輸出為:
10 100 200 300 10.5 150.0 3.14j 3.14 0.0
在上面的程序中
我們將整數(shù)字面量分配給不同的變量。在這里,a是二進(jìn)制字面量,b是十進(jìn)制字面量,c是八進(jìn)制字面量,d是十六進(jìn)制字面量。
當(dāng)我們打印變量時(shí),所有字面量 都將轉(zhuǎn)換為 十進(jìn)制值。
10.5 和 1.5e2 是浮點(diǎn)字面量。1.5e2 用指數(shù)表示,等于 1.5 * 102。
我們?yōu)樽兞?var>x分配了一個(gè)復(fù)數(shù)字面量 3.14j 。然后,我們使用虛數(shù)字面量(x.imag) 和 實(shí)數(shù)字面量(x.real)來創(chuàng)建復(fù)數(shù)的虛部和實(shí)部。
要了解有關(guān)數(shù)字字面量的更多信息,請(qǐng)參考 Python Numbers。
字符串字面量是由引號(hào)括起來的一系列字符。我們可以對(duì)字符串使用單引號(hào),雙引號(hào) 或 三引號(hào)。并且,字符字面量是用單引號(hào)或雙引號(hào)引起來的單個(gè)字符。
strings = "This is Python" char = "C" multiline_str = """This is a multiline string with more than one line code.""" unicode = u"\u00dcnic\u00f6de" raw_str = r"raw \n string" print(strings) print(char) print(multiline_str) print(unicode) print(raw_str)
運(yùn)行該程序時(shí),輸出為:
This is Python C This is a multiline string with more than one line code. ünic?de raw \n string
在上述程序中,This is Python 是字符串字面量 和 C 是char字符字面量。在multiline_str中分配的帶有三引號(hào)"""的值是多行字符串字面量。而 u"\u00dcnic\u00f6de" 是一個(gè)Unicode文本支持英語以外的字符,r"raw \n string" 是原始字符串字面量。
布爾字面量可以具有兩個(gè)值中的任何一個(gè):True 或 False。
x = (1 == True) y = (1 == False) a = True + 4 b = False + 10 print("x is", x) print("y is", y) print("a:", a) print("b:", b)
運(yùn)行該程序時(shí),輸出為:
x is True y is False a: 5 b: 10
在上面的程序中,我們使用了布爾字面量 True 和 False。在Python中,True 表示值為1,False 表示值為0。x的值為真,因?yàn)? 等于 True。y 的值為 False,因?yàn)? 不等于 False。類似地,我們可以使用數(shù)值表達(dá)式中的 True 和 False 作為值。a 的值是 5,因?yàn)槲覀兗由蟃rue,它的值是 1 加 4。類似地,b 等于 10,因?yàn)槲覀儼?0 和 10 相加。
Python包含一個(gè)特殊字面量,即 None。我們使用它來指定尚未創(chuàng)建的字段。
drink = "Available" food = None def menu(x): if x == drink: print(drink) else: print(food) menu(drink) menu(food)
運(yùn)行該程序時(shí),輸出為:
Available None
在上面的程序中,我們定義了一個(gè) menu 函數(shù)。在 menu 內(nèi)部,當(dāng)我們將參數(shù)設(shè)置為 drink 時(shí),它將顯示 Available。并且,當(dāng)參數(shù)為時(shí) food,將顯示 None。
有四種不同的字面量集合:列表字面量,元組字面量,字典字面量 和 集合字面量。
fruits = ["apple", "mango", "orange"] #列表 numbers = (1, 2, 3) #元組 alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #字典 vowels = {'a', 'e', 'i' , 'o', 'u'} #集合 print(fruits) print(numbers) print(alphabets) print(vowels)
運(yùn)行該程序時(shí),輸出為:
['apple', 'mango', 'orange'] (1, 2, 3) {'a': 'apple', 'b': 'ball', 'c': 'cat'} {'e', 'a', 'o', 'i', 'u'}
在上面的程序中,我們創(chuàng)建了一個(gè) fruits 列表,一個(gè)numbers元組,一個(gè) alphabets 字典,alphabets字典的值帶有為每個(gè)值指定的鍵,以及vowels 元音字母的集合。
要了解有關(guān)字面量集合的更多信息,請(qǐng)參考Python數(shù)據(jù)類型。