自学Python-基本数据结构(1)

基本数据结构(1)

欢迎来到我的blog。
由于工作需要和个人爱好,我需要学习一门脚本语言,于是我选择了自学Python,此系列作为我对于《零基础自学python》这个教程的学习记录.

Hello world

要问世界上出现的第一句话是什么,那当然是 “Hello world!”了。

1
2
3
#!/usr/bin/python
#coding:utf-8
print "hello world!"

就像shell脚本一样,python需要在第一行指定解析器:#!/usr/bin/python。
#coding:utf-8 则表明了代码的编码方式。
print大家肯定就更不陌生了,毕竟C是大学必修课(手动滑稽)。
大家也一定发现了,和C的不同之处还有:每个语句的结尾没有分号。


整型、浮点型(int、float)

1
2
3
a = 2
b = 2.0
print a+b

这个我感觉没啥好说的,相比C语言,在赋值时不用指定类型了,更加智能了,即使是过长的字符串也能自动识别为long long 类型,值得说的一点是在做运算时只要其中有一个是浮点型,则结果也是浮点型。


字符串、列表(string、list)

1
2
3
4
a = "www.googel.com"
print a
alist = [1,2,"3","hello"]
print alist

字符串和C一样都是用引号括起来,不同于C的是你可以选择单引号也可以选择双引号。
列表中的元素可以是各种不同的数据类型,并且是有序的可以增删改查的。

字符串的一对方法

1
2
3
4
5
b = "Www.googel.com"
c = b.split(".")
print c
d = ".".join(c)
print d

split:以某个字符将字符串拆分。
join:以某个字符将列表连接成字符串。
这两个方法大家运行就能看到效果,记住直接调用就好。

列表的一些方法

1
2
3
4
5
6
7
8
9
10
11
12
13
alist.extend("hello")
#alist.apend("hello")
print alist

print alist.count(3)
print alist.index(1)
alist.insert(0,3)
print alist
alist.reverse()
print alist

alist.sort()
print alist

extend和apend都是向列表中添加,不同的是extend是按元素添加,apend是整体添加,什么意思呢?大家运行一下就能看出差别。我认为学习尤其是编程语言的学习,只有自己动手敲出来的才会记忆深刻。

count和index都是查找列表中的元素,count是按内容查找,index是按索引查找。count是查找列表中有没有这个元素,index则是查找列表中的第n个元素。

insert,正如它的名字那样,作用是向列表中的某个位置添加某个元素,所以他需要两个参数,第一个参数指定位置,第二个参数指定要添加的元素。

reverse是将列表中的元素反向重新排列,sort则是重新排列列表。


元组(tupel)

1
2
tu = 1,2,3,"hello"
print tu

这里简单说一下元组和列表的区别:
Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。

如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换 (需要使用一个特殊的函数)。

Tuples 可以在 dictionary(字典,后面要讲述) 中被用做 key,但是 list 不行。Dictionary key 必须是不可变的。Tuple 本身是不可改变的,但是如果您有一个 list 的 tuple,那就认为是可变的了,用做 dictionary key 就是不安全的。只有字符串、整数或其它对 dictionary 安全的tuple 才可以用作 dictionary key。

Tuples 可以用在字符串格式化中。


结语

第一次写blog,也是第一次用Markdown,有很多不足,后续会继续优化和更新文章。

只有迈出第一步,才会慢慢进步,共勉。


自学Python-基本数据结构(1)
https://carl-5535.github.io/2020/11/08/自学python/自学Python-基本数据结构-1/
作者
Carl Chen
发布于
2020年11月8日
许可协议