【C++】STL容器总结

https://blog.csdn.net/hudfang/article/details/52934130 三大类容器: 1. 序列式容器:vector、deque、list vector是一种动态数组,在内存中具有连续的存储空间,支持快速随机访问。由于具有连续的存储空间,所以在插入和删除...

2018-09-13 14:18:14

阅读数 36

评论数 0

【Python】模块和包

把代码放在不同的py文件中,每个py文件就是一个模块。不同模块中,可以存在相同的变量名。 在一个模块中调用其他模块时候,用import关键字,比如 import math。 当模块很多时候,模块名容易重名,这时候需要把模块放在不同的包中,这样模块重名也可以了。引用完整模块需要: 在文件系...

2018-09-13 00:02:58

阅读数 40

评论数 0

【Python】decorator

编写decorator: 首先编写decorator函数,以@log为例: def log(f): def fn(x): print 'call ' + f.__name__ + '()...' return f(x) return f...

2018-09-12 23:37:49

阅读数 22

评论数 0

【Python】Python中的匿名函数

由于Python支持高阶函数的存在,而高阶函数支持函数作为输入参数,有时候,我们不定义传入的函数,而直接在传入参数的地方,把这个函数的表达式写出来更方便,这就是Pythong中的匿名函数。 >>> map(lambda x: x...

2018-09-12 10:20:13

阅读数 37

评论数 0

【Python】Python中返回函数

Python的函数不但可以返回int、str、list、dict等数据类型,还可以返回函数!

2018-09-11 10:05:56

阅读数 60

评论数 0

【Python】Python中的高阶函数

map() 接受两个参数,一个是函数变量,一个是List,map()会把函数变量作用于List中的每个元素,最后返回一个新的List。 reduce() 接受两个参数,一个是函数变量,一个是List;与map()的区别在于,reduce中的函数变量必须接受两个参数,而reduce则会把这个函...

2018-09-11 09:25:43

阅读数 31

评论数 0

【Python】函数式编程

函数式编程,更接近计算,而不是机器指令 在Python中,可以创建一个变量指向一个函数,比如 f=abs,那么f就是一个函数变量,我们可以调用它:f(-10)。 可以接受函数变量作为参数的函数就是高阶函数。而这个函数变量,在高阶函数中往往会处理其他参数,举例: def add(x, y...

2018-09-10 22:53:57

阅读数 20

评论数 0

【Python】列表生成式

生成列表的方法有: 1. 使用range: >>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] range(1, 100, 2) 可以生成list [1, 3, 5, 7, 9,....

2018-09-10 16:13:16

阅读数 27

评论数 0

【Python】迭代

Python的for循环操作很抽象。 迭代与按下标访问数组最大的不同是,后者是一种具体的迭代实现方式,而前者只关心迭代结果,根本不关心迭代内部是如何实现的。 1. 迭代List 对于有序集合,元素确实是有索引的。如果我们想知道元素的下标,可以使用enumarate()函数。 &a...

2018-09-10 12:04:16

阅读数 54

评论数 0

【Python】切片

如果对数组进行分段提取,我们可能会用下标的方式,如果提取的量太大,那么可能会比较麻烦,所以Python提供了切片操作符。 例如: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] &...

2018-09-10 11:28:13

阅读数 102

评论数 0

【Python】函数

默认参数: Python中定义函数,可以有默认参数,也就是说,在定义函数时候,给形参赋值;调用的时候,,如果没有传入新的参数,就用默认的参数,如果传入了新的参数就用新的参数。比如下面这个求n次方的函数: def power(x, n=2): s = 1 while n &am...

2018-09-10 10:41:35

阅读数 23

评论数 0

【Python】set

set和List类似,都是数组,区别在于,set中的元素不会重复,且存放是无序的。 创建set的方法是,调用set,并将一个List传给它。 >>> s = set(['A', 'B', 'C']) 由于set是不存在重复元...

2018-09-07 18:18:52

阅读数 51

评论数 0

【Python】dict

Python中的dict类似C++中的map,每个元素有key,以及对应的值。 d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 } len()可以计算dict中的元素个数。 可以通过,key值读取dict中对应的值,也可以通过get...

2018-09-07 17:43:09

阅读数 55

评论数 0

【C++】Mutex

学习Mutex首先需要了解互斥锁的概念,详情见之前的文章。 Mutex类就是C++中实现互斥锁的类,互斥锁有可重入和不可重入之分: mutex是不可重入的互斥锁,recursive_mutex是可重入的互斥锁; 加上上锁时间的限定后,就有了另外两个互斥锁:mutex_timed, recur...

2018-09-06 22:11:37

阅读数 154

评论数 0

【Python】 条件语句

if语句 1. if语句中,使用四格缩进表示统一代码块,不像c中使用{}。 2. Python中也有 if...else, if...elif...elif...else这样的语句   for语句 个人觉得for语句比较抽象以及跳跃...有点不合逻辑了 L = ['Adam', 'L...

2018-09-06 15:00:08

阅读数 37

评论数 0

【Python】 List和tuple

List的建立方法很简单:L = ['Adam', 'Lisa', 'Bart'],也可以通过下标访问 append()可以在List末尾添加元素 insert()可以在任意位置添加元素 pop()可以删除List中任意位置的元素   tuple也是数组的一种,与List区别在于,它一旦...

2018-09-06 10:36:39

阅读数 15

评论数 0

【Python】 变量

1. 与C++不同,变量前面无须加类型 2. 字符串需要用 '' ''  或者 ' ' 括起来; / 表示转行; ''' ''' 可以表示连续换行;Unicode字符串可以表示中文,要在字符串前加u 3. 整整之间的运算,结果是整数;浮点数之间的运算,结果是浮点数;整数浮点数混合运算,结果是浮...

2018-09-06 10:07:45

阅读数 20

评论数 0

【C++】纯虚函数、虚函数、普通函数的继承

这三种函数的使用区别如下: 纯虚函数:只提供一个接口,具体实现方法需要派生类自己去重载。 由于纯虚函数的出现,基类变成了一个抽象类,只能被继承,而不能被实例化;纯虚函数的话,必须在派生类中重载。所以纯虚函数只提供一个方法的接口,实现方式需要派生类自己去写。 虚函数:提供接口,并提供默认的实现...

2018-09-06 09:53:34

阅读数 104

评论数 0

【TCP/IP协议】epoll

自己来试着总结下select与epoll的区别: 在阻塞模式下,select会不断查询内核,看有没有事件触发,如果有的话,会返回事件数组;接着读写函数会,依次查看事件数组,看看是哪个事件触发,继而对其进行读写。 epoll的话,会直接返回事件数组中被触发的时间,读写函数无须依次查看所有时间,直...

2018-09-05 10:07:06

阅读数 28

评论数 0

【C++】 线程的互斥与同步

同一个进程的线程共享进程内的绝大部分资源,当一段访问这些共享资源的代码块,有可能被多个线程执行时,那么这段代码块就称为临界区。 当有多个线程并发的在临界区执行时,程序的执行结果会出现不确定性,这种情况称之为竞态条件。 多线程编程中,避免出现竞态条件的一项重要解决方案就是,保证多个线程在临界区是互...

2018-09-02 22:09:48

阅读数 107

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