小学生学python(三)
这一节主要讲序列,包含三种:字符串,列表,元组。
1 字符串
就是一系列字符。比如:
'this is string'
"this is string"
'这是字符串'
"这是字符串"
给一个变量赋值并打印出来
name = 'this is string' print(name)
this is string这个字符串是保存在内存的栈中的,有个地址,一般用十六进制的0x开头表示,比如0x000003545,内存的地址跟我们生活中的门牌号相似。但是name是怎么取到这个字符串值得呢,name自身也是在栈中有个地址,里面保存了一个指向字符串this is string所在地址的指针。当我们调用print函数的时候就能显示this is string
对字符串进行拼接
first_name = "jack" last_name = "ma" full_name = first_name + " " + last_name print(full_name)
直接使用操作符+来拼接字符串,输出结果就是:jack ma
2. 列表
列表是由一系列按特定顺序排列的元素组成。用方括号[]来表示列表,并用逗号来分隔其中的元素。
cars = ['bmw','benz','byd','ford','rowei'] print(cars)
输出的结果是:
['bmw', 'benz', 'byd', 'ford', 'rowei']
如果要访问其中的元素,使用下标就行。
从cars列表中取出第一个品牌的汽车
print(cars[0])
如果要取出荣威汽车,怎么弄,是第五个元素,但是程序是从0开始计数,而不是常规中的1开始,所以下标用4。当然,其他编程语言也是这样设计的。
print(cars[4])
然而,最后一个元素取值也可以这样
print(cars[-1])
两者的输出结果都是
rowei
不带中括号,也不带引号。
来个例子
message = "My first car is a " + cars[3] + " auto." print(message)
输出结果是:
My first car is a ford auto.
接下来想在cars列表中新增个volvo(沃尔沃)
cars.append('volvo') print(cars)
print是打印输出的意思,输出的结果是:
['bmw', 'benz', 'byd', 'ford', 'rowei', 'volvo']
加在了列表的最后。但是我想加在荣威前面怎么弄
cars.insert(4, 'volvo')
insert就是插入一个指定的位置。
现在我们想把上汽荣威改成上汽名爵。
cars[4] = 'mg' print(cars)
--------------------------------------------------------
['bmw', 'benz', 'byd', 'ford', 'mg', 'volvo']
想把byd删掉
cars.pop(2)
或者
cars.remove('byd')
使用print函数输出结果
['bmw', 'benz', 'ford', 'mg', 'volvo']
3. 元组
上面列表的数据都是可以修改,还有一种不能修改的,像常量一样,这种成为元组。
使用小括号()来表示,看起来像列表,用法跟列表也相似,只是不能改值。
rectangle = (100, 50) rectangle[0] = 200
这样去修改第一个元素的值就会报错了
Traceback (most recent call last): File "ma.py", line 43, in <module> rectangle[0] = 200 TypeError: 'tuple' object does not support item assignment
如果不能修改元素,也不能删除元素,那就只能读了。
for i in rectangle: print(i)
for循坏可以用来遍历元组中的所有值。
100 50
相比于列表,元组是更简单的数据结构。 如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。