学过c语言的都知道,C语言在一开始的时候都要引用库,这样可以方便调用一些已经编好的函数;python当然也可以啦,你只需要在开头写上“ import ~ ”(“ ~ ”为你调用函数库的名字),并且python库的编写相比较C语言来讲也比较简单,你在当前目录下写的python文件都可以调用。当然,python库函数的调用也有它自己的搜索路径,你只要将写好的函数放入其中任何一个目录下,就可以将其调用。
上一期我们已经了解到python中不需要和C语言一样专门地去定义变量,那些简单数据类型、字符串与C语言差不多,有一点不同——python中没有长整型,int 数值范围与你当前使用机器的位数有关,其他的几乎一样我也就不解释了。数据的运算也几乎一样,这里我就只说一下不同的地方吧。首先就是幂次方的变化,python中 x 的平方写为“ x**2 ”;还有python中“ / ”就代表除法,而“ // ”则代表取整除;另外,三元运算的用法也有一点不同,python中为“ a = b if c > d else e”,意思就是如果“ c >.d ”就返回 b,否则返回 e。除此之外还有几个特殊的用法:
-
Python成员运算符
运算符 描述 in 如果在指定的序列中找到值返回 Ture,否则返回 False。 not in 如果在指定的序列中没有找到值返回 Ture,否则返回 False。 -
Python身份运算符
运算符 描述 is
is 是判断两个标识符是不是引用自一个对象 is not
is not 是判断两个标识符是不是引用自不同对象
下面我们再来看看python中列表的用法,其实就类似于C语言中的数组。
a = ['zhang',"wang",'yang']
既然类似,用法就差不多,同样是 a[0] = 'zhang' ,下标是从零开始;不过,有一个特殊的用法就是它还可以倒着数,如:a[-1] = 'yang' 。在C语言中,数组必须为a*b的矩阵并且其中是类型必须相同,而python中则都不需要。另外,python中还有一些C语言中没有的用法,下面就来介绍一下。
- 追加
这个只能将变量插入到最后,使用局限但比较方便。
n = ['zhang','wang','yang']
n.append("kui")
print(n)
#result:['zhang', 'wang', 'yang', 'kui']
- 插入
这个就可以将你想要插入的变量插入到任意的位置。前面的“1”代表插入到位置,后面代表插入的变量。
n = ["zhang","wang","yang"]
n.insert(1,"chang")
print(n)
#result:['zhang', 'chang', 'wang', 'yang']
- 修改
这个也比较简单,你只需要找准变量所对应的下标就可以了。
n = ["zhang","wang","yang",[1,2]]
n[0]="tang"
n[3][0] = 0
print(n)
#result:['tang', 'wang', 'yang', [0, 2]]
- 删除
这个可以用三种代码去实现:
del 这个比较简单,直接加上下标就可以将其删除。
n = ["zhang","wang","yang"]
del n[0]
print(n)
#result:['wang', 'yang']
remove 这个一般用在下标不容易去判断时使用。
n = ["zhang","wang","yang"]
n.remove("zhang")
print(n)
#result:['wang', 'yang']
pop 则是默认删除最后一个
n = ["zhang","wang","yang"]
n.pop()
print(n)
#result:['zhang', 'wang']
- 反转
就是简单的字面意思,反转。
n = ["zhang","wang","yang"]
n.reverse()
print(n)
#result:['yang', 'wang', 'zhang']
- 排序
排序的顺序是按照ASCII码来进行的。不过要注意,比较的数据类型要相同才行。
n = ["zhang","wang","yang",'2']
n.sort()
print(n)
#result:['2', 'wang', 'yang', 'zhang']
- 找位置
寻找你想要得到数据的下标。
n = ["zhang","wang","yang",'2']
print(n.index("wang"))
#result:1
- 复制
第一层的浅复制,有4种方式。
import copy
n = ["zhang","wang","yang"]
p0 = n.copy()
p1 = copy.copy(n)
p2 = n[:]
p3 = list(n)
#result:(其结果都一样)['zhang', 'wang', 'yang']
完全复制。
import copy
n = ["zhang","wang","yang"]
n1 = copy.deepcopy(n)
print(n1)
#result:['zhang', 'wang', 'yang']
那么这两种复制的区别是啥呢,举个例子来看一下吧。
import copy
n = ["zhang","wang","yang",[1,2]]
print(n)
#result:['zhang', 'wang', 'yang', [1, 2]]
p0 = n.copy()
n1 = copy.deepcopy(n)
n[2] = 5
n[3][0] = 3
print(n)
#result:['zhang', 'wang', 5, [3, 2]]
print(p0)
#result:['zhang', 'wang', 'yang', [3, 2]]
print(n1)
#result:['zhang', 'wang', 'yang', [1, 2]]
当原来复制列表中的数据发生变化时,浅复制与完全复制都不会发生变化;而当原来复制列表中的列表变化时,浅复制的列表也会发生变化,而完全复制则不会变化。
其实,列表的用法还有很多,这里就只介绍几种比较常用的,还想要了解的可以如下图操作,自行去探索(如果你英语好的话,那你学起来应该会很快)。
看完列表,再来介绍一种python中经常用到的,也十分方便强大的数据类型——字典。顾名思义,它使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。其格式如下:(key - value)
a = {
'001':'zhang',
'002':'wang',
'003':'yang'
}
需要注意它里面数据存储是无序的,另外,key值必须是唯一的,不能有重复。
- 添加
a["004"] = 'lang'
print(a)
#result:{'001': 'zhang', '002': 'wang', '003': 'yang', '004': 'lang'}
- 修改
a['001'] = 'kui'
print(a)
#resul:{'001': 'kui', '002': 'wang', '003': 'yang'}
- 删除
这个也有几种方式,下面来一一介绍。
del a['002']
print(a)
#result:{'001': 'zhang', '003': 'yang'}
a.pop('001')
print(a)
#result:{'003': 'yang'}
另外,还有一种随机删除的用法。
a.popitem()
print(a)
#resul:{'001': 'zhang', '002': 'wang'}
- 查找、查询
print(a.get('001'))
#result:zhang
print('002' in a)
#result:True
print('004' in a)
#result:False
其实,字典里面也可以用嵌套结构与上面的列表差不多,这里偷个懒,不介绍了,留给大家自行探索吧, hh !
(未完待续)