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
- 2017/4/23学习python笔记
- Python学习笔记(4)
- python学习笔记4
- Python 学习笔记 - 4
- python 学习笔记4
- python学习笔记4
- Python学习笔记4
- python 学习笔记4
- python学习笔记(4)
- python 学习笔记4
- python学习笔记4
- Python学习笔记4
- python学习笔记4
- Python 学习笔记4
- python学习笔记4
- Python学习笔记4
- Python学习笔记--4
- python 学习笔记4
- 为什么要进行傅立叶变换,究竟有何意义?如何用MATLAB实现快速傅立叶变换?
- 推荐算法——基于(mahout)
- 直接内存和堆内存的性能比较
- 数据库的那些事(一)
- LintCode 36 翻转链表 II
- 2017/4/23学习python笔记
- 写在前言--我的博客搭建之路
- MVC页面常见的三种传值方式
- 腾讯云Tomcat配置SSL证书
- 【Untiy&对象】如何实现一个Prefab立方体的6个面不同图案
- 臻于完美的妻子
- Head First 设计模式(九)迭代器与组合模式
- 4月英语的收获
- UI延迟