在本文中,您将了解Python变量、常量、字面量及其用例。
变量是用于在内存中存储数据的命名位置。可以将变量视为保存数据的容器,这些数据可以在后面程序中进行更改。例如,
number = 10
在这里,我们创建了一个名为number的变量。我们已将值 10 分配给变量 number。
您可以将变量视为用于存储书籍的袋子,并且可以随时替换里面的书籍。
number = 10 number = 1.1
最初,它等于10。后来,它被更改为1.1。
注意:在Python中,我们实际上并未为变量分配值。相反,Python将对象(值)的引用提供给变量。
从上面的示例中可以看到,可以使用赋值运算符 = 为变量赋值。
website = "apple.com"
print(website)
运行该程序时,输出为:
apple.com
在以上程序中,我们为变量website分配了一个值 apple.com 。然后,我们打印出分配给website的值,即 apple.com
注意:Python是一种类型推断语言,因此您不必显式定义变量类型。它会自动知道这 apple.com 是一个字符串,并将website变量声明为字符串。
website = "apple.com"
print(website)
# 为website变量赋新值
website = "(cainiaojc.com)"
print(website)
运行该程序时,输出为:
apple.com
(cainiaojc.com)
在上述程序中,我们最初已分配 apple.com 给website变量。然后,将值更改为 (cainiaojc.com)。
a, b, c = 5, 3.2, "Hello"
print (a)
print (b)
print (c)
如果我们想一次将相同的值分配给多个变量,我们可以这样做:
x = y = z = "same"
print (x)
print (y)
print (z)
第二个程序将字符串 same 同时分配给三个变量x,y和z。
常量也是一种变量,只是其值一旦赋予后无法更改。可以将常量视为保存了以后无法更改的信息的容器。
您可以将常量视为一个用于存储一些书籍的袋子,这些书籍一旦放入袋子中就无法替换为别的书籍。
在Python中,常量通常是在模块中声明和分配的。在这里,模块是一个包含变量,函数等的新文件,该文件被导入到主文件中。在模块内部,用所有大写字母写的常量和下划线将单词分开。
创建一个constant.py:
PI = 3.14 GRAVITY = 9.8
创建一个main.py:
import constant
print(constant.PI)
print(constant.GRAVITY)
运行该程序时,输出为:
3.14
9.8
在上面的程序中,我们创建一个 constant.py 模块文件。然后,将常量值分配给PI和GRAVITY。之后,我们创建一个 main.py 文件并导入constant 模块。最后,我们打印常数值。
注意:实际上,我们不在Python中使用常量。用大写字母命名它们是一种将其与普通变量分开的一种约定,但是,实际上并不能阻止重新分配。
常量和变量名称应由小写字母(a 到 z)或大写字母(A 到 Z)或数字(0 到 9)或下划线(_)组成。例如:
snake_case
MACRO_CASE
camelCase
CapWords
创建一个有意义的名称。例如, vowel 比v更有意义。
如果要创建具有两个单词的变量名,请使用下划线将它们分开。例如:
my_name
current_salary
使用可能的大写字母声明一个常量。例如:
PI
G
MASS
SPEED_OF_LIGHT
TEMP
切勿使用!,@,#,$,%等特殊符号。
不要用数字开头的变量名。
字面量是以变量或常量给出的原始数据。在Python中,有多种类型的字面量,如下所示:
数字字面量是不可变的(不可更改)。数字字面量可以属于3种不同的数值类型:Integer,Float 和 Complex。
a = 0b1010 #二进制字面量
b = 100 #十进制字面量
c = 0o310 #八进制字面量
d = 0x12c #十六进制字面量
#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)
运行该程序时,输出为:
10 100 200 300
10.5 150.0
3.14j 3.14 0.0
在上面的程序中
我们将整数字面量分配给不同的变量。在这里,a是二进制字面量,b是十进制字面量,c是八进制字面量,d是十六进制字面量。
当我们打印变量时,所有字面量 都将转换为 十进制值。
10.5 和 1.5e2 是浮点字面量。1.5e2 用指数表示,等于 1.5 * 102。
我们为变量x分配了一个复数字面量 3.14j 。然后,我们使用虚数字面量(x.imag) 和 实数字面量(x.real)来创建复数的虚部和实部。
要了解有关数字字面量的更多信息,请参考 Python Numbers。
字符串字面量是由引号括起来的一系列字符。我们可以对字符串使用单引号,双引号 或 三引号。并且,字符字面量是用单引号或双引号引起来的单个字符。
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)
运行该程序时,输出为:
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中分配的带有三引号"""的值是多行字符串字面量。而 u"\u00dcnic\u00f6de" 是一个Unicode文本支持英语以外的字符,r"raw \n string" 是原始字符串字面量。
布尔字面量可以具有两个值中的任何一个: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)
运行该程序时,输出为:
x is True
y is False
a: 5
b: 10
在上面的程序中,我们使用了布尔字面量 True 和 False。在Python中,True 表示值为1,False 表示值为0。x的值为真,因为1 等于 True。y 的值为 False,因为1 不等于 False。类似地,我们可以使用数值表达式中的 True 和 False 作为值。a 的值是 5,因为我们加上True,它的值是 1 加 4。类似地,b 等于 10,因为我们把 0 和 10 相加。
Python包含一个特殊字面量,即 None。我们使用它来指定尚未创建的字段。
drink = "Available"
food = None
def menu(x):
if x == drink:
print(drink)
else:
print(food)
menu(drink)
menu(food)
运行该程序时,输出为:
Available
None
在上面的程序中,我们定义了一个 menu 函数。在 menu 内部,当我们将参数设置为 drink 时,它将显示 Available。并且,当参数为时 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)
运行该程序时,输出为:
['apple', 'mango', 'orange']
(1, 2, 3)
{'a': 'apple', 'b': 'ball', 'c': 'cat'}
{'e', 'a', 'o', 'i', 'u'}
在上面的程序中,我们创建了一个 fruits 列表,一个numbers元组,一个 alphabets 字典,alphabets字典的值带有为每个值指定的键,以及vowels 元音字母的集合。
要了解有关字面量集合的更多信息,请参考Python数据类型。