Python
python相关的各种知识
专注于计算机视觉的AndyJiang
这个作者很懒,什么都没留下…
展开
-
python之List底层实现
数据是如何在内存中存储的?在32位的计算机上,1个字节有8位,内存寻址的最小单位就是字节。假设我们有一个int类型的值,它从0x10开始,一个int占据4个字节,则其结束于0x13。数据类型的意义它确定了一个特定类型的数据到底需要申请多大的内存地址来存储(大小),并且决定取到的二进制数应该如何解释(意义)。地址里存储的只有二进制数,但对于数字和字符同一二进制数代表的意义是不同的。同类型的数据在内存中是如何连续存储的假设有一个四个数的集合 24, 299, 10, 4,将它们连续地存储在一起时,在原创 2020-09-08 21:19:07 · 812 阅读 · 0 评论 -
python之多线程和多进程
参考链接:多线程多进程概要由于python中的GIL(全局解释器锁)的存在,也就是多线程的时候,同一时间只能有一个线程在CPU上运行,而且是单个CPU上运行,不管你的CPU有多少核数。如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。多进程Python中的多进程是通过multiprocessing包来实现的,和多线程的threading.Thread差不多,它可以利用multiprocessing.Process对象来创建一个进程对象。这个进程对象的方法和线程对象的方原创 2020-08-17 15:51:02 · 390 阅读 · 0 评论 -
Python之排列组合
Combinations组合python的itertools库中提供了combinations方法和permutations可以实现排列组合注意:方法的返回值已经不再是list,而是iterators(迭代器), 所以想要使用,只用将iterator 转换成list 即可代码如下:In [11]: test = [1,2,3,3,4]In [12]: for i in combinations(test, 3): ...: print(i) ...: (1, 2, 3)原创 2020-08-13 16:12:47 · 795 阅读 · 0 评论 -
Python面试题
面试题1面试题2面试题3面试题4面试题5原创 2020-08-10 17:03:23 · 91 阅读 · 0 评论 -
python之装饰器
装饰器是什么?本质上是一个python函数,它可以让已存在的函数或者对象在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象.有了装饰器,我们可以抽离出大量与函数功能本身无关的雷同代码并继续重用.def debug(func): def wrapper(): print "[DEBUG]: enter {}()".format(func.__name__) return func() return wrapper@debugd原创 2020-08-09 19:50:53 · 127 阅读 · 0 评论 -
Python之生成器及其优点
什么是生成器生成器是一个简单的方式来完成迭代。简单来说,Python的生成器是一个返回可以迭代对象的函数。怎样创建生成器在一个一般函数中使用yield关键字,可以实现一个最简单的生成器,此时这个函数变成一个生成器函数。yield与return返回相同的值,区别在于return返回后,函数状态终止,而yield会保存当前函数的执行状态,在返回后,函数又回到之前保存的状态继续执行。生成器函数与一般函数的不同生成器函数包含一个或者多个yield当调用生成器函数时,函数将返回一个对象,但是不会立刻向原创 2020-07-22 19:09:12 · 588 阅读 · 0 评论 -
python之re正则表达式
re正则表达式正则表达式模式字母和数字表示他们自身。一个正则表达式模式中的字母和数字匹配同样的字符串。多数字母和数字前加一个反斜杠时会拥有不同的含义。标点符号只有被转义时才匹配自身,否则它们表示特殊的含义。反斜杠本身需要使用反斜杠转义。由于正则表达式通常都包含反斜杠,所以你最好使用原始字符串来表示它们。模式元素(如 r’\t’,等价于 ‘\t’)匹配相应的特殊字符。下表列出了正则表达...原创 2020-05-08 13:24:17 · 355 阅读 · 0 评论 -
python之堆heapq模块
堆heapq模块堆(heap),它是一种优先队列。优先队列让你能够以任意顺序添加对象,并随时(可能是在两次添加对象之间)找出(并删除)最小的元素。相比于列表方法min,这样做的效率要高得多。Python没有独立的堆类型,而只有一个包含一些堆操作函数的模块。这个模块名为heapq(其中的q表示队列),它包含6个函数,其中前4个与堆操作直接相关。必须使用列表来表示堆对象本身。模块heapq中一些...原创 2020-05-08 13:23:33 · 427 阅读 · 0 评论 -
python之zip([iterable, …])操作
zip([iterable, …])**参数iterable为可迭代的对象,并且可以有多个参数。该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。import numpy as npa=[1,2,3]b=[4,5,6]c=[7,8,9...原创 2020-05-08 13:22:32 · 184 阅读 · 0 评论 -
python之list 的三种删除(del pop remove)
list 的三种删除(del pop remove)方法代码说明deldel L[i]①根据索引删除;②删除索引范围内的元素;③删除整个列表。del操作没有返回值poplist.pop(i)根据索引删除,返回索引位置的元素,list.pop()删除最后一个元素removelist.remove(value)删除第一个符合条件的元素,注意不是根据索引删...原创 2020-05-08 13:21:51 · 778 阅读 · 0 评论 -
python之strip()和split()
strip()和split()strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。str1 = "0000000123456Awin_Ge3456700000000000" #######去除首尾字符0#######print str1.strip('0') #######去...原创 2020-05-08 13:20:39 · 188 阅读 · 0 评论 -
python之str相关操作
strord()ord() 函数是 chr() 函数(对于8位的ASCII字符串)或 unichr() 函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的 ASCII 数值 。>>>ord('a')97>>> ord('b')98chr()chr() 用一个范围在 range(256)内的(就是0~2...原创 2020-05-08 13:19:56 · 256 阅读 · 0 评论 -
python之list的五种查找(in,not in,count, index)
list的五种查找(in,not in,count, index)in、not in、count、index,find 前两种方法是保留字,后两种方式是列表的方法。findstring类型的话可用find方法去查找字符串位置: a_list.find('a')find方法如果找到则返回第一个匹配的位置,如果没找到则返回-1,如果通过index方法去查找的话,没找到的话会报错。st...原创 2020-05-08 13:15:28 · 12209 阅读 · 0 评论 -
python之sort()和sorted()
sort()和sorted()list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。sort()使用sort()方法对list排序会修改list本身,不会返回新list 。sort()不能对dict字典进行排序my_list = [3, 5, 1, 4, 2]my_list.sort()print my_list#...原创 2020-05-08 13:14:15 · 226 阅读 · 0 评论 -
python之copy,deepcopy的区别
copy,deepcopy的区别?copy对于一个复杂对象的子对象并不会完全复制,什么是复杂对象的子对象呢?就比如序列里的嵌套序列,字典里的嵌套序列等都是复杂对象的子对象。对于子对象,python会把它当作一个公共镜像存储起来,所有对他的复制都被当成一个引用,所以说当其中一个引用将镜像改变了之后另一个引用使用镜像的时候镜像已经被改变了。deepcopy的时候会将复杂对象的每一层复制一个单独的个...原创 2020-05-08 13:13:02 · 124 阅读 · 0 评论 -
python之输入输出
input,raw_inputPython3.x 中 input() 函数接受一个标准输入数据,返回为 string 类型。Python2.x 中 input() 相等于 eval(raw_input(prompt)) ,用来获取控制台的输入。raw_input() 将所有输入作为字符串看待,返回字符串类型。而 input() 在对待纯数字输入时具有自己的特性,它返回所输入的数字的类型( i...原创 2020-05-08 13:12:08 · 191 阅读 · 0 评论