原文: https://www.programiz.com/python-programming/variables-constants-literals

在本教程中,您将学习 Python 变量,常量,字面值及其使用案例。

Python 变量

变量是用于在内存中存储数据的命名位置。 将变量视为保存数据的容器是有帮助的,该数据可以在程序中稍后进行更改。 例如,

  1. number = 10

在这里,我们创建了一个名为number的变量。 我们为变量分配了 10 值。

您可以将变量视为用于存储书籍的袋子,并且可以随时替换该书籍。

  1. number = 10
  2. number = 1.1

最初,number的值为 10 。 之后,将其更改为 1.1 。

注意:在 Python 中,我们实际上并未为变量分配值。 相反,Python 将对象(值)的引用提供给变量。


在 Python 中为变量赋值

从上面的示例中可以看到,可以使用赋值运算符=将值赋给变量。

示例 1:声明和赋值给变量

  1. website = "apple.com"
  2. print(website)

输出

  1. apple.com

在上述程序中,我们为变量website分配了一个apple.com值。 然后,我们打印出分配给website的值,即apple.com

注意:Python 是类型推断的语言,因此您不必显式定义变量类型。 它自动知道apple.com是一个字符串,并声明website变量为字符串。


示例 2:更改变量的值

  1. website = "apple.com"
  2. print(website)
  3. # assigning a new variable to website
  4. website = "programiz.com"
  5. print(website)

输出

  1. apple.com
  2. programiz.com

在上述程序中,我们最初已将apple.com分配给website变量。 然后,将该值更改为programiz.com


示例 3:将多个值分配给多个变量

  1. a, b, c = 5, 3.2, "Hello"
  2. print (a)
  3. print (b)
  4. print (c)

如果我们想一次将相同的值分配给多个变量,我们可以这样做:

  1. x = y = z = "same"
  2. print (x)
  3. print (y)
  4. print (z)

第二个程序将相同的字符串分配给所有三个变量xyz


常数

常量是一种变量,其值无法更改。 将常量视为保存了以后无法更改的信息的容器是有帮助的。

您可以将常量视为一个用于存储一些书籍的袋子,这些书籍一旦放入袋子中就无法替换。


在 Python 中为常量赋值

在 Python 中,常量通常在模块中声明和分配。 在这里,模块是一个包含变量,函数等的新文件,该文件将导入到主文件中。 在模块内部,用所有大写字母写的常量和下划线将单词分开。

示例 3:声明值并将其赋给常量

创建一个constant.py

  1. PI = 3.14
  2. GRAVITY = 9.8

创建一个main.py

  1. import constant
  2. print(constant.PI)
  3. print(constant.GRAVITY)

输出

  1. 3.14
  2. 9.8

在上面的程序中,我们创建一个constant.py模块文件。 然后,将常量值分配给PIGRAVITY。 之后,我们创建一个main.py文件并导入constant模块。 最后,我们打印常数值。

注意:实际上,我们在 Python 中不使用常量。 用大写字母命名它们是将它们与变量分开的约定,但是,实际上并不能阻止重新分配。


变量和常量的规则和命名约定

  1. 常数和变量名称应由小写字母(a 至 z)或大写字母(A 至 Z)或数字(0 至 9)或下划线(_)。 例如:
    1. snake_case
    2. MACRO_CASE
    3. camelCase
    4. CapWords
  1. 创建一个有意义的名称。 例如,vowelv更有意义。

  2. 如果要创建具有两个单词的变量名,请使用下划线将它们分开。 例如:

    1. my_name
    2. current_salary
  1. 尽可能使用大写字母声明一个常数。 例如:
    1. PI
    2. G
    3. MASS
    4. SPEED_OF_LIGHT
    5. TEMP
  1. 切勿使用!, @, #, $, %等特殊符号。

  2. 不要用数字开头的变量名。


字面值

字面值是以变量或常量给出的原始数据。 在 Python 中,有以下几种类型的字面值:

数字字面值

数字字面值是不可变的(不可更改)。 数值字面值可以属于 3 种不同的数值类型:IntegerFloatComplex

示例 4:如何在 Python 中使用数字字面值?

  1. a = 0b1010 #Binary Literals
  2. b = 100 #Decimal Literal
  3. c = 0o310 #Octal Literal
  4. d = 0x12c #Hexadecimal Literal
  5. #Float Literal
  6. float_1 = 10.5
  7. float_2 = 1.5e2
  8. #Complex Literal
  9. x = 3.14j
  10. print(a, b, c, d)
  11. print(float_1, float_2)
  12. print(x, x.imag, x.real)

输出

  1. 10 100 200 300
  2. 10.5 150.0
  3. 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


字符串字面值

字符串字面值是由引号括起来的一系列字符。 我们可以为字符串使用单引号,双引号或三引号。 并且,字符字面值是由单引号或双引号引起来的单个字符。

示例 7:如何在 Python 中使用字符串字面值?

  1. strings = "This is Python"
  2. char = "C"
  3. multiline_str = """This is a multiline string with more than one line code."""
  4. unicode = u"\u00dcnic\u00f6de"
  5. raw_str = r"raw \n string"
  6. print(strings)
  7. print(char)
  8. print(multiline_str)
  9. print(unicode)
  10. print(raw_str)

输出

  1. This is Python
  2. C
  3. This is a multiline string with more than one line code.
  4. Ünicöde
  5. raw \n string

在上述程序中,这是 Python 是字符串字面值, C 是字符字面值。

分配给multiline_str的三引号"""中的值是多行字符串字面值。

字符串u"\u00dcnic\u00f6de" 是 Unicode 字面值,支持英语以外的字符。 在这种情况下,\u00dc代表Ü\u00f6代表ö

r"raw \n string"是原始字符串字面值。


布尔字面值

布尔字面值可以具有两个值中的任何一个:TrueFalse

示例 8:如何在 Python 中使用布尔字面值?

  1. x = (1 == True)
  2. y = (1 == False)
  3. a = True + 4
  4. b = False + 10
  5. print("x is", x)
  6. print("y is", y)
  7. print("a:", a)
  8. print("b:", b)

输出

  1. x is True
  2. y is False
  3. a: 5
  4. b: 10

在上面的程序中,我们使用布尔字面值TrueFalse。 在 Python 中,True表示为 1 ,False表示为 0 。x的值为True,因为 1 等于True。 并且,因为 1 不等于False,所以y的值为False

同样,我们可以在数字表达式中使用TrueFalse作为值。a的值为 5 ,因为我们将 1 的True与 4 相加。 同样,b为 10 ,因为我们将 0 的值False与 10 相加。


特殊字面值

Python 包含一个特殊字面值,即None。 我们使用它来指定尚未创建的字段。

示例 9:如何在 Python 中使用特殊字面值?

  1. drink = "Available"
  2. food = None
  3. def menu(x):
  4. if x == drink:
  5. print(drink)
  6. else:
  7. print(food)
  8. menu(drink)
  9. menu(food)

输出

  1. Available
  2. None

在上面的程序中,我们定义了menu函数。 在menu内部,当我们将参数设置为drink时,它将显示Available。 并且,当参数为food时,它显示None


集字面值

有四种不同的字面值集合:列表字面值,元组字面值,字典字面值和集合字面值。

示例 10:如何在 Python 中使用字面值集合?

  1. fruits = ["apple", "mango", "orange"] #list
  2. numbers = (1, 2, 3) #tuple
  3. alphabets = {'a':'apple', 'b':'ball', 'c':'cat'} #dictionary
  4. vowels = {'a', 'e', 'i' , 'o', 'u'} #set
  5. print(fruits)
  6. print(numbers)
  7. print(alphabets)
  8. print(vowels)

输出

  1. ['apple', 'mango', 'orange']
  2. (1, 2, 3)
  3. {'a': 'apple', 'b': 'ball', 'c': 'cat'}
  4. {'e', 'a', 'o', 'i', 'u'}

在上面的程序中,我们创建了fruits列表,numbers的元组,字典dict的列表,这些字典的值带有为每个值指定的键vowels

要了解有关字面值集合的更多信息,请参考 Python 数据类型