小学生学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

相比于列表,元组是更简单的数据结构。 如果需要存储的一组值在程序的整个生命周期内都不变,可使用元组。
 



posted @ 2018-06-22 17:51  超龄码农  阅读(3208)  评论(0编辑  收藏  举报