小甲鱼Python课后作业
Ebony&Ivory
不过分追求结果,只潜心钻研过程。
展开
-
【小甲鱼Python】论一只爬虫的自我修养2:实战 (使用2020.3.1有道翻译的网页,解决找不到method等问题)
笔记例子一:从猫网站上下载一张猫的图片猫网站:http://placekitten.com要下载的猫图片:http://placekitten.com/g/500/800实现代码:import urllib.requestresponse = urllib.request.urlopen('http://placekitten.com/g/500/800')cat_im...原创 2020-03-01 11:34:08 · 476 阅读 · 0 评论 -
【小甲鱼Python】论一只爬虫的自我修养1
Python如何访问互联网?URL的一般格式为原创 2020-03-01 07:26:16 · 355 阅读 · 0 评论 -
【小甲鱼Python】模块:__name__ = '__main__',搜索路径和包
笔记if __name__ == '__main__'举例说明该语句的用途:有如下模块(TemperatureConversion.py):def c2f(cel): fah = cel * 1.8 + 32 return fahdef f2c(fah): cel = (fah - 32) / 1.8 return celdef test...原创 2020-02-28 15:53:56 · 214 阅读 · 0 评论 -
【小甲鱼Python】模块:模块就是程序
笔记容器:数据的封装。函数:语句的封装。类:方法和属性的封装。模块:模块就是程序,每次写好代码保存的py文件都是一个模块。命名空间调用导入的模块里的函数时,要加上命名空间。写好如下代码保存为hello.py,并置于Python目录下(否则导入时会找不到此文件)。def hi(): print('Hi!')在IDLE中导入该模块,并调用hi(),...原创 2020-02-28 15:13:12 · 201 阅读 · 0 评论 -
【小甲鱼Python】魔法方法:描述符(Property的原理)
笔记描述符(descriptor)描述符就是“将某种特殊类型的类的实例指派给另一个类的属性”。描述符的属性:__get__(self,instance,owner)用于访问属性,返回属性的值__set__(self,instance,value)将在属性分配操作中调用,不返回任何内容__delete__(self,instance)控制删除操作,不返回任何内容...原创 2020-02-22 21:06:09 · 225 阅读 · 0 评论 -
【小甲鱼Python】魔法方法:属性访问
笔记属性访问1.__getattr__(self,name)定义当用户试图获取一个不存在的属性时的行为2.__getattribute__(self,name)定义当该类的属性被访问时的行为3.__setsttr__(selff,name,value)定义当一个属性被设置时的行为4.__delattr__(self,name)定义当一个属性被删除时的行为...原创 2020-02-21 13:45:46 · 284 阅读 · 0 评论 -
【小甲鱼Python】魔法方法:算术运算1&&课后作业
工厂函数原创 2020-02-20 16:52:20 · 196 阅读 · 0 评论 -
【小甲鱼Python】魔法方法:构造和析构
笔记__init__(self[,...])在创建实例化对象时,__init__方法会被自动调用。可根据创建的需要对该方法进行改写:class Rectangle: def __init__(self,x,y): self.x = x self.y = y def getPeri(self): return (self....原创 2020-02-20 15:55:46 · 252 阅读 · 0 评论 -
【小甲鱼Python】类和对象:一些相关的BIF
笔记issubclass(class,classinfo)检测class是否为classinfo的子类,如是,则返回True,否则返回False。1.该函数的检测是不严格的,一个类会被认为是其自身的子类;2.classinfo可以是类对象组成的元组,只要class是其中任何一个候选类的子类,就返回True。注:object是任何类的父类isinstance(obj...原创 2020-02-19 16:56:08 · 239 阅读 · 0 评论 -
【小甲鱼Python】类和对象:继承&&课后作业
笔记继承语法 class DerivedClassName(BaseClassName):被继承的类被称为父类,基类或超类,继承者称之为子类。如果子类中定义与父类中同名的方法或属性,则在子类中会自动覆盖父类对应的方法或属性:如果在继承时,对于一个同名的方法,想要既继承父类的操作,又另外增加子类独有的操作,有两种解决方法:1.调用未绑定的父类方法:父类:...原创 2020-02-18 23:03:47 · 406 阅读 · 0 评论 -
游戏中的角色移动:闭包(closure)在实际开发中的作用
在某种情况下,我们并不方便使用全局变量,所以灵活的使用闭包可以实现替代全局变量。例如以下的游戏开发中,我们需要将游戏中角色的移动位置保护起来,不希望被其他函数轻易可以修改到,所以我们选择使用闭包操作,参考代码及注释如下:origin = (0, 0) # 原点legal_x = [-100, 100] # x轴的移动范围legal_y = [-100, 100] ...转载 2020-02-18 11:14:49 · 397 阅读 · 0 评论 -
【小甲鱼Python】类和对象:面向对象编程&&课后作业
测试题:版权属于:bbs.fishc.comrgqoWE`>MUC[#VvyH7:jn)f{}lI=0. 以下代码体现了面向对象编程的什么特征?=z;Hh>>> "FishC.com".count('o') 1 >>> [1, 1, 2, 3, 5, 8].count(1) 2 >>> (0, 2, 4, 8, 12, 1...原创 2020-02-18 22:04:34 · 789 阅读 · 0 评论 -
【小甲鱼Python】图形用户界面入门:EasyGui&&课后作业
GUI:Graphical User Interface原创 2020-02-18 00:00:38 · 485 阅读 · 0 评论 -
【小甲鱼Python】丰富的else语句及简洁的with语句
else语句1.和while,for搭配执行完整个while(for)循环后才执行else中的代码。遇到break中途跳出循环的不算。(干完了能怎样,干不完就别想怎样)例子:def sshowMaxFactor(num):count = num // 2while count > 1: if num % count == 0: print('%d...原创 2020-02-17 23:58:28 · 340 阅读 · 0 评论 -
【小甲鱼Python】异常处理:你不可能总是对的1&&课后作业
测试题:版权属于:bbs.fishc.com~8i<apfRzuB5)=XVcT6eW9j^b0. 结合你自身的编程经验,总结下异常处理机制的重要性?答:由于环境的不确定性和用户操作的不可以预知性都可能导致程序出现各种问题,因此异常机制最重要的无非就是:增强程序的健壮性和用户体验,尽可能的捕获所有预知的异常并写好处理的代码,当异常出现的时候,程序自动消化并恢复正常(不至于崩溃)。>...原创 2020-02-17 21:29:14 · 315 阅读 · 0 评论 -
【小甲鱼Python】类和对象:给大家介绍对象
笔记对象对象 = 属性 + 方法创建对象首先要创建一个类。类就好比模具,有了类才能量产对象,此时创建出的对象是类的实例,故称该对象为实例化对象。类的首字母必须大写。通过类创建对象:调用对象的方法:面向对象(OO,Object Oriented)特征:1.封装:对象的方法和属性都被封装起来,我们在调用时不必具体知道这些方法和属性是如何实现的,只要知道方...原创 2020-02-18 00:55:47 · 299 阅读 · 0 评论 -
字符串的方法总结
capitalize() 把字符串的第一个字符改为大写 casefold() 把整个字符串的所有字符改为小写 center(width) 将字符串居中,并使用空格填充至长度 width 的新字符串 count(sub[, start[, end]]) 返回 sub 在字符串里边出现的次数,start 和 end 参数表示范围,可选。 encode(en...转载 2020-02-15 00:10:44 · 101 阅读 · 0 评论 -
os模块中关于文件/目录常用的函数使用方法
Python是跨平台的语言,也即是说同样的源代码在不同的操作系统不需要修改就可以同样实现。因此Python的作者就制作了OS模块,有了OS模块,我们不需要关心什么操作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。 函数名 使用方法 getcwd() 返回当前工作目录 chdir(path) 改变工作目录 listdir...转载 2020-02-15 00:07:55 · 409 阅读 · 0 评论 -
【小甲鱼Python】文件系统:介绍一个高大上的东西&&课后作业
笔记模块模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。使用import语句导入模块。os模块(Operating System)有了OS模块,我们不需要关心什么操作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。mkdir()用于创建单层目录,即在有父目录的条件下去创建子目录,否则报错:使用...原创 2020-02-17 00:18:13 · 573 阅读 · 0 评论 -
【小甲鱼Python】文件:一个任务&&课后作业
笔记例题解决代码:def save_file(boy,girl,count): file_name_boy = 'boy_' + str(count) + '.txt' file_name_girl = 'girl_' + str(count) + '.txt' boy_file = open(file_name_boy,'w') girl_fi...原创 2020-02-14 23:58:40 · 743 阅读 · 2 评论 -
Python 标准异常总结
AssertionError 断言语句(assert)失败 AttributeError 尝试访问未知的对象属性 EOFError 用户输入文件末尾标志EOF(Ctrl+d) FloatingPointError 浮点计算错误 GeneratorExit generator.close()方法被调用的时候 ImportError 导入模块失败...转载 2020-02-13 11:26:57 · 176 阅读 · 0 评论 -
【小甲鱼Python】文件:因为懂你,所以永恒&&课后作业
笔记打开文件使用open()来打开文件。其中常用的是前两个参数。参数file如果带路径则在路径中寻找文件,如果不带路径则在当前文件夹寻找文件。写路径时,要么用/,要么用\\。参数mode:打开模式 执行操作 'r' 以只读方式打开文件(默认) 'w' 以写入的方式打开文件,会覆盖已存在的文件 'x' 如果文件已经存在,使用...原创 2020-02-13 12:15:17 · 444 阅读 · 0 评论 -
【小甲鱼Python】递归:这帮小兔崽子、汉诺塔&&课后作业
笔记斐波那契数列汉诺塔有64个盘子,三根柱子(从左至右依次为x,y,z柱)。要求将这64个盘子从x移动到z上。解决思想:首先,将三根柱子依次分为起始柱,辅助柱和目标柱。在移动过程中,这三个柱子不是绝对不变的,而是会不断改变的。(移动多个盘子时,先确定好是从哪个柱子移到哪个柱子,即先确定起始柱和目标柱,然后剩下的柱子作辅助柱)把问题分为三个简单步骤:1、将63个盘子从...原创 2020-02-12 13:41:40 · 656 阅读 · 0 评论 -
【小甲鱼Python】字符串:各种奇葩的内置方法&&课后作业
笔记字符串的索引、切片、拷贝和成员操作都与元组,列表一样。修改字符串与元组类似,使用切片和+操作符间接实现:str1 = 'I love fishC.com.'str1 = str1[:6] + '插入的字符串' + str1[6:]字符串的各种方法https://fishc.com.cn/forum.php?mod=viewthread&tid=38992...原创 2020-02-09 16:11:18 · 653 阅读 · 0 评论 -
【小甲鱼Python】异常处理:你不可能总是对的2&&课后作业
笔记try语句形式一:try-excepttry: 检测范围except Exception[as reason]: 出现异常(Exception)后的处理代码[]括起来的部分是可选参数,reason只是个变量名,用别的名称代替也可以。1.当文件不存在时:2.一个try语句可以与多个except搭配使用,例如:3....原创 2020-02-09 00:00:22 · 323 阅读 · 0 评论 -
【小甲鱼Python】集合:在我的世界里,你就是唯一&&课后作业
笔记集合(set)在Python3中,用大括号括起来的元素没有映射关系,那么就构成集合。例如:唯一性:集合里的元素都是唯一的,即便在定义时有重复的元素,也会被系统自动剔除。(就像数学里的集合一样,不会有重复元素)无序性:和字典一样,集合里的元素是无序的,即没有索引。(集合中若均是数字元素,则会自动从小到大排列)创建集合1.直接把一堆元素用花括号括起来。2.使...原创 2020-02-07 18:30:41 · 328 阅读 · 0 评论 -
【小甲鱼Python】函数:内嵌函数和闭包&&课后作业
笔记global关键字格式:global 变量名 ;使该变量变为全局变量。内嵌函数在一个函数(外部函数)内部嵌套定义另一个函数。内部函数的整个作用域全都且只在外部函数内,即只能在外部函数内调用内部函数,不可以在外部函数外调用内部函数。外部函数与内部函数两者局部变量之间的关系,就如同之前所讨论的全局变量与局部变量之间的关系。如上图,Fun2()中试图改变外部函...原创 2020-02-06 22:48:50 · 679 阅读 · 1 评论 -
【小甲鱼Python】字典:当索引不好用时2&&课后作业
笔记再谈字典与序列类型的区别:序列只能用索引值调用其中的元素,如果索引值越界了会报错。而字典通过键来调用,即便定义字典时没有设置该键,Python也会自动创建该键而不会报错。序列类型包括:字符串,元组,列表和范围dict()不是BIF,是一个工厂函数(类型)。字典的存储机制:https://fishc.com.cn/thread-45016-1-1.htmlfromkey...原创 2020-02-06 12:19:26 · 412 阅读 · 0 评论 -
【小甲鱼Python】字典:当索引不好用时1&&课后作业
笔记字典字典是Python唯一的映射类型,不是序列类型,字符串、列表和元组才是序列类型。包含两个关键字:键(key),值(value)创建字典(1)格式: 变量名 = {键:值} 各个 键:值对( 称为相) 用逗号隔开 例如:(2)创建空字典,例如:dict1 = {}(3)利用dict()创建字典, 方法一...原创 2020-02-06 09:57:53 · 441 阅读 · 0 评论 -
【小甲鱼Python】函数:递归是神马&&课后作业
笔记递归(recursion)片面来说:函数不断调用自身,并且最终达到某个条件而停止,这是递归的一种体现。Python3出于保护的目的,避免递归陷入死循环,默认的递归深度是100次,可以通过以下代码设置递归深度:此时,函数recursion的递归深度被设置为了100w次。递归与迭代的区别递归(recursion):递归常被用来描述以自相似方法重复事物的过程,在数...原创 2020-02-12 00:26:05 · 430 阅读 · 0 评论 -
【小甲鱼Python】函数:lambda表达式&&课后作业
笔记lambda表达式如上图,lambda x :2 * x + 1就是lambda表达式,是def ds(x)的简化。冒号前面是原函数的参数,有多个参数则用逗号隔开,冒号后边是原函数的返回值。如上图可调用lambda表达式,并且称lambda表达式定义出的函数为匿名函数。使用完毕后一段时间Python会将该匿名函数自动清除。filter()函数(过滤器)filt...原创 2020-02-05 17:45:39 · 478 阅读 · 0 评论 -
【小甲鱼Python】函数:我的地盘听我的&&课后作业
笔记函数与过程在除了Python以外的其他大多数编程语言中,函数与过程是两个概念。函数(function)有返回值,而过程(procedure)是简单的,特殊且没有返回值的。Python严格来说,只有函数,没有过程。即便是没有return语句的函数,也有返回值,即None对象。返回值使用列表,元组来使函数返回“多个值”,本质上还是一个值,且只能是一种类型的一个值。全局变...原创 2020-02-05 10:50:24 · 365 阅读 · 0 评论 -
【小甲鱼Python】函数:灵活即强大&&课后作业
笔记形参与实参形参(parameter)实参(argument)函数文档如图中所示,用单引号括起来的部分被称作函数文档,与#后的注释不同。可以通过__doc__调用显示,如:以双下横线开始并以之结束是函数的特殊属性。使用help()也可以显示函数文档:再例如对于print函数,可用print.__doc__显示其函数文档,但不是很美观,使用hel...原创 2020-02-04 17:26:04 · 234 阅读 · 0 评论 -
【小甲鱼Python】函数:Python的乐高积木&&课后作业
笔记复杂问题简单化的三种实现方式函数,对象,模块函数1.函数的创建和调用:创建:def 函数名(形参列表): 代码块调用:函数名(实参列表)2.函数的调用机制当函数发生调用的时候,Python会向上寻找“def ”这个关键字,接着依次执行函数体(代码块)。3.函数的返回值用return关键字实现例如:课后作...原创 2020-02-04 13:56:44 · 563 阅读 · 0 评论 -
【小甲鱼Python】元组:戴上了枷锁的列表&&课后作业
笔记元组不可以修改的列表。与字符串,列表进行对比:1.可否修改:元组和字符串一样都不能修改;但列表可以修改。2.所含元素:元组和列表一样,都可以包含任何类型元素;但字符串就是str类型。创建元组1.tuple1 = (1,2,3,4,5)2.空元组 tuple1 = ()3.标志性符号是“,”验证如下: 再如:但空元组的创建只能写成tup...原创 2020-02-04 11:08:55 · 271 阅读 · 0 评论 -
【小甲鱼Python】列表:一个打了激素的数组3&&课后作业
测试题:0. 注意,这道题跟上节课的那道题有点儿不同,回答完请上机实验或参考答案。>>> old = [1, 2, 3, 4, 5]>>> new = old>>> old = [6]>>> print(new)如果不上机操作,你觉得会打印什么内容?1. 请问如何将下边这个列表的’小甲鱼’修改为’小鱿鱼’?l...原创 2020-02-03 23:50:18 · 291 阅读 · 0 评论 -
【小甲鱼Python】列表:一个打了激素的数组2&&课后作业
测试题:0. 下边的列表分片操作会打印什么内容?>>> list1 = [1, 3, 2, 9, 7, 8]>>> list1[2:5][2,9,7]1. 请问 list1[0] 和 list1[0:1] 一样吗?不一样;前者数据类型为非序列型,后者数据类型为列表型。list1[0]返回1,list1[0:1]返回[1]。2. 如果你每次想从列...原创 2020-02-09 10:06:10 · 218 阅读 · 0 评论 -
【小甲鱼Python】列表:一个打了激素的数组&&课后作业
测试题:0. 列表都可以存放一些什么东西?各种类型的数据。int,float,str,bool,list,tuple等。1. 向列表增加元素有哪些方法?append():参数为一个元素,将该元素添加到对象列表的最后。extend():参数为一个列表,将参数列表中的元素添加到对象列表的最后。insert():第一个参数表示对象列表中的位置,第二个参数表示要插入该位置的元素。2. app...原创 2020-02-03 11:26:40 · 293 阅读 · 0 评论 -
【小甲鱼Python】了不起的分支和循环3&&课后作业
测试题:0. 下面的循环会打印多少次"I Love FishC"?for i in range(0, 10, 2): print('I Love FishC')5次1. 下面的循环会打印多少次"I Love FishC"?for i in 5: print('I Love FishC')不执行,5不是序列2. 回顾一下 break 和 continue 在循环中起...原创 2020-02-09 10:01:01 · 375 阅读 · 0 评论 -
【小甲鱼Python】了不起的分支和循环1、2&&课后作业
测试题:if not (money < 100): 上边这行代码相当于?if money >= 100assert 的作用是什么?当这个关键字后边的条件为假的时候,程序会自动崩溃并抛出Assertion Error的异常。用途:可以用该关键字构成表达式在程序中置入检查点,当需要确保程序中的某一个条件必须为真才能让程序正常工作的话,assert对于检查这种情况是否成立就...原创 2020-02-09 10:01:36 · 349 阅读 · 0 评论