在本文中,您将了解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数据类型。