企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Python 变量,常量和字面值 > 原文: [https://www.programiz.com/python-programming/variables-constants-literals](https://www.programiz.com/python-programming/variables-constants-literals) #### 在本教程中,您将学习 Python 变量,常量,字面值及其使用案例。 ## Python 变量 变量是用于在内存中存储数据的命名位置。 将变量视为保存数据的容器是有帮助的,该数据可以在程序中稍后进行更改。 例如, ```py number = 10 ``` 在这里,我们创建了一个名为`number`的变量。 我们为变量分配了 10 值。 您可以将变量视为用于存储书籍的袋子,并且可以随时替换该书籍。 ```py number = 10 number = 1.1 ``` 最初,`number`的值为 10 。 之后,将其更改为 1.1 。 **注意**:在 Python 中,我们实际上并未为变量分配值。 相反,Python 将对象(值)的引用提供给变量。 * * * ## 在 Python 中为变量赋值 从上面的示例中可以看到,可以使用赋值运算符`=`将值赋给变量。 ### 示例 1:声明和赋值给变量 ```py website = "apple.com" print(website) ``` **输出** ```py apple.com ``` 在上述程序中,我们为变量`website`分配了一个`apple.com`值。 然后,我们打印出分配给`website`的值,即`apple.com` **注意**:Python 是[类型推断的](https://en.wikipedia.org/wiki/Type_inference)语言,因此您不必显式定义变量类型。 它自动知道`apple.com`是一个字符串,并声明`website`变量为字符串。 * * * ### 示例 2:更改变量的值 ```py website = "apple.com" print(website) # assigning a new variable to website website = "programiz.com" print(website) ``` **输出**: ```py apple.com programiz.com ``` 在上述程序中,我们最初已将`apple.com`分配给`website`变量。 然后,将该值更改为`programiz.com`。 * * * ### 示例 3:将多个值分配给多个变量 ```py a, b, c = 5, 3.2, "Hello" print (a) print (b) print (c) ``` 如果我们想一次将相同的值分配给多个变量,我们可以这样做: ```py x = y = z = "same" print (x) print (y) print (z) ``` 第二个程序将相同的字符串分配给所有三个变量`x`,`y`和`z`。 * * * ## 常数 常量是一种变量,其值无法更改。 将常量视为保存了以后无法更改的信息的容器是有帮助的。 您可以将常量视为一个用于存储一些书籍的袋子,这些书籍一旦放入袋子中就无法替换。 * * * ## 在 Python 中为常量赋值 在 Python 中,常量通常在模块中声明和分配。 在这里,模块是一个包含变量,函数等的新文件,该文件将导入到主文件中。 在模块内部,用所有大写字母写的常量和下划线将单词分开。 ### 示例 3:声明值并将其赋给常量 创建一个`constant.py`: ```py PI = 3.14 GRAVITY = 9.8 ``` 创建一个`main.py`: ```py import constant print(constant.PI) print(constant.GRAVITY) ``` **输出**: ```py 3.14 9.8 ``` 在上面的程序中,我们创建一个`constant.py`模块文件。 然后,将常量值分配给`PI`和`GRAVITY`。 之后,我们创建一个`main.py`文件并导入`constant`模块。 最后,我们打印常数值。 **注意**:实际上,我们在 Python 中不使用常量。 用大写字母命名它们是将它们与变量分开的约定,但是,实际上并不能阻止重新分配。 * * * ## 变量和常量的规则和命名约定 1. 常数和变量名称应由小写字母(a 至 z)或大写字母(**A 至 Z**)或数字(**0 至 9**)或下划线(`_`)。 例如: ```py snake_case MACRO_CASE camelCase CapWords ``` 2. 创建一个有意义的名称。 例如,`vowel`比`v`更有意义。 3. 如果要创建具有两个单词的变量名,请使用下划线将它们分开。 例如: ```py my_name current_salary ``` 4. 尽可能使用大写字母声明一个常数。 例如: ```py PI G MASS SPEED_OF_LIGHT TEMP ``` 5. 切勿使用`!, @, #, $, %`等特殊符号。 6. 不要用数字开头的变量名。 * * * ## 字面值 字面值是以变量或常量给出的原始数据。 在 Python 中,有以下几种类型的字面值: ## 数字字面值 数字字面值是不可变的(不可更改)。 数值字面值可以属于 3 种不同的数值类型:`Integer`,`Float`和`Complex`。 ### 示例 4:如何在 Python 中使用数字字面值? ```py a = 0b1010 #Binary Literals b = 100 #Decimal Literal c = 0o310 #Octal Literal d = 0x12c #Hexadecimal Literal #Float Literal float_1 = 10.5 float_2 = 1.5e2 #Complex Literal x = 3.14j print(a, b, c, d) print(float_1, float_2) print(x, x.imag, x.real) ``` **输出**: ```py 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 * 10 ^ 2`。 * 我们为变量`x`分配了一个复数字面值,即`3.14j`。 然后,我们使用**虚数**字面值(`x.imag`)和**实数**字面值(`x.real`)来创建复数的虚部和实部。 要了解有关数字字面值的更多信息,请参阅 [Python Numbers](https://www.programiz.com/python-programming/numbers) 。 * * * ## 字符串字面值 字符串字面值是由引号括起来的一系列字符。 我们可以为字符串使用单引号,双引号或三引号。 并且,字符字面值是由单引号或双引号引起来的单个字符。 ### 示例 7:如何在 Python 中使用字符串字面值? ```py 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) ``` **输出**: ```py This is Python C This is a multiline string with more than one line code. Ünicöde raw \n string ``` 在上述程序中,这是 Python 是字符串字面值, C 是字符字面值。 分配给`multiline_str`的三引号`"""`中的值是多行字符串字面值。 字符串`u"\u00dcnic\u00f6de"` 是 Unicode 字面值,支持英语以外的字符。 在这种情况下,`\u00dc`代表`Ü`,`\u00f6`代表`ö`。 `r"raw \n string"`是原始字符串字面值。 * * * ## 布尔字面值 布尔字面值可以具有两个值中的任何一个:`True`或`False`。 ### 示例 8:如何在 Python 中使用布尔字面值? ```py 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) ``` **输出**: ```py x is True y is False a: 5 b: 10 ``` 在上面的程序中,我们使用布尔字面值`True`和`False`。 在 Python 中,`True`表示为 1 ,`False`表示为 0 。`x`的值为`True`,因为 1 等于`True`。 并且,因为 1 不等于`False`,所以`y`的值为`False`。 同样,我们可以在数字表达式中使用`True`和`False`作为值。`a`的值为 5 ,因为我们将 1 的`True`与 4 相加。 同样,`b`为 10 ,因为我们将 0 的值`False`与 10 相加。 * * * ## 特殊字面值 Python 包含一个特殊字面值,即`None`。 我们使用它来指定尚未创建的字段。 ### 示例 9:如何在 Python 中使用特殊字面值? ```py drink = "Available" food = None def menu(x): if x == drink: print(drink) else: print(food) menu(drink) menu(food) ``` **输出**: ```py Available None ``` 在上面的程序中,我们定义了`menu`函数。 在`menu`内部,当我们将参数设置为`drink`时,它将显示`Available`。 并且,当参数为`food`时,它显示`None`。 * * * ## 集字面值 有四种不同的字面值集合:列表字面值,元组字面值,字典字面值和集合字面值。 ### 示例 10:如何在 Python 中使用字面值集合? ```py fruits = ["apple", "mango", "orange"] #list numbers = (1, 2, 3) #tuple alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #dictionary vowels = {'a', 'e', 'i' , 'o', 'u'} #set print(fruits) print(numbers) print(alphabets) print(vowels) ``` **输出**: ```py ['apple', 'mango', 'orange'] (1, 2, 3) {'a': 'apple', 'b': 'ball', 'c': 'cat'} {'e', 'a', 'o', 'i', 'u'} ``` 在上面的程序中,我们创建了`fruits`列表,`numbers`的元组,字典`dict`的列表,这些字典的值带有为每个值指定的键`vowels`。 要了解有关字面值集合的更多信息,请参考 [Python 数据类型](https://www.programiz.com/python-programming/variables-datatypes)。