Skip to content

Latest commit

 

History

History
357 lines (239 loc) · 8.72 KB

6.md

File metadata and controls

357 lines (239 loc) · 8.72 KB

Python 变量,常量和字面值

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

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

Python 变量

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

number = 10 

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

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

number = 10
number = 1.1 

最初,number的值为 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)

# assigning a new variable to website
website = "programiz.com"

print(website) 

输出

apple.com
programiz.com 

在上述程序中,我们最初已将apple.com分配给website变量。 然后,将该值更改为programiz.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) 

第二个程序将相同的字符串分配给所有三个变量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. 创建一个有意义的名称。 例如,vowelv更有意义。

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

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

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

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


字面值

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

数字字面值

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

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

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) 

输出

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


字符串字面值

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

示例 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 

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

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

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

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


布尔字面值

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

示例 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 

在上面的程序中,我们使用布尔字面值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 中使用特殊字面值?

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"] #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) 

输出

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

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

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