Python 部分知识点总结(一)

此篇博客只是记录第三周未掌握或不熟悉的知识点,用来加深印象。

一、计算代码运行时间

  1. import datetime
    start = datetime.datetime.now()
    stop = datetime.datetime.now()
    delta = (stop – start).total_seconds()

二、内存管理

  1. 编程中一般无须关心变量的存亡,也不用关心内存的管理
  2. Python使用引用计数记录所有对象的引用数
    当对象引用数变为0,它就可以被垃圾回收GC
    计数增加:赋值给其它变量就增加引用计数,例如 x=3;y=x
    计数减少:函数运行结束时,局部变量就会就会被自动销毁,对象引用计数减少                    变量被赋值给其它对象,例如 x=3;y=x;x=4

三、数字处理函数

  1. // :类似于 floor( ),整除且向下取整
    >>> 7//2  –> 3
    >>> 7//-2 –> -4
    >>> -7//2  –> -4
  2. 开方
    pow(x,y) = x**y  比如可以开三次方
    math.sqrt( )   开平方

四、list

  1. list:是可变的,任何位置都可以增加或删除数据
    queue:要么从前面,要么从后面增加或删除数据
    链表:手拉手模型,而且在内存中存放的位置是散落的,但是串在一起的,适用于频繁的插入或者取走数据
    stack:只能后进先出,摞盘子模型,适用于函数
  2. index(value,[start,[stop]])
    通过值value,从指定区间查找列表内的元素是否匹配
    匹配第一个就立即返回索引
    匹配不到,抛出异常ValueError
    时间复杂度是 O(n)
    lst.index(5)      –>   3
  3. count(value)
    返回列表中匹配value的次数
    随着列表数据规模的增大,效率会逐渐下降
    时间复杂度是 O(n)
    lst.count(1)    –>   0
  4. append(object)  –> None
    返回None就意味着没有新的列表产生,就地修改
    追加的时候,列表只占一个索引位
    时间复杂度是O(1)
  5. extend(iteratable)  –> None
    将可迭代对象的元素追加进来,就地修改
    追加的时候,是将列表中的每个元素都追加进来
  6. +  –> list
    实际上是生成了一个新的列表,存这两个列表的和,只能用在两个列表相加
    原列表不变
    本质上调用的是 __add__() 方法
  7. +=
    效果与 extend() 一样
  8. *  –>list
    重复操作,将本列表元素重复 n 次,返回新列表
  9. insert(index,object)  –> None
    在指定的索引 index 处插入元素 object
    返回None就意味着没有新的列表产生,就地修改
    如果索引 index 超越上界,尾部追加
    如果索引 index 超越下界,头部追加
    时间复杂度是O(n)
  10. remove(value)  –> None
    从左至右查找第一个匹配 value 的值,移除该元素,返回 None
    就地修改
    时间复杂度是O(n)
  11. pop([index])  –> item
    不指定索引 index,就从列表尾部弹出一个元素,时间复杂度是O(1)
    指定索引 index,就从索引处弹出一个元素,索引超界抛出 IndexError 错误,时间复杂度是O(1),但是效率不行
  12. clear()   –> None
    清除列表所有元素,剩下一个空列表
  13. reverse() –> None
    将列表元素反转,返回 None,就地修改
    注意和系统中的内置函数 reversed 不一样,直接用 reversed(lst) 返回的是一个内存中存放的值
  14. sort(key=None,reverse=False)  –> None
    将列表元素进行排序,就地修改,默认升序
    reverse 为 True,反转降序
    key 一个函数,指定 key 如何排序  lst.sort(key=functionname)
    和内建函数 sorted 有相似之处

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93090

(0)
庞豪庞豪
上一篇 2018-03-26
下一篇 2018-03-26

相关推荐