WEBVTT

00:01.060 --> 00:06.910
所以到目前为止, 我们知道字符串可以很容易地被访问｡ 

00:07.420 --> 00:11.890
使用方括号, 我们可以访问字符串的不同部分｡ 

00:12.100 --> 00:25.720
这个开始, 停止, 跨越的概念就是我们所说的切片或者字符串切片, 因为我们可以任意的切片字符串.

00:26.350 --> 00:32.110
但我们还需要学习另一个重要的术语, 在这门课中, 我们会反复提到它｡

00:32.110 --> 00:37.240
事实上, 这是一个很重要的概念, 当你在编程方面越来越深入时,

00:37.240 --> 00:41.080
你真的需要理解这个概念是什么？

00:41.110 --> 00:44.590
这就是永恒的概念｡ 

00:44.590 --> 00:47.470
这是编程中的一个重要术语｡ 

00:48.610 --> 00:51.550
不变性是什么意思？

00:52.410 --> 00:55.400
字符串和python是不可变的｡ 

00:55.410 --> 00:57.660
这意味着它们无法更改｡ 

00:58.320 --> 00:59.370
我这么说是什么意思｡ 

01:00.220 --> 01:05.890
现在我们已经给selfish赋了这个值, 这个字符串｡ 

01:06.400 --> 01:09.430
好吧, 我可以重新分配, 对吧？

01:09.430 --> 01:11.770
我现在可以说自私是100｡ 

01:12.570 --> 01:15.570
如果我打印自私｡ 

01:17.440 --> 01:18.640
然后单击“运行”｡ 

01:18.940 --> 01:20.200
这就对了｡ 

01:20.350 --> 01:30.940
但是如果我做了一些事情, 比如自私的第一个指数等于8, 我就点击运行｡ 

01:31.750 --> 01:37.930
我得到一个错误, 我得到一个打字错误, 说字符串对象不支持项赋值｡ 

01:38.670 --> 01:39.780
为什么会这样呢？

01:39.810 --> 01:42.540
因为字符串是不可变的｡ 

01:43.260 --> 01:49.020
也就是说, 一旦创建了它, 我就不能更改它的值｡ 

01:50.130 --> 01:52.430
我可以马上把它改成八｡ 

01:52.440 --> 01:53.980
一二三四五六七

01:54.000 --> 01:56.420
不, 它必须保持不变｡ 

01:56.430 --> 02:03.210
我可以删除或更改它的唯一方法是完全重新分配该值｡ 

02:04.700 --> 02:13.250
所以在内存中, Python会把所有这些从我们的书架内存中移除, 而只把8分配到0书架, 并移除其他的所有东西,

02:13.820 --> 02:18.530
因为我们不再使用它了｡

02:19.760 --> 02:28.300
我们会越来越多地探讨这种不变性的概念, 特别是当我们开始讨论列表的时候｡

02:28.340 --> 02:33.950
但是现在, 请记住, 您不能重新分配字符串的一部分｡ 

02:34.430 --> 02:38.630
一旦被创造出来, 它就以那种形式存在｡ 

02:38.660 --> 02:42.260
我们唯一能改变它的方法就是创造新的东西｡ 

02:42.560 --> 02:48.650
我们可以做自私加八, 我们可以这样创造它｡ 

02:48.740 --> 02:53.180
但现在这个自私是一个全新的字符串｡ 

02:53.210 --> 03:02.660
这已经不存在了, 一个全新的货架空间被创建出来, 让我们使用这个全新的字符串｡ 

03:03.820 --> 03:08.290
再次, 如果这对你来说没有意义, 或者为什么它很重要｡ 

03:08.290 --> 03:09.220
别担心我会的

03:09.220 --> 03:10.240
我们会成功的

03:10.390 --> 03:12.490
不过, 现在我们在下一个视频中再见｡ 

03:12.700 --> 03:13.300
再见, 再见, 再见
