
python入门
转角的喵
这个作者很懒,什么都没留下…
展开
-
python入门——P54论一只爬虫的自我修养1
URL的一般格式为(带方括号[]的为可选项): protocol://hostname[:port]/path/[;parameters][?query]#fragment URL由三部分组成: 第一部分是协议:http, https, ftp, file, ed2k 第二部分是存放资源的服务器的域名系统或IP地址(有时候要包含端口号,各种传输协议都有默认的端口号,如http的默认端口为80) 第三部分是资源的具体地址,如目录或文件名等 import urllib.request as ur .原创 2020-07-20 08:33:41 · 127 阅读 · 0 评论 -
python入门——P34异常处理:你不可能总是对的2
有时程序会出错,但不会崩溃,我们需要知道哪里出错了,并进行提醒。 ‘’'python3 try: 检测范围 except Execption[reason]: 出现异常后的处理代码 finally: 无论如何都会被执行的代码 try: f = open("read.text") #实际上是没有这个文件的 print(f.read()) f.close except OSError as reason: #reason是具体的原因 print("文件出错了\n错误的原因:" + str(rea原创 2020-07-20 08:33:32 · 191 阅读 · 0 评论 -
python入门——P51模块:模块内测试、搜索路径和包
__name_=’__main_’ 只有直接把模块当做主程序运行时,才会运行代码,当模块是被导入到其他程序则不会运行 在主程序使用__name_则会得到"__main_",在别的程序中使用会得到此模块名字例如上一讲的tc.__name__会得到"TemperatureConversion" def c2f(cel): fah = cel * 1.8 +32 return fah def f2c(fah): cel = (fah - 32) / 1.8 return cel原创 2020-07-20 08:33:20 · 170 阅读 · 0 评论 -
python入门——P50模块:模块就是程序
导入模块 第一种:import 模块名 def c2f(cel): fah = cel * 1.8 +32 return fah def f2c(fah): cel = (fah - 32) / 1.8 return cel import TemperatureConversion print("32摄氏度等于%.2f华氏度" % TemperatureConversion.c2f(32)) print("100华氏度等于%.2f华摄度" % TemperatureCon原创 2020-07-20 08:33:11 · 140 阅读 · 0 评论 -
python入门——P49乱入:生成器
生成器 生成器是一个特殊的迭代器,每个next后返回yield后面的值,之后会接着前面的执行 def myGen(): print("生成器执行1") yield 1 print("生成器执行2") yield 2 myG = myGen() print(next(myG)) print(next(myG)) print(next(myG)) 生成器执行1 1 生成器执行2 2 StopIteration 生成器制作斐波那契数列,代码如下 def fibs():原创 2020-07-20 08:33:06 · 120 阅读 · 0 评论 -
python入门——P48魔法方法:迭代器
迭代 上一次的输出,作为下一次的输入,返回自身,代码如下 dic = {"00":"a", "01":"b", "10":"c", "11":"d"} for each in dic: print("%s -> %s" % (each, dic[each])) 00 -> a 01 -> b 10 -> c 11 -> d 打印斐波那契数列,代码如下 class Fibs(): def __init__(self, n=20): self.a原创 2020-07-20 08:33:00 · 126 阅读 · 0 评论 -
python入门——P47魔法方法:定制序列
容器类型的协议 希望容器不可变,则只需定义__len_()和__getitem_()方法 如果希望容器可变,除了上面两个,还需要__setitem_()和__delitem_()两个方法 编写一个不可改变的自定义列表,要求记录下列表中每个元素被访问的次数,代码如下 class CountList(): def __init__(self, *args): self.value = [x for x in args] #x for x in args返回值是由for子句之后的表达式原创 2020-07-20 08:32:54 · 111 阅读 · 0 评论 -
python入门——P46魔法方法:描述符(Property的原理)
描述符 描述符就是将某种特殊类型的类的实例,指派给另一个类的属性。 特殊类型: __get_(self, instance, owner) 用于访问属性,返回属性的值 __set_(self, instance, value) 将在属性分配操作中调用,不会返回任何内容 __del__(self, instance) 控制删除操作,不返回任何内容 各个属性内容,调用方法如下: class MyDecriptor(): def __get__(self, instance, value):原创 2020-07-20 08:32:47 · 157 阅读 · 0 评论 -
python入门——P45魔法方法:属性访问
下面是通过property访问属性的用法 class C(): def __init__(self, size=10): self.size = size def getsize(self): return self.size def setsize(self, value): self.size = value def delsize(self): del self.size x = prop原创 2020-07-20 08:32:41 · 122 阅读 · 0 评论 -
python入门——P44魔法方法:简单定制
写个计时器的类 import time as t class Mytimer(): def __init__(self): self.unit = ["year", "mouth", "day", "hour", "min", "sec"] self.begin = 0 self.end = 0 self.count = [] self.prompt = "please start" def __str__(原创 2020-07-20 08:32:34 · 711 阅读 · 0 评论 -
python入门——P43魔法方法:算数运算2
改写魔法方法,下发代码把int类的加减进行了互换 class New_num(int): def __add__(self, other): return int.__sub__(self, other) def __sub__(self, other): return int.__add__(self, other) a = New_num(7) b = New_num(5) print(a + b) print(a - b) 2 12 下面把右加方法原创 2020-07-20 08:32:27 · 154 阅读 · 0 评论 -
python入门——P42魔法方法:算数运算1
下面是算数运算的一些魔法方法 我们接下来可以做个小改变 class New_num(int): def __add__(self, other): return int.__sub__(self, other) def __sub__(self, other): return int.__add__(self, other) a = New_num(7) b = New_num(5) print(a + b) print(a - b) 2 12 ..原创 2020-07-20 08:32:19 · 278 阅读 · 0 评论 -
python入门——P41魔法方法:构造和析构
魔法方法总是被双下划线包围 魔法方法是面向对象Python的一切 魔法方法的强大,体现在他们总能在合适的时候自动调用 __init__(self[, …]) 在实例被构造初始就需要属性,对一个对象进行初始化,才会用到这个函数进行构造 tips:init不能加任何返回 class Rectangle(): def __init__(self, x, y): self.x = x self.y = y def getPeri(self): r.原创 2020-07-20 08:32:08 · 134 阅读 · 0 评论 -
python入门——P40类和对象:一些相关的BIF
一些相关的BUF issubclass(class, classinfo) class是classinfo的子类则返回true 1、一个类会被认为是自身的子类 2、classinfo可以是类对象组成的元组,只要class是其中任何一个classinfo的子类,则返回true class A: pass class B(A): pass class C: pass print(issubclass(B,A)) print(issubclass(B,B)) print(issu原创 2020-07-20 08:31:59 · 133 阅读 · 0 评论 -
python入门——P39类和对象:拾遗
组合 组合就是把旧类实例化放到新类里面进行调用,代码如下 class Chairs(): def __init__(self,x): self.num = x class Glasses(): def __init__(self,y): self.num = y class Build(): def __init__(self,x,y): self.chairs = Chairs(x) self.glassses =原创 2020-07-20 08:31:50 · 153 阅读 · 0 评论 -
python入门——P37类和对象:面向对象编程
self是什么 class相当于房子图纸,每个对象是参照图纸建立的实际的房子,self相当于每一栋房子的门牌号,在下面这段代码里,每个对象都是调用了自己那栋房子里的方法,就是因为self tips:在方法里,self必须是第一个 class Build(): def setname(self,name): self.name = name def call(self): print("your name is %s" % self.name) buildin原创 2020-07-20 08:31:42 · 278 阅读 · 0 评论 -
python入门——P36类和对象:给大家介绍对象
介绍对象 下面展示一些python3创建类,类的属性、方法,以及调用的代码 class fight(): # define class name color = "green" #attribute def fun(self): #function print("i am figher") class defend(): color = "red" def fun(self): print("i am defender") figh原创 2020-07-20 08:31:31 · 104 阅读 · 0 评论