重要补充

Python SELF ZH
第 5 级 , 课程 6
可用

6.1 变量是引用

在 Python 中,变量是对象的引用,而不是变量本身。这意味着,当你在 Python 中创建一个变量时,你只是创建了一个指向内存中对象的引用。

这种语言特性对变量操作有重要影响,特别是当对象传递给函数或者它们分配给其他变量时。

当你创建一个变量并赋值时,Python 会为该值在内存中分配一个对象,并使变量成为该对象的引用。如果你将一个变量赋值给另一个变量, 新变量将引用与原变量相同的对象。这意味着,如果对象是可变的,通过一个变量所做的更改也会影响另一个变量。

示例:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # 输出: [1, 2, 3, 4]

我们向变量 b 添加了数字 4,但是它也被添加到了变量 a 的列表中,因为实际上两个变量都只是指向对象列表 [1, 2, 3] 的引用。

6.2 不可变对象

在 Python 中,对象被分为可变不可变。可变对象,如列表和字典,可以在创建后修改。

不可变对象,如字符串和数字,在创建后不能被修改。当你处理不可变对象时,修改会导致创建一个新对象:

赋值不会改变对象:


a = 5  # a 保存对对象 5 的引用
b = a  # b 也保存对对象 5 的引用
b = 3  # 现在 b 保存对对象 3 的引用
print(a)  # 输出: 5               

对象可以通过调用其函数进行修改:


a = [1, 2, 3]
b = a
b.append(4)
print(a)  # 输出: [1, 2, 3, 4]                              

但是,有些不可变对象有函数。这些函数不会改变原始对象,而是返回一个包含新结果的新对象:


name = "Alex"
print(name)  # 输出: Alex
name2 = name.lower() 
print(name2)  # 输出: alex               

字符串是不可变的对象。尽管它们有方法,这些方法从不改变字符串对象,而是始终返回一个新字符串(新对象)。旧对象保持不变。

6.3 操作 None 类型

在 Python 中,有一种特殊的数据类型用于表示值的缺失——None。它用于表示空变量或作为不返回任何值的函数的返回值。理解 None 对于管理程序的行为尤其重要,特别是在条件操作符和数据操作中。

None 的基础使用

None 是类 NoneType 的唯一实例。它用于指示变量没有值。在条件语句中,None 被评估为假的 (False)。


a = None
if a:
    print("a 是 True")
else:
    print("a 是 None 或 False")

与 None 的比较

检查变量是否为 None 应使用 is 操作符,而不是 ==。操作符 is 检查的是身份,而不是值的相等性。


a = None
if a is None:
    print("a 是 None")
else:
    print("a 有值")

None 在函数中

None 常用于不需要显式返回值的函数。如果函数没有返回值,它会隐式返回 None


def func():
    print("这个函数返回 None")

result = func()
print(result)  # 输出: None

None 和列表

None 可以在列表、元组或其他集合中使用,以指示某个位置上缺少元素。


my_list = [1, None, 3]
print(my_list)  # 输出: [1, None, 3]
1
Опрос
类型转换,  5 уровень,  6 лекция
недоступен
类型转换
类型转换
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION