02 2023 档案

摘要:在字符串中,有时需要输入一些特殊的符号,但是,某些符号不能直接输出,就需要用转义符。所谓转义,就是不采用符号本来的含义,而采用另外一含义了。下面表格中列出常用的转义符: 转义字符描述 \ (在行尾时) 续行符 \ 反斜杠符号 \' 单引号 \" 双引号 \a 响铃 \b 退格(Backspace) 阅读全文
posted @ 2023-02-26 16:02 左闯 阅读(113) 评论(0) 推荐(0) 编辑
摘要:例如使用math模块 math模块是标准库中的,所以不用安装,可以直接使用。使用方法是: >>> import math 用import就将math模块引用过来了,下面就可以使用这个模块提供的工具了。比如,要得到圆周率: >>> math.pi 3.141592653589793 这个模块都能做哪些 阅读全文
posted @ 2023-02-26 15:53 左闯 阅读(114) 评论(0) 推荐(0) 编辑
摘要:容器(Collections) Python附带一个模块,它包含许多容器数据类型,名字叫作collections。我们将讨论它的作用和用法。 我们将讨论的是: defaultdict counter deque namedtuple enum.Enum (包含在Python 3.4以上) defau 阅读全文
posted @ 2023-02-26 14:55 左闯 阅读(70) 评论(0) 推荐(0) 编辑
摘要:上下文管理器允许你在有需要的时候,精确地分配和释放资源。 使用上下文管理器最广泛的案例就是with语句了。想象下你有两个需要结对执行的相关操作,然后还要在它们中间放置一段代码。上下文管理器就是专门让你做这种事情的。举个例子: with open('some_file', 'w') as opened 阅读全文
posted @ 2023-02-26 14:48 左闯 阅读(153) 评论(0) 推荐(0) 编辑
摘要:函数缓存允许我们将一个函数对于给定参数的返回值缓存起来。当一个I/O密集的函数被频繁使用相同的参数调用的时候,函数缓存可以节约时间。在Python 3.2版本以前我们只有写一个自定义的实现。在Python 3.2以后版本,有个lru_cache的装饰器,允许我们将一个函数的返回值快速地缓存或取消缓存 阅读全文
posted @ 2023-02-26 14:32 左闯 阅读(181) 评论(0) 推荐(0) 编辑
摘要:协程 Python中的协程和生成器很相似但又稍有不同。主要区别在于: 生成器是数据的生产者 协程则是数据的消费者 首先我们先来回顾下生成器的创建过程。我们可以这样去创建一个生成器: def fib(): a, b = 0, 1 while True: yield a a, b = b, a+b 然后 阅读全文
posted @ 2023-02-24 22:11 左闯 阅读(82) 评论(0) 推荐(0) 编辑
摘要:open函数 open 函数可以打开一个文件。超级简单吧?大多数时候,我们看到它这样被使用: f = open('photo.jpg', 'r+') jpgdata = f.read() f.close() 我现在写这篇文章的原因,是大部分时间我看到open被这样使用。有三个错误存在于上面的代码中。 阅读全文
posted @ 2023-02-24 22:00 左闯 阅读(124) 评论(0) 推荐(0) 编辑
摘要:循环是任何语言的一个必备要素。同样地,for循环就是Python的一个重要组成部分。然而还有一些东西是初学者并不知道的。我们将一个个讨论一下。 我们先从已经知道的开始。我们知道可以像这样使用for循环: fruits = ['apple', 'banana', 'mango'] for fruit 阅读全文
posted @ 2023-02-24 21:14 左闯 阅读(130) 评论(0) 推荐(0) 编辑
摘要:lambda表达式是一行函数。它们在其他语言中也被称为匿名函数。如果你不想在程序中对一个函数使用两次,你也许会想用lambda表达式,它们和普通的函数完全一样。 Lambda 表达式是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象,是一个匿名函数,即没有函数 阅读全文
posted @ 2023-02-24 20:55 左闯 阅读(40) 评论(0) 推荐(0) 编辑
摘要:异常 异常处理是一种艺术,一旦你掌握,会授予你无穷的力量。我将要向你展示我们能处理异常的一些方式。 最基本的术语里我们知道了try/except从句。可能触发异常产生的代码会放到try语句块里,而处理异常的代码会在except语句块里实现。这是一个简单的例子: try: file = open('t 阅读全文
posted @ 2023-02-23 20:41 左闯 阅读(38) 评论(0) 推荐(0) 编辑
摘要:各种推导式(comprehensions) 推导式(又称解析式)是Python的一种独有特性,如果我被迫离开了它,我会非常想念。推导式是可以从一个数据序列构建另一个新的数据序列的结构体。 共有三种推导,在Python2和3中都有支持: 列表(list)推导式 字典(dict)推导式 集合(set)推 阅读全文
posted @ 2023-02-23 20:34 左闯 阅读(84) 评论(0) 推荐(0) 编辑
摘要:对象自省 自省(introspection),在计算机编程领域里,是指在运行时来判断一个对象的类型的能力。它是Python的强项之一。Python中所有一切都是一个对象,而且我们可以仔细勘察那些对象。Python还包含了许多内置函数和模块来帮助我们。 dir 在这个小节里我们会学习到dir以及它在自 阅读全文
posted @ 2023-02-23 20:17 左闯 阅读(28) 评论(0) 推荐(0) 编辑
摘要:枚举 枚举(enumerate)是Python内置函数。它的用处很难在简单的一行中说明,但是大多数的新人,甚至一些高级程序员都没有意识到它。 它允许我们遍历数据并自动计数, 下面是一个例子: for counter, value in enumerate(some_list): print(coun 阅读全文
posted @ 2023-02-23 14:56 左闯 阅读(160) 评论(0) 推荐(0) 编辑
摘要:先谈谈python 中__dict__存储了该对象的一些属性 类和实例分别拥有自己的__dict__ 在__init__中声明的变量,会存到实例的__dict__中 类的静态函数、类函数、普通函数、全局变量以及一些内置的属性都是放在类__dict__里的 虽然说一切皆对象,但对象也有不同,就好比不是 阅读全文
posted @ 2023-02-21 14:51 左闯 阅读(34) 评论(0) 推荐(0) 编辑
摘要:对象变动(Mutation) Python中可变(mutable)与不可变(immutable)的数据类型让新手很是头痛。简单的说,可变(mutable)意味着"可以被改动",而不可变(immutable)的意思是“常量(constant)”。想把脑筋转动起来吗?考虑下这个例子: foo = ['h 阅读全文
posted @ 2023-02-20 21:34 左闯 阅读(98) 评论(0) 推荐(0) 编辑
摘要:Global和Return 你也许遇到过, python中一些函数在最尾部有一个return关键字。你知道它是干嘛吗?它和其他语言的return类似。我们来检查下这个小函数: def add(value1, value2): return value1 + value2 result = add(3 阅读全文
posted @ 2023-02-20 21:27 左闯 阅读(65) 评论(0) 推荐(0) 编辑
摘要:python有三个内置装饰器:@property , @classmethod , @staticmethod (一)@property 这是用来修饰类的方法的,可以把类的方法变成可直接读/写的属性 相当于get和set方法 我们看看下面这个例子 class Person(object): def 阅读全文
posted @ 2023-02-20 19:14 左闯 阅读(170) 评论(0) 推荐(0) 编辑
摘要:前言什么是装饰器实现原理实现效果适用场景装饰器:装饰器的写法装饰器的拓展 装饰器的模板什么是装饰器呢? 就是在特定条件下为某些函数再不改动函数体的时候为函数新添加一些功能,这就是装饰器 实现原理:基于@语法和函数闭包,将原函数封装在闭包中,然后将函数赋值为一个新的函数(内置函数),执行函数时再在内层 阅读全文
posted @ 2023-02-20 19:09 左闯 阅读(38) 评论(0) 推荐(0) 编辑
摘要:装饰器 装饰器(Decorators)是Python的一个重要部分。简单地说:他们是修改其他函数的功能的函数。他们有助于让我们的代码更简短,也更Pythonic(Python范儿)。大多数初学者不知道在哪儿使用它们,所以我将要分享下,哪些区域里装饰器可以让你的代码更简洁。 首先,让我们讨论下如何写你 阅读全文
posted @ 2023-02-20 19:04 左闯 阅读(35) 评论(0) 推荐(0) 编辑
摘要:三元运算符 三元运算符通常在Python里被称为条件表达式,这些表达式基于真(true)/假(not)的条件判断,在Python 2.4以上才有了三元操作。 下面是一个伪代码和例子: 伪代码: #如果条件为真,返回真 否则返回假 condition_is_true if condition else 阅读全文
posted @ 2023-02-20 15:22 左闯 阅读(119) 评论(0) 推荐(0) 编辑
摘要:set(集合)数据结构 set(集合)是一个非常有用的数据结构。它与列表(list)的行为类似,区别在于set不能包含重复的值。这在很多情况下非常有用。例如你可能想检查列表中是否包含重复的元素,你有两个选择,第一个需要使用for循环,就像这样: some_list = ['a', 'b', 'c', 阅读全文
posted @ 2023-02-20 15:12 左闯 阅读(48) 评论(0) 推荐(0) 编辑
摘要:Map,Filter 和 Reduce 三个函数能为函数式编程提供便利。我们会通过实例一个一个讨论并理解它们。 Map Map会将一个函数映射到一个输入列表的所有元素上。这是它的规范: 规范 map(function_to_apply, list_of_inputs) 大多数时候,我们要把列表中所有 阅读全文
posted @ 2023-02-20 15:04 左闯 阅读(23) 评论(0) 推荐(0) 编辑
摘要:首先我们要理解迭代器(iterators)。根据维基百科,迭代器是一个让程序员可以遍历一个容器(特别是列表)的对象。然而,一个迭代器在遍历并读取一个容器的数据元素时,并不会执行一个迭代。你可能有点晕了,那我们来个慢动作。换句话说这里有三个部分: 可迭代对象(Iterable) 迭代器(Iterato 阅读全文
posted @ 2023-02-20 11:50 左闯 阅读(107) 评论(0) 推荐(0) 编辑
摘要:我观察到,大部分新的Python程序员都需要花上大量时间理解清楚 *args 和**kwargs这两个魔法变量。那么它们到底是什么? 首先让我告诉你, 其实并不是必须写成*args 和**kwargs。 只有变量前面的 *(星号)才是必须的. 你也可以写成*var 和**vars. 而写成*args 阅读全文
posted @ 2023-02-20 11:27 左闯 阅读(33) 评论(0) 推荐(0) 编辑
摘要:Python 中的 with 语句用于异常处理,封装了 try…except…finally 编码范式,提高了易用性。 with 语句使代码更清晰、更具可读性, 它简化了文件流等公共资源的管理。 在处理文件对象时使用 with 关键字是一种很好的做法。 我们可以看下以下几种代码实例: 不使用 wit 阅读全文
posted @ 2023-02-18 22:23 左闯 阅读(62) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示