2017/4/23学习python笔记

来源:互联网 发布:社交网络关系图 绘制 编辑:程序博客网 时间:2024/06/14 12:05

Python  的 str()函数和repr()函数都是将任意对象转化成一个字符串来输出,但是repr比较友好一些。一般情况先eval函数可以将repr函数转化成的字符串再恢复成原来的对象,但是str所产生的字符串就不能被恢复。

关于eval函数功能可以说是十分强大,官方解释为:将字符串str当成有效的表达式来求值并返回计算结果。可以直接把传入的字符串翻译成可以解释的形式然后直接得出值,所以可以用来字符串转int,也可以用来一串string表达式转成一个运算结果。

 

 

然后关于marshal.load产生的对象,可以通过uncompyle2包里的uncompyle函数直接解开,uncompyle的参数有三个,第一个是python版本,第二个是要解密的被marshal.loads()的对象,第三个是写方式打开的文件。然后最后源代码会被输出到那个文件当中。

 

 

Int()函数,能够将一个字符串转换成十进制数字int(“num”,int format)第一个参数是要转化的字符串,第二个参数是num的进制,如果num是16进制就将把format设置为16,输出的结果是对应的十进制的数值,注意,只能输出十进制的额数值。

 

 

List,tuple,

List类型感觉最贴近于我们学过的其他语言的数组,但是List特殊的地方在于它里面的元素可以是任意的元素,而且不一定是同一种元素。访问的时候可以直接按照元素的位置,比如tmplist[0],tmplist[1],List还支持倒序访问,tmplist[-1]就是指的倒数第一个元素,以此类推。

List的insert(int pos,obj)在某个位置插入,其余后退

pop()删除最后一个

pop(int pos )删除pos位置的对象

append(obj)在list末尾加入元素

tuple和list差不多,定义时用的是小括号,为了和表示运算优先级的小括号区别开,当tuple元素里只有一个元素时,要在元素后面加一个逗号表示这是一个tuple。Tuple另外一个重要的地方是它定义了以后是不可以修改的。

而要创建可以修改的tuple,可以把tuple的某个对象设置为List,这样,List的指针本身是不变的,改变list的内容,tumple就不报错了。

 

Dict,set类型

 

       Dict类型是为了方便查找而引出的:

其中元素定义的格式是key:value,用的是大括号。访问的时候是d[key]也就是说,dict是按照key来进行访问的,而不是索引,虽然用的都是[]。

       Dict的存储是无序的,而且查找速度比list要快,但是占据的内存也比较大。关键一点是dict的key一定是不可变的。

       Dict的更新可以直接用d[key]=value。

       Dict的遍历用for key in d:

 

Set类型感觉就是没有key的dict,他的内容是不可变的,定义的时候呢是通过

Name=set([a,b,c])传入一个list来实现的。同时set里面不会有重复元素,如果传入的list里面有,会自动去除。它内部的存储顺序可就不是像list那样有序了,遍历的时候,,还是用for x in s:来遍历

       增加用add,删除用remove

 

 

下面说一下切片的用法所谓切片就是把List或者tuple切成若干个小的List或者tuple语法是L[a:b:c]其中abc是三个整形,表示从第a个开始,取到第b-1个之前,每c个取一个缺省值分别是0,len(L),1。当然也支持a,b是负数,就相当于逆向访问了从倒数第a个开始取到倒数第b个,还是不包括包括倒数第b个。

还有字符串切片,格式是字符串加上[a:b:c]

迭代的enmurate函数可以获得索引和对象内容,for index,name in enmurate(L)即可。

Dict 的item函数能够把其转化为一个tuple为key和value的tuple的List

for key ,values in d.items()。

而values函数能够把其转化成所有value的List

0 0