2019年10月19日
摘要: IPv6地址的号段划分和前缀表示法: IPv6拥有128位巨大的地址空间,对于那么大的空间,也不是随意的划分,而是使用按照bit位进行号段划分 地址结构图 全局路由前缀 (48位) 子网ID (16位) 接口ID (128位) 与IPv4一样,IPv6也由两部分(网络部分和主机部分),全局前缀 64 阅读全文
posted @ 2019-10-19 17:35 Pure-C 阅读(2456) 评论(1) 推荐(0) 编辑
  2019年4月16日
摘要: 主要的实现步骤 openswan(ipsec) : 提供一个密钥 ppp :提供用户名和密码 xl2tpd : 提供L2TP服务 sysctl : 提供服务器内部转发 iptables : 提供请求从服务器内部转向外部,外部响应转向服务器内部(内网需要在路由器做映射) 安装开始 1.安装opensw 阅读全文
posted @ 2019-04-16 17:32 Pure-C 阅读(1088) 评论(1) 推荐(0) 编辑
  2019年1月27日
摘要: 在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑。 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的name、score属性: 如果要让内部属性不被外部访问,可以把属性的名称前加上两个下划线__,在Pyt 阅读全文
posted @ 2019-01-27 19:26 Pure-C 阅读(294) 评论(0) 推荐(0) 编辑
摘要: 面向对象最重要的概念就是类(Class)和实例(Instance),必须牢记类是抽象的模板,比如Student类,而实例是根据类创建出来的一个个具体的“对象”,每个对象都拥有相同的方法,但各自的数据可能不同。 仍以Student类为例,在Python中,定义类是通过class关键字: class后面 阅读全文
posted @ 2019-01-27 19:23 Pure-C 阅读(672) 评论(0) 推荐(0) 编辑
  2019年1月20日
摘要: Python内置了很多非常有用的模块,只要安装完毕,这些模块就可以立刻使用。 我们以内建的sys模块为例,编写一个hello的模块: 第1行和第2行是标准注释,第1行注释可以让这个hello.py文件直接在Unix/Linux/Mac上运行,第2行注释表示.py文件本身使用标准UTF-8编码; 第4 阅读全文
posted @ 2019-01-20 18:21 Pure-C 阅读(430) 评论(0) 推荐(0) 编辑
摘要: Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function)。要注意,这里的偏函数和数学意义上的偏函数不一样。 通过设定参数的默认值,可以降低函数调用的难度。而偏函数也可以做到这一点。举例如下: int()函数可以把字符串转换为整数,当仅传入字符串 阅读全文
posted @ 2019-01-20 17:30 Pure-C 阅读(314) 评论(0) 推荐(0) 编辑
  2019年1月13日
摘要: 由于函数也是一个对象,而且函数对象可以被赋值给变量,所以,通过变量也能调用该函数。 函数对象有一个__name__属性,可以拿到函数的名字: 现在,假设我们要增强now()函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改now()函数的定义,这种在代码运行期间动态增加功能的方式,称之为“ 阅读全文
posted @ 2019-01-13 20:48 Pure-C 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 当我们在传入函数时,有些时候,不需要显式地定义函数,直接传入匿名函数更方便。 在Python中,对匿名函数提供了有限支持。还是以map()函数为例,计算f(x)=x2时,除了定义一个f(x)的函数外,还可以直接传入匿名函数: >>> list(map(lambda x: x * x, [1, 2, 阅读全文
posted @ 2019-01-13 20:44 Pure-C 阅读(186) 评论(0) 推荐(0) 编辑
  2019年1月5日
摘要: 函数作为返回值 高阶函数除了可以接受函数作为参数外,还可以把函数作为结果值返回。 我们来实现一个可变参数的求和。通常情况下,求和的函数是这样定义的: def calc_sum(*args): ax = 0 for n in args: ax = ax + n return ax 但是,如果不需要立刻 阅读全文
posted @ 2019-01-05 15:57 Pure-C 阅读(1021) 评论(0) 推荐(0) 编辑
摘要: 排序算法 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行 阅读全文
posted @ 2019-01-05 15:54 Pure-C 阅读(393) 评论(0) 推荐(0) 编辑