py编程入门
文章平均质量分 87
初学python使用
️luckychen
能力太小的普通人
展开
-
第044讲:魔法方法:简单定制
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!这节课我们一起来完成一个类的定制,基本要求:定制一个计时器的类start和stop方法代表启动计时和停止计时假设计时器对象 t1,print(t1) 和直接调用 t1 均显示结果当计时器未启动或已经停止计时,调用stop方法会给予温馨的提两个计时器对象可以进行相加:t1 + t2只能使用提供的有限资源完成显然,你需要这些资源:使用time模块的localtime方法获取时间 Python扩展阅读:原创 2022-07-25 11:37:29 · 77 阅读 · 0 评论 -
第043讲:魔法方法:算术运算2
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题0. 对象相加(a + b),如果 a 对象有 add 方法,请问 b 对象的 radd 会被调用吗?答:不会!注意是对象相加,调用的肯定是__add__>>> class Nint(int): def __radd__(self, other): print("__radd__ 被调用了!") return i原创 2022-07-25 11:36:53 · 110 阅读 · 0 评论 -
第061讲:论一只爬虫的自我修养9:异常处理
高级语言的一个有些特性就是它可以从容不迫的处理每一个遇到的错误,不至于说遇到一个小错误就导致整个程序崩溃了,大部分高级语言处理错误的方法都是通过检测异常、处理异常来实现的,Python也是一样。用程序用代码进行互联网访问的时候,会出现异常是再正常不过的了,例如之前实现了一个代理程序,通过十几个、几十个代理 ip来实现爬虫访问,如果说其中一个代理 ip 突然不响应了,那就会报错,这种错误的触发率是极高的,全部 ip你都可以使用那才是有鬼呢。但是,出现一个代理 ip不能用并不会影响到整个脚本的任务,所以我们原创 2020-08-06 12:38:18 · 275 阅读 · 0 评论 -
第060讲:论一只爬虫的自我修养8:正则表达式4
有了前面几节课的准备,我们这一次终于可以真刀真枪的干一场大的了,但是呢,在进行实战之前,我们还要讲讲正则表达式的实用方法和扩展语法,然后再来实战,大家多把持一会啊。我们先来翻一下文档:首先,我们要举的例子是讲得最多的 search() 方法,search() 方法 既有模块级别的,就是直接调用 re.search() 来实现,另外,编译后的正则表达式模式对象也同样拥有 search() 方法,我问问大家,它们之间有区别吗?如果你的回答仅仅是 模块级别的search() 方法比模式级别的search()原创 2020-08-06 12:31:06 · 142 阅读 · 0 评论 -
第059讲:论一只爬虫的自我修养7:正则表达式3
今天我们先接着上节课的内容,把 Python3 正则表达式特殊符号及用法(详细列表)这个表格讲完:上节课我们介绍了正则表达式的特殊字符中的元字符,正则表达式的特殊字符除了 元字符之外呢,还有 一种就是通过反斜杠加上一个普通字符组成的特殊符号。我们接下来谈谈它们的含义。\序号,这个我们上节课已经讲过了,序号就是数字:①引用序号对应的子组所匹配的字符串,此时序号的范围是 1~99,子组的序号是从 1 开始计算。②如果序号是以 0 开头,或者 3 位数字的长度。那么不会被用于引用对应的子组,而是用于匹配八原创 2020-08-06 10:49:04 · 176 阅读 · 0 评论 -
第058讲:论一只爬虫的自我修养6:正则表达式
上一节课我们通过一个例子(匹配 ip 地址)让大家初步了解到正则表达式的魔力,也让大家充分了解到学习正则表达式是一个相对比较困难的事情。所以这一节课我们将继续学习 正则表达式的语法。我们依稀还记得在Python中,正则表达式是以字符串的形式来描述的,正则表达式的强大之处在于特殊符号的应用,我们上节课举了例子,例如 点号(.),在正则表达式中表示匹配除了 换行符之外的任何字符,它就是一个特殊的字符。正是这些特殊符号,使得一个正则表达式可以匹配一个复杂的规则,而不仅仅是匹配一个字符串,如果你只需要匹配一个字符原创 2020-08-06 00:12:55 · 193 阅读 · 0 评论 -
第057讲:论一只爬虫的自我修养5:正则表达式
正则表达式如果你在课后有勤加练习,那么你对于字符串的查找应该是已经深恶痛绝了,你发现下载一个网页是很容易的,但是要在网页中查找到你需要的内容,那就是困难的,你发现字符串查找并没有你想象的那么简单,并不是说直接使用 find 方法找到匹配字符串的位置就可以了。我们来举个例子,学习了前面几节课你应该已经尝试过写一个脚本来自动获取最新的代理 ip 地址,但是呢,你肯定会遇到困难,我现在来重现一下大家会遇到的困难。大家肯定会先踩点,在 https://www.xicidaili.com/wt 网点审查元素原创 2020-08-05 11:38:52 · 165 阅读 · 0 评论 -
第055讲:论一只爬虫的自我修养3:隐藏
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!上节课我们说过了,有一些网站比较痛恨爬虫程序,它们不喜欢被程序所访问,所以它们会检查链接的来源,如果说来源不是正常的途径,那么它就会把你给屏蔽掉,所以呢,要让我们的程序可以持续的干活,要可以投入生产,我们就需要对代码进行隐藏,让它看起来更像是普通人浏览器的正常点击。我们知道,服务器检查链接是通过检查 链接中的 Headers 中的 User Agent来判断你是来自于代码还是来自于浏览器,像我们的Python,你用Py原创 2020-08-03 20:08:14 · 692 阅读 · 0 评论 -
第054讲:论一只爬虫的自我修养2:实战
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!今天我们决定在实战中来进行学习,会举两个例子,第一个例子是我们会下载一只猫,第二个例子是我们用Python来模拟浏览器通过在线的谷歌翻译进行文本的翻译。如果你认为上节课我只是简单介绍了一下 urlopen() 函数的用法,那你就错了,上节课我已经说了,相关的文档在哪里,要教你的东西在文档里都有,OK,我们来第一个例子吧。(一)使用Python下载一只猫我们常说,林子大了,什么鸟都有。互联网这么大,那当然不管什么样的奇葩原创 2020-08-03 13:49:32 · 388 阅读 · 0 评论 -
第053讲:论一只爬虫的自我修养
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!马上我们的教学就要进入最后一个章节,Pygame 嗨爆引爆全场,但由于发生了一个小插曲,所以这里决定追加一个章节,因为有人反应说:“你上一节课教我们去查找文档,教我们如何从官方文档中找到需要的答案,但是我发现知易行难也,希望举一个详细点的例子,教我们如何去查找。”所以这里我们详细的深刻的讲一下网络爬虫。所以就有了本章节,论一只爬虫的自我修养。首先,我们需要理解,什么是网络爬虫,如图:网络爬虫又称为网络蜘蛛(Spide原创 2020-08-03 00:19:06 · 378 阅读 · 0 评论 -
第052讲:像极客一样去思考
0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!大家可能还不知道,在Python的社区里有句俗话:“Python自己带着电池(Batteries included)”,什么意思呢?要从Python的设计哲学说起,Python的设计哲学是:优雅、明确和简单。因此,Python开发者演变出来的哲学就是,用一种方法,最好是只有一种方法来做一件事。虽然我们常常努力大家多思考,条条大路通罗马,那是为了训练大家的发散式思维,但是在正式编程中,如果有完善、并且经过严密测试过的模块可以直接实现原创 2020-08-02 18:01:23 · 200 阅读 · 0 评论 -
第051讲:__name__属性、搜索路径和包
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!上一节课我们已经基本介绍了模块的作用以及用法,我们现在来简单回顾一下(温故而知新,可以为师矣),模块的主要作用有哪些呢?封装、组织Python的代码:当代码量非常大的时候,我们可以有组织、有纪律的根据不同的功能将代码分割为不同的模块,这样,每个模块之间互相就是分隔开的、独立开的,那大家想想,代码是分开了容易阅读和测试还是放在一起好?我们当然是更愿意去阅读和测试一小段代码,而不是一来就劈头盖脸把整个程序读起。模块的第原创 2020-08-02 14:52:24 · 268 阅读 · 0 评论 -
第050讲:模块:模块就是程序
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!这一讲将给大家介绍一个新的知识:模块。(一)什么是模块?模块是更高级的封装,说到封装,回顾一下我们之前学过哪些封装:容器 - > 数据的封装函数 - > 语句的封装类 - > 方法和属性的封装模块 - > 模块就是程序没错,模块就是平常我们写的任何代码,保存每一个 .py 结尾的Python文件,就是保存了一个独立的模块。我们来句一个简单的例子:我们在安装Pytho原创 2020-08-02 13:40:45 · 609 阅读 · 0 评论 -
第049讲:生成器
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题(笔试,不能上机哦~)0. 通常,一般的函数从第一行代码开始执行,并在什么情况下结束?答:对于调用一个普通的 Python 函数,一般是从函数的第一行代码开始执行,结束于 return 语句、异常或者函数所有语句执行完毕。一旦函数将控制权交还给调用者,就意味着全部结束。函数中做的所有工作以及保存在局部变量中的数据都将丢失。如果再次调用这个函数时,一切都将重新开始。1. 什么是协同程序?答:所谓的协同程序就原创 2020-08-02 11:08:53 · 157 阅读 · 0 评论 -
第048讲:魔法方法:迭代器
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题(笔试,不能上机哦~)0. 请用你的话解释一下“迭代”的概念?答:迭代是重复反馈过程的活动,其目的通常是为了接近并到达所需的目标或结果。每一次对过程的重复被称为一次“迭代”,而每一次迭代得到的结果会被用来作为下一次迭代的初始值。1. 迭代器是一个容器吗?答:不是。因为我们耳熟能详的容器像列表,字典,元组都是可以存放数据的,而迭代器就是实现了__next__()方法的对象(用于遍历容器中的数据)。2.原创 2020-08-02 00:22:38 · 314 阅读 · 0 评论 -
第047讲:魔法方法:定制序列
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!常言道:“无规矩不成方圆”,讲的是万事万物的发展都要在一定的规则下去运行,只有遵循一定的协议去做,事情才能够按照正确的道路去发展。我们今天要谈的是 定制容器,想要成功的实现容器的定制,我们要先谈一谈协议,那么什么是协议呢?(1)协议是什么?协议(Protlcols)与其他编程语言中的接口很相似,它规定你在哪些地方必须定义哪些东西。然而,在Python中的协议就显得不那么正式了。事实上,Python中的协议更像是一种指南原创 2020-08-01 23:46:58 · 239 阅读 · 0 评论 -
第044讲:魔法方法:简单定制
目录请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!这节课我们一起来完成一个类的定制,基本要求:定制一个计时器的类start和stop方法代表启动计时和停止计时假设计时器对象 t1,print(t1) 和直接调用 t1 均显示结果当计时器未启动或已经停止计时,调用stop方法会给予温馨的提示 两个计时器对象可以进行相加:t1 + t2只能使用提供的有限资源完成显然,你需要这些资源:使用time模块的localtime方法获取时间 Python扩展阅读:ti原创 2020-08-01 00:10:11 · 159 阅读 · 0 评论 -
第046讲:魔法方法:描述符(Property的原理)
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!前面的课程中我们提到了 property 函数,那 property 到底是怎样实现的呢?今天我们谈论的问题是描述符,描述符就是将某种特殊类型的类的实例指派给另一个类的属性。大家对于这个定义可能还不是很理解,等会会举例说明。首先,什么是特殊类型呢?特殊类型的要求是至少要实现以下三个方法其中一个或全部实现。(一)•get(self, instance, owner)–用于访问属性,它返回属性的值(二)•set(sel原创 2020-07-31 20:30:02 · 367 阅读 · 0 评论 -
第045讲:魔法方法:属性访问
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!我们这节课说说魔法方法关于属性访问的应用。我们知道可以使用点操作符(.)的形式去访问对象属性。我们在类与对象相关的BIF这一节中,我们可以使用几个BIF有礼貌的去访问属性,例如:>>> class C: def __init__(self): self.x = 'x-man' >>> c = C()>>> c.x'x-man'>>&原创 2020-07-31 12:53:30 · 393 阅读 · 0 评论 -
第043讲:魔法方法:算术运算2
目录请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!测试题0. 对象相加(a + b),如果 a 对象有 add 方法,请问 b 对象的 radd 会被调用吗?答:不会!>>> class Nint(int): def __radd__(self, other): print("__radd__ 被调用了!") return int.__add__(self, other原创 2020-07-31 00:04:53 · 251 阅读 · 0 评论 -
第042讲:魔法方法:算术运算
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!在Python2.2之前,类和类型是分开的,在Python2.2之后,作者试图对这两个东西进行统一,做法就是将 int()、float()、str()、list()、tuple() 这些 BIF 转换为工厂函数,那什么是工厂函数呢? 我们试图演示一下:>>> type(len)<class 'builtin_function_or_method'>len()是一个普通的内置函数,原创 2020-07-30 15:47:33 · 369 阅读 · 0 评论 -
第041讲:魔法方法:构造和析构
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!构造与析构测试题0. 是哪个特征让我们一眼就能认出这货是魔法方法?答:魔法方法总是被双下划线包围,例如 init1. 类实例化对象所调用的第一个方法是什么?答:new 是在一个对象实例化的时候所调用的第一个方法。它跟其他魔法方法不同,它的第一个参数不是 self 而是这个类cls),而其他的参数会直接传递给 init 方法的。2. 什么时候我们需要在类中明确写出 init 方法?答:当我们的实例对象需原创 2020-07-30 13:47:55 · 227 阅读 · 0 评论 -
第040讲:类和对象:一些相关的BIF
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!今天我们谈谈和类与对象相关的BIF,也就是内置函数。(一)issubclass(class, classinfo)如果第一个参数 class 是第二个参数 classinfo 的子类,就返回 True,关于这个函数有几点需要注意的:一个类被认为是其自身的子类 classinfo 可以是类对象组成的元组,只要 class 是其中一个候选类的子类,就返回 True(二)isinstance(object, class原创 2020-07-30 11:58:35 · 197 阅读 · 0 评论 -
Python 函数修饰符--装饰器--的使用
1. 修饰符的来源借用一个博客上的一段叙述:修饰符是一个很著名的设计模式,经常被用于有切面需求的场景,较为经典的有插入日志、性能测试、事务处理等。修饰符是解决这类问题的绝佳设计,有了修饰符,我们就可以抽离出大量函数中与函数功能本身无关的雷同代码并继续重用。概括的讲,修饰符的作用就是为已经存在的对象添加额外的功能。import time def timeslong(func): start = time.clock() print("It's time starting ! ")原创 2020-07-30 11:54:21 · 141 阅读 · 0 评论 -
第039讲:类和对象:拾遗
0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!(一)组合上节课我们学习了继承和多继承,但是我们有时候发现,有些情况你用继承也不合适,用多继承也不是,例如:现在现在要求定义一个类,叫水池,水池里要有乌龟和鱼。那大家就很苦恼了,用多继承就显得很奇葩了,因为如果把水池继承乌龟和鱼,那显然就是不同物种。那怎样才能把它们组成一个和谐的类呢,这就是我们今天首先要讲的内容:组合。组合的用法很简单,举例说明:class Turtle: def __init__(se原创 2020-07-30 00:05:50 · 243 阅读 · 0 评论 -
第038讲:类和对象:继承
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!上节课的课后习题我们试图模拟一个场景,里边有一只乌龟和十条鱼,乌龟通过吃鱼来补充体力,当乌龟体力消耗殆尽或者鱼吃光时游戏结束。现在我们想扩展游戏,给鱼类进行细分,有金鱼(Goldfish),鲤鱼(Carp),三文鱼(Salmon)和鲨鱼(Shark)。那么我们就在思考一个问题:能不能不要每次都重头到尾重新定义一个新的鱼类呢?因为我们知道大部分鱼的属性和方法是相似的。如果说有一种机制可以让这些相似的东西得以自动传递,我们不用原创 2020-07-29 18:25:19 · 245 阅读 · 0 评论 -
第037讲:类和对象:面向对象编程
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!(一)self 是什么?Python 的 self 相当于 C++ 的 this指针。我们知道,类是图纸,而由类实例化出的对象才是真正可以住人的房子,这是我们上节课大的比方。我们还知道,根据一张图纸就可以设计出成千上万的房子,这些房子都长得差不多,因为它们都来自于同一张图纸,但是它们都有不同的主人,每个人都只可以回到自己的家,self 就相当于每个房子的门牌号,有了 self,就可以轻松的找到自己的房子,Python原创 2020-07-29 15:48:37 · 271 阅读 · 0 评论 -
第036讲:类和对象:给大家介绍对象
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!(一)对象这节课给大家介绍对象。我们之前说过Python无处不对象,Python到处都是对象,然而我们很多人不理解对象到底是什么?他们只是在学习的时候有听过面向对象编程这么一回事,但是他们仍然在使用对象。对象是模拟真实世界,把数据和代码都封装在一起。(二)面向对象的特征OO = Object Oriented(面向对象)Python就是一门纯粹的面向对象编程的语言,面向对象编程有什么特征呢?第一个特征就是原创 2020-07-29 13:28:46 · 356 阅读 · 0 评论 -
第035讲:图形用户界面入门:EasyGui
动动手0. 先练练手,把我们的刚开始的那个猜数字小游戏加上界面吧?import randomimport easygui as g g.msgbox("嗨,欢迎进入第一个界面小游戏^_^")secret = random.randint(1,10) msg = "不妨猜一下小甲鱼现在心里想的是哪个数字(1~10):"title = "数字小游戏"guess = g.integerbox(msg, title, lowerbound=1, upperbound=10) while T原创 2020-07-29 12:19:35 · 248 阅读 · 0 评论 -
第034讲:丰富的else语句及简洁的with语句
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!这节课我们来谈谈丰富的else语句及简洁的with语句,大多数编程语言来说,else 语句只能跟 if语句进行搭配,但是在Python里面,else 语句具有更加丰富的功能,在Python中,1.else语句不仅能够跟 if 语句进行搭配,构成“要么怎么,要么不怎样”的句式2.还能跟循环语句(for语句或者while语句)进行搭配,构成“干完了能怎样,干不完就别想怎样”的句式3.还能跟异常处理进行搭配,构成“没有原创 2020-07-28 14:10:58 · 249 阅读 · 0 评论 -
第033讲:异常处理:你不可能总是对的2
目录0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!上节课我们已经掌握了能够碰到的异常类型,name这一节我们就来学习如何检测这些异常并处理它们。异常检测我们可以使用 try 语句来实现,任何出现在 try 语句范围内的异常都会被检测到,我们这节课要介绍两个模式的 try 语句,一种是 try—except 语句:语法:try : 检测范围 except Exception [ as reason ]:原创 2020-07-28 12:52:09 · 196 阅读 · 0 评论 -
第032讲:异常处理:你不可能总是对的
请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式! ***Python标准异常总结***AssertionError断言语句(assert)失败AttributeError尝试访问未知的对象属性EOFError用户输入文件末尾标志EOF(Ctrl+d)FloatingPointError浮点计算错误GeneratorExit generator.close()方法被调用的时候ImportE原创 2020-07-28 11:27:08 · 182 阅读 · 0 评论 -
第031讲:永久存储:腌制一缸美味的泡菜
0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!我们之前学习了文件和文件系统,我们知道从一个文件里面去读取字符串是非常简单的,但是你如果要试图读取出数值的话,name就要多费点周折了,因为无论你是使用read()方法还是readline()方法,都是返回一个字符串,如果我们希望从字符串中取出数值的话,我们会使用int()或float()函数,把类似于1,2,3或者3.14的字符串强制转换为整型或者浮点型数值,我们一直在讲保存文件,然而当你要保存的数据像列表,字典,集合甚至是类原创 2020-07-28 00:20:21 · 161 阅读 · 0 评论 -
第030讲:文件系统:介绍一个高大上的东西
请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!介绍跟Python的文件相关且十分有用的模块。模块是什么?模块是一个包含你定义的函数和变量的文件,后缀是.py,模块可以做到被别的程序所引入,以使用该模块中的函数等功能。OS模块(Operating System操作系统)对于文件系统的访问来说,Python一般是提供OS模块来实现就可以了,我们所知道常用的操作系统有:Windows,Mac,OS,Linux,UNIX等,这些操作系统底层由于文件系统的访问工作原理不同,因此你可能原创 2020-07-27 19:58:54 · 257 阅读 · 0 评论 -
第028讲:文件:因为懂你,所以永恒
0.下边只有一种方式不能打开文件,请问是哪一种,为什么?f = open('E:/test.txt','w') #Af = open('E:\test.txt','w') #Bf = open('E://test.txt','w') #Cf = open('E:\\test.txt','w') #DB,没有对反斜杠进行转义Windows在路径名中既可以接受斜线(/)也可以接受反斜线(\),不过如果使用反斜线作为路径名的分隔符的话,要注意使用双反斜线(\)进行转义,否则Python会将反斜原创 2020-07-27 00:19:04 · 205 阅读 · 0 评论 -
第029讲:文件:一个任务
0. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!•任务:将文件(record.txt)中的数据进行分割并按照以下规律保存起来:–小甲鱼的对话单独保存为boy_.txt的文件(去掉“小甲鱼:”) –小客服的对话单独保存为girl_.txt的文件(去掉“小客服:”)–文件中总共有三段对话,分别保存为boy_1.txt, girl_1.txt,boy_2.txt, girl_2.txt,boy_3.txt, gril_3.txt共6个文件(提示:文件中不同的对话间已经使用“=原创 2020-07-26 20:55:42 · 249 阅读 · 0 评论 -
第027讲:集合:在我的世界里,你就是唯一
测试题0. 请问集合的唯一作用是什么呢?答:集合几乎所有的作用就是确保里边包含的元素的唯一性,就像世界上没有两片完全相同的树叶一样,集合内不可能存在两个相同的元素!1. 如果你希望创建的集合是不变的,应该怎么做?答:frozenset()2. 请问如何确定一个集合里边有多少个元素?答:没错,len()函数正好可以满足你此刻的需求_3. 请目测以下代码会打印什么内容?num_set = set([1, 2, 3, 4, 5])num_set[0]答:会报错,因为集合是无序的原创 2020-07-26 14:05:16 · 260 阅读 · 0 评论 -
第026讲:字典:当索引不好用时2
测试题0. Python的字典是否支持一键(Key)多值(Value)?答:不支持,对相同的键再次赋值会将上一次的值直接覆盖。>>> dict1 = {1:'one', 1:'yi'}>>> dict1[1]'yi'1. 在字典中,如果试图为一个不存在的键(Key)赋值会怎样?答:会自动创建对应的键(Key)并添加相应的值(Value)进去。(具体原理可以参考第3题的“扩展阅读”部分)2. 成员资格操作符(in和not in)可以检查一个元素是否原创 2020-07-26 12:43:57 · 312 阅读 · 0 评论 -
第025讲:字典:当索引不好用时
测试题0. 当你听到小伙伴们在谈论“映射”、“哈希”、“散列”或者“关系数组”的时候,事实上他们就是在讨论什么呢?答:是的,事实上他们就是在讨论我们这一讲介绍的“字典”,都是一个概念!(切记,装X的本质就是把同一个东西说成各种不同的事物~)1. 尝试一下将数据(‘F’: 70, ‘C’: 67, ‘h’: 104, ‘i’: 105, ‘s’: 115)创建为一个字典并访问键 ‘C’ 对应的值?>>> MyDict = dict((('F', 70), ('i',105), (原创 2020-07-26 00:30:27 · 147 阅读 · 0 评论 -
第023、024讲:递归:这帮小兔崽子、汉诺塔
动动手0. 使用递归编写一个十进制转换为二进制的函数(要求采用“取2取余”的方式,结果与调用bin()一样返回字符串形式)。def Bin(x): if x==0: return '0' elif x==1: return '1' else: return Bin(x//2)+str(x%2)1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。def fun(x): if x//10==0: return [x] else: r原创 2020-07-25 18:44:45 · 271 阅读 · 0 评论