红茶的个人站点

  • 首页
  • 专栏
  • 开发工具
  • 其它
  • 隐私政策
Python学习笔记
系统学习python时的所思所想
Python

Python学习笔记38:类元编程

《Fluent Python》中多次提到,在Python中,类和函数都是一类对象,这指的是其开放程度对于Python语言的定制者和普通开发者是相同的,拥有同样的权限,我们可以像Python语言的底层开发人员那样,对类和函数进行定制和改造,以实现某种“高级需求”。 虽然对于普通的开发者来说似乎用不到,但作为语言学习的一部分,了解这部分知识至少对帮助你更深入的理解这门语言是有益的。而书中也提到,Python之所以能流行,似乎这种对于初学者好用的同时为资深开发者提供高级工具的特性带来很多益处。 在接下来我会按照《Flue…

2021年6月4日 0条评论 426点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记37:属性描述符

概览 在Python学习笔记36:动态属性和特性中我们介绍了如何使用特性来“代理”对实例属性的访问,事实上特性是一种特殊的属性描述符。 所谓的属性描述符,是一种实现了描述符协议的特殊类,这个关于属性访问的协议包括__set__\__get__\delete。 下面我们看下如何实现属性描述符。 实现 我们假设有这么一个订单类: class Order:    def __init__(self, quantity, price) -> None:        self.quantity = quantity …

2021年6月2日 0条评论 343点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记36:动态属性和特性

值得高兴的是,经过一段时间的学习,《Fluent Python》一书的内容只剩下最后一个部分了:元编程。 当然,我同时也发现这本书在中后部的内容难度陡然增加,但是随着书页的变薄,任何读者想必都难免会有喜悦和轻松之感。 闲话少说,进入今天的主题。 任何语言对面向对象的学习都是先介绍类,而类中最开始学的内容必然是属性。Python作为一门动态语言,相比静态语言,在类和对象的属性上面有更多“花样”,值得我们专门花时间总结一下。 属性 Python的类和对象中有一些特殊属性,可以帮助我们实现类似Java中的反射功能,直接“…

2021年5月28日 0条评论 380点热度 1人点赞 魔芋红茶 阅读全文
Python

Python学习笔记35:使用Asyncio处理并发

从标题也可以看出,Asyncio包和Futures包一样,也是用于处理并发的,但是在实现机制和使用方式上都有很大差别,所以会在接下来对两者进行对比说明。 但在介绍Asyncio包之前,我们先要弄清楚一些必须的基础概念。 这里不打算按照《Fluent Python》同名章节的知识点安排,我觉得一上来就介绍Asyncio包很容易把人弄晕,因为我自己在阅读的时候都被弄的一头雾水。 基础概念 同步&异步 关于同步和异步的概念,我想在我的工作经历中遇到过最多的和最熟悉的无非是AJAX调用了: <script s…

2021年5月25日 0条评论 340点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记34:使用Futures处理并发

Python学习笔记34:使用Futures处理并发 概览 Futures模块是Python3中推荐使用的一个并发控制框架,我们可以使用这个模块编写多线程和多进程程序。 在Python中使用Futures模块很简单,只要先安装: pip install futures 然后在Python代码中引用: from concurrent import futures 在介绍如何用Futures实现并发之前,我们先看一个传统的下载程序。 一个传统的下载程序 这个示例程序使用requests摸块进行下载,这个第三方模块需要安…

2021年5月20日 0条评论 408点热度 0人点赞 魔芋红茶 阅读全文
Python

PEP 492 -- Coroutines with async and await syntax

PEP 492 -- Coroutines with async and await syntax 原文地址:https://www.python.org/dev/peps/pep-0492/ PEP492--通过async与await语句实现协程 Abstract 概览 The growth of Internet and general connectivity has triggered the proportionate need for responsive and scalable code. This…

2021年5月16日 0条评论 381点热度 1人点赞 魔芋红茶 阅读全文
Python

Python学习笔记33:协程

Python学习笔记33:协程 老实说,这部分内容是我学习Python以来遇到的最大挑战,堪比以前学习多线程时候的经历,有种脑袋要爆炸的感觉。 所以还是那句话,把这部分内容提炼总结出来相当困难,如有疏漏在所难免,望多多包涵。 废话不多说了,GO! yield与生成器函数 前边在Python学习笔记31:迭代技术中我们介绍了生成器函数,生成器函数本质上是通过yield语句来产生一个值提供给调用程序,然后挂起,并等待下一次调用,不断执行这一个过程的特殊函数。 这其中yield语句除了用于向调用方生成数据以外,还肩负着控…

