编辑这个页面须要登录或更高权限!

Python 变量,常量和字面量

在本文中,您将了解Python变量、常量、字面量及其用例。

Python变量

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

number = 10

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

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

number = 10
number = 1.1

最初,它等于10。后来,它被更改为1.1。

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

在Python中为变量赋值

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

示例1:声明和分配值给变量

website = "apple.com"
print(website)

运行该程序时,输出为:

apple.com

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

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

示例2:更改变量的值

website = "apple.com"
print(website)

# 为website变量赋新值 
website = "(cainiaojc.com)"

print(website)

运行该程序时,输出为:

apple.com
(cainiaojc.com)

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

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

a, b, c = 5, 3.2, "Hello"

print (a)
print (b)
print (c)

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

x = y = z = "same"

print (x)
print (y)
print (z)

第二个程序将字符串 same 同时分配给三个变量xyz

常量

常量也是一种变量,只是其值一旦赋予后无法更改。可以将常量视为保存了以后无法更改的信息的容器。

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

在Python中为常量赋值

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

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

创建一个constant.py

PI = 3.14
GRAVITY = 9.8

创建一个main.py

import constant

print(constant.PI)
print(constant.GRAVITY)

运行该程序时,输出为:

3.14
9.8

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

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

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

  1. 常量和变量名称应由小写字母(a 到 z)或大写字母(A 到 Z)或数字(0 到 9)或下划线(_)组成。例如:

    snake_case
    MACRO_CASE
    camelCase
    CapWords
  2. 创建一个有意义的名称。例如, vowel 比v更有意义。

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

    my_name
    current_salary
  4. 使用可能的大写字母声明一个常量。例如:

    PI
    G
    MASS
    SPEED_OF_LIGHT
    TEMP
  5. 切勿使用!,@,#,$,%等特殊符号。

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

字面量

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

数字字面量

数字字面量是不可变的(不可更改)。数字字面量可以属于3种不同的数值类型:Integer,Float 和 Complex。

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

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

字符串字面量

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

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

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。

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

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。我们使用它来指定尚未创建的字段。

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

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。

字面量集

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

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

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数据类型

Python 基础教程
Python 流程控制
Python 函数
Python 数据类型
Python 文件操作
Python 对象和类
Python 日期和时间
Python 高级知识
Python 参考手册