物换星移几度秋
码龄11年
求更新 关注
提问 私信
  • 博客:25,812
    25,812
    总访问量
  • 30
    原创
  • 13
    粉丝
  • 13
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
加入CSDN时间: 2013-10-14
博客简介:

u012439764的博客

查看详细资料
个人成就
  • 获得40次点赞
  • 内容获得4次评论
  • 获得56次收藏
创作历程
  • 4篇
    2022年
  • 13篇
    2019年
  • 13篇
    2018年
成就勋章
TA的专栏
  • 算法学习
    14篇
  • Python
  • Go

TA关注的专栏 2

TA关注的收藏夹 0

TA关注的社区 8

TA参与的活动 0

兴趣领域 设置
  • 人工智能
    机器学习深度学习
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

计算机程序设计艺术习题解答(Excercise 1.2.3-30~34题)

计算机程序设计艺术习题解答(Excercise 1.2.3-30~34题)
原创
发布博客 2022.11.23 ·
414 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

计算机程序设计艺术习题解答(Excercise 1.2.2-28~30题)

对 Donald Knuth 的名著 计算机程序设计艺术 的重要习题进行详细的推导和解答
原创
发布博客 2022.09.05 ·
386 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

计算机程序设计艺术习题解答(Excercise 1.2.2-27题)- 求对数标准算法的有限精度误差估计

对 Donald Knuth 的名著 计算机程序设计艺术 的重要习题进行详细的推导和解答
原创
发布博客 2022.08.24 ·
194 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

计算机程序设计艺术习题解答(Excercise 1.2.2-25题)

计算机程序设计艺术一书中习题的详细解答,后续会慢慢更新系列文章
原创
发布博客 2022.08.17 ·
453 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Go 指南 -- 练习:Web 爬虫

练习:Web 爬虫在这个练习中,我们将会使用 Go 的并发特性来并行化一个 Web 爬虫。修改 Crawl 函数来并行地抓取 URL,并且保证不重复。提示:你可以用一个 map 来缓存已经获取的 URL,但是要注意 map 本身并不是并发安全的!在网络上已经能找到好几种答案了,有的甚至用上了信道(channel)来帮助实现。我在这里提供的是一种简单明了的实现:package ...
原创
发布博客 2019.07.03 ·
2005 阅读 ·
2 点赞 ·
1 评论 ·
5 收藏

Python类与对象学习心得-10:简化数据结构的初始化 __init__()

你写了很多仅仅用作数据结构的类,这时定义大量的 __init__() 函数变成了一件很烦人的工作。为了简化,我们可以在一个基类中写一个公用的 __init__() 函数:import mathclass Structure1: # Class variable that specifies expected fields _fields = [] def __i...
原创
发布博客 2019.06.09 ·
438 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-8:处理属性的重要属性和函数

1. 影响属性处理方式的 3 种特殊属性__class__对象所属类的引用(即 obj.__class__,与 type(obj) 的作用相同)。Python 的某些特殊方法,例如 __getattr__,只在对象的类中寻找,而不在对象实例中寻找。__dict__一个字典(映射),存储对象或类的可写属性。有 __dict__ 属性的对象,任何时候都能随意设置新属性。如果类有 __s...
原创
发布博客 2019.06.06 ·
286 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-9:使用延迟计算属性

延迟计算属性是一种只读属性,只在访问的时候才会计算结果。但是一旦被访问后,结果值就被缓存起来,不用每次都去计算了。定义一个延迟属性的一种高效方法是使用一种特殊的描述符类(descriptor),如下所示:class lazyproperty: def __init__(self, func): self.func = func def __g...
原创
发布博客 2019.06.05 ·
320 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-7:创建一种新的类属性或实例属性(descriptor)

如果想创建一种全新的实例属性,自带一些额外功能(比如类型检查),你可以通过一个描述符类(descriptor)的形式来定义它的功能。描述符是对多个属性运用相同存取逻辑的一种方式,它是实现了特定协议的类,这个协议包括 __get__,__set__ 和 __delete__ 方法。特性(property)类实现了完整的描述符协议。通常,一个描述符类可以只实现其中部分协议。其实,我们在真实的代码中见到...
原创
发布博客 2019.06.05 ·
405 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python类与对象学习心得-6:在子类中扩展 property

前面已经介绍了在 Python 中特性(property)的用法。这里介绍下在子类中如何扩展定义在父类中的特性(property)的功能。考虑如下的代码,它定义了一个特性(property):class Person: def __init__(self, name): self.name = name # Getter function @pr...
原创
发布博客 2019.06.05 ·
248 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-5:子类中调用父类的某个方法

如果要在子类定义中调用某个父类(超类)定义的方法,可以使用 super() 函数,比如:class A: def spam(self): print('A.spam')class B(A): def spam(self): print('B.spam') super().spam() # Call parent spam()...
原创
发布博客 2019.06.05 ·
1405 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-4:创建可管理的属性 - 特性(property)

有时你想给某个实例属性增加除访问与修改之外的其他处理逻辑,比如类型检查或合法性验证。一种简单方法是将它定义为一个特性(property)。例如,下面的代码定义了一个特性,对一个属性做简单的类型检查:class Person: def __init__(self, first_name): self.first_name = first_name # Gett...
原创
发布博客 2019.06.04 ·
401 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Python类与对象学习心得-3:类的访问控制

Python 程序员并不依赖语言特性去封装数据,而是通过遵循一定的属性和方法命名规范来达到这个效果。第一个约定是任何以单下划线 _ 开头的名字都应该被认定为内部实现。比如:class A: def __init__(self): self._internal = 0 # 一个内部属性 self.public = 1 # 一个公共属性 d...
原创
发布博客 2019.06.04 ·
348 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Python类与对象学习心得-2:创建大量对象时节省内存的方法

如果你的程序要创建大量(可能上百万) 的对象,可能导致占用很大的内存,因为每个对象实例都保存自己专有的 __dict__ 字典。由于 Python 的字典采用散列表存储(类似于稀疏数组),它必然需要消耗额外的内存空间。对于主要是用来当成简单的数据结构的类而言,你可以通过给类添加 __slots__ 属性来极大地减少对象实例所占的内存。比如:class Date: __slots_...
原创
发布博客 2019.06.03 ·
908 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

Python类与对象学习心得-1:让对象支持上下文管理协议

为了让一个对象兼容with 语句,你需要实现它的__enter__() 和__exit__() 方法。例如,考虑如下的一个类,它能为我们创建一个网络连接:from socket import socket, AF_INET, SOCK_STREAMclass LazyConnection: def __init__(self, address, family=AF_INET, ...
原创
发布博客 2019.06.03 ·
244 阅读 ·
2 点赞 ·
0 评论 ·
2 收藏

Effective Python 读书笔记 - 第27条:多用public属性,少用private属性

与C++和Java不同的是,对Python类来说,其属性的可见度只有两种,也就是public和private。class MyObject(object): def __init__(self): self.public_field = 5 self.__private_field = 10 def get_private_field(sel...
原创
发布博客 2019.06.02 ·
399 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Effective Python 读书笔记 - 第26条:只在使用 Mix-in组件制作工具类时进行多重继承

Python是面向对象的编程语言,它提供了多重继承的代码复用机制。但是,我们应该尽量避免使用多重继承。如果一定要利用多重继承所带来的便利及封装性,那就考虑用它来编写mix-in类。mix-in是一种小型的类,它只定义了其他类可能需要提供的一套附加方法,而不定义自己的实例属性。此外,它也不要求使用者调用自己的__init__()构造器。由于Python程序可以方便地查看各类对象的当前状态,所...
原创
发布博客 2019.05.28 ·
278 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

算法导论 - 2.3-7 确定集合S中是否存在两个其和刚好为x的元素

描述一个运行时间为O(nlgn)的算法,给定n个整数的集合S和另一个整数x,该算法能确定S中是否存在两个其和刚好为x的元素。这里给出两种算法,都要求先用归并排序算法(merge sort)把集合S中元素从小到大排好序,这一步运行时间为O(nlgn)第一种算法比较简单,即对集合S中每一个整数a,利用二分搜索法(Binary Search)在排好序的集合S中搜索(x - a)是否存在,如果存在...
原创
发布博客 2018.08.28 ·
1417 阅读 ·
5 点赞 ·
0 评论 ·
7 收藏

算法:墙上的门

墙上的门你面前是一堵朝两个方向无限延伸的墙。墙上有一扇门,但你不知道离你有多远,也不知道门位于哪个方向。你只有走到这扇门前才能看到它。假设从当前位置走到门前要走n步(事先并不知道n的大小),请设计一个算法,使你最多走O(n)步就能遇到门。([Par95])解法:首先,以当前位置为原点,门距离原点有n步(n未知),而且门位于哪个方向也不知道,所以不能只朝一个方向去找,万一选错方向就永远找...
原创
发布博客 2018.08.23 ·
4263 阅读 ·
9 点赞 ·
1 评论 ·
16 收藏

算法:带锁的门

带锁的门在走廊上有n个带锁的门,从1到n依次编号。最初所有的门都是关着的。我们从门前经过n次,每次都从1号门开始。在第i次经过时(i = 1,2,..., n)我们改变i的整数倍号锁的状态;如果门是关的,就打开它;如果门是打开的,就关上它。在最后一次经过后,哪些门是打开的,哪些门是关上的?有多少打开的门?解法:这道题需要统计从1到n每个数的因子个数(包括1和自身),每个数的因子个数决定...
原创
发布博客 2018.08.23 ·
4724 阅读 ·
7 点赞 ·
0 评论 ·
5 收藏
加载更多