2021年5月15日 0条评论 430点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记32:else块与上下文管理器

Python学习笔记32:else块与上下文管理器 本系列文章的代码都存放在Github项目:python-learning-notes。 else块 else块在常见的编程语言中没有什么好说的,都是和if语句固定搭配出现,用途也一目了然,但在Python中有一些奇特的额外用途。 while与else块 我们来看这个例子: import random ​ ​ def roll():    return random.randint(1, 6) ​ ​ i = 1 isWinner = False while i &…

2021年5月14日 0条评论 299点热度 0人点赞 魔芋红茶 阅读全文
Python

Python学习笔记31:迭代技术

Python学习笔记31:迭代技术 本系列文章的代码都存放在Github项目:python-learning-notes。 这一部分内容是《Fluent Python》目前为止最长的篇幅,我也花了大半天时间来阅读,内容的确庞杂,所以在提炼整理上可能会有所疏漏,请多包涵。 迭代技术无疑在Python中占有相当的地位。平时我们在写代码的时候,大多数时间也是话费在for或者foreach之类的循环语句上,而Python更进一步,在语言结构中直接整合了迭代技术,让我们可以更容易地在不同类型间使用类似的简单语法就可以进行迭代…

2021年5月12日 0条评论 548点热度 1人点赞 魔芋红茶 阅读全文
Python

Python学习笔记30:运算符重载

Python学习笔记30:运算符重载 本系列文章的相关代码都发布在Github:https://github.com/icexmoon/python-learning-notes 一点思辨 关于运算符重载,实现其实并不是很复杂,只是有一些细节需要注意,学完这一部分我更在意的反而是围绕运算符重载的一些思辨。 我接触的最强大的运算符重载应该是C++,基本上可以重载各种各样的运算符,而Java则完全截然相反,完全不允许重载运算符,所以Java代码中会出现很多的xxx.add(xxx)。 Java之所以完全摒弃运算符重载,…

2021年5月10日 0条评论 335点热度 0人点赞 魔芋红茶 阅读全文
12345

魔芋红茶

加一点PHP,加一点Go,加一点Python......

专栏
  • Spring Boot学习笔记 Spring Boot学习笔记
  • Java编程笔记 Java编程笔记
  • php学习笔记 php学习笔记
  • Go语言编程笔记 Go语言编程笔记
  • 设计模式 with Python 设计模式 with Python
  • Linux之旅 Linux之旅
  • 腾讯云博客搭建 腾讯云博客搭建
  • HTTP学习笔记 HTTP学习笔记
  • Python学习笔记 Python学习笔记
  • 生活随笔 生活随笔
项目
  • M3U-Helper M3U-Helper
  • Markdown-img Markdown-img
  • PEP中文翻译项目 PEP中文翻译项目
工具箱
  • 我的Windows软件列表 我的Windows软件列表
点歌台
最新 热点 随机
最新 热点 随机
我眼中的大刘 Old Man and Old Story 我和三体 软件推荐:AList Java编程笔记26:HTTP Java编程笔记25:TCP
PHP学习笔记18:协程 Win10+VSCode+WSL开发Python程序 推荐一个IDE——VSCode PHP学习笔记2:数组 python爬虫实战 Go语言编程笔记10:使用共享变量实现并发(续)
最近评论
fuckbaidu 发布于 1 年前(02月26日) 兄弟,你新网址一直没备案成功
啊长 发布于 1 年前(12月17日) 膜拜大佬了,希望越做越好 :exclaim:
nfmd 发布于 1 年前(11月01日) 腾讯云出了个60块六年多的bug
nfmd 发布于 1 年前(10月30日) str.replace("逻辑", "罗辑")
fuckbaidu 发布于 1 年前(10月14日) 并不是所有的文件都能通过软链接转移,比如chrome浏览器,你要是转移了,就不能自动更新了
友情链接
  • NFMD's blog
  • 小金龙的blog
  • 幸哥的blog

COPYRIGHT © 2021 icexmoon.cn. ALL RIGHTS RESERVED.
本网站由提供CDN加速/云存储服务

Theme Kratos Made By Seaton Jiang

宁ICP备2021001508号

宁公网安备64040202000141号