03 2017 档案
摘要:我们说HTTP协议是基于请求响应模式,就是客户端发送一个请求,服务端回复一个响应。 但是HTTP协议是无状态的,也就是说客户端这会儿给服务器提交了账号密码,服务器回复验证通过,但下一秒客户端说我要访问某资源,服务端回复:啊,你是谁? 为了解决这个尴尬的困境,有人发明了cookie,cookie相当于
阅读全文
摘要:1.cookielib模块 cookielib模块的主要作用就是提供可存储cookie的对象,以便于与urllib2模块配合使用来访问internet资源,例如可以利用本模块的cookiejar类的对象来捕获cookie并在后续链接请求时重新发送。cookielib模块用到的对象主要由cookiej
阅读全文
摘要:1 import easygui as g 2 import urllib.request 3 4 title = '下载一只猫' 5 msg = '请输入猫的尺寸' 6 values = ('宽','高') 7 8 interface = g.multenterbox(msg,title,values) 9 size = interface[0]+'/'+interfac...
阅读全文
摘要:在python内部,字符串使用unicode编码,因此在做编码转换时,需要以unicode作为中间编码,即先将其他编码的字符串解码成unicode,这个过程是decode,再从unicode编码成另外一种编码,这个过程是encode。 decode的作用是将其他编码的字符串转换成unicode,比如
阅读全文
摘要:1 #写一个翻译小工具 2 3 import urllib.request 4 import urllib.parse 5 import json 6 content = input('请输入要翻译的内容:') 7 8 url = 'http://fanyi.youdao.com/translate?smartresult=\ 9 dict&smartresult=rule...
阅读全文
摘要:转载自:http://blog.csdn.net/gogor/article/details/5323599 我们知道,计算机只能识别诸如0101这样的二进制数,于是人们必须以二进制数据与计算机进行交互,或者先将人类使用的字符按一定规则转换为二进制数。 那什么是字符呢?在计算机领域,我们把诸如文字、
阅读全文
摘要:事实上计算机只认识0和1,然而我们却可以通过计算机来显示文本,这就是靠编码实现的。编码其实就是约定的一个协议,比如ASCII编码约定了大写字母A对应十进制数65,那么在读取一个字符串的时候,看到65,计算机就知道这里说的是字母A的意思。 由于计算机是美国人发明的,所以这个ASCII编码设计时只采用1
阅读全文
摘要:1 import urllib.request 2 import chardet 3 4 def main(): 5 count = 1 6 with open('D:\\urls.txt') as f: 7 while True: 8 url = f.readline() 9 if ur...
阅读全文
摘要:使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position ... 这个问题。 网络上有很多类似的文件讲述如何解决这个问题,
阅读全文
摘要:在日常使用中,我们难以避免会遇到编码转换问题。(如果编码是什么都不知道,请先看:什么是编码?)而进行编码转换的前提是你知道这个字符串使用的是什么编码。比如你使用 urllib.request.urlopen() 获取一个网页时,你特么如果不知道网页的编码会怎样?<ignore_js_op> 直接 r
阅读全文
摘要:事实上计算机只认识 0 和 1,然而我们却可以通过计算机来显示文本,这就是靠编码实现的。编码其实就是约定的一个协议,比如 ASCII 编码约定了大写字母 A 对应十进制数 65,那么在读取一个字符串的时候,看到 65,计算机就知道这是大写字母 A 的意思。由于计算机是美国人发明的,所以这个 ASCI
阅读全文
摘要:1 >>> import copy 2 >>> list1 = [1,2,3,['a','b']] 3 >>> list2 = copy.copy(list1)#浅复制,修改子对象将受影响 4 >>> list3= copy.deepcopy(list1)#深复制,修改子对象不受影响 5 >>> list2 6 [1, 2, 3, ['a', 'b']] 7 >>> list3 ...
阅读全文
摘要:首先,执行b.py。程序执行b.py就需要创建新的模块对象b,然后再执行b.py对应的字节码。 b.py第一行代码为导入a模块,因此程序会导入a模块,同时就要创建模块对象a 然后a.py又执行第一行代码,即导入b模块,此时,因为第一步的时候b模块对象已经创建,所以不再继续创建模块对象,这里进一步往下
阅读全文
摘要:所有的模块都有一个 __name__属性,__name__的值取决于如何应用模块 在作为独立程序运行,或者主程序时,__name__的值是__main__ 而在其他模块中导入了该模块,__name__则为该模块的名字
阅读全文
摘要:1 #TemperatureConversion 2 3 def c2f(cel): 4 fah = cel * 1.8 + 32 5 return fah 6 7 def f2c(fah): 8 cel = (fah - 32) / 1.8 9 return cel 10 11 #cals 12 13 import Temper...
阅读全文
摘要:生成器以及yield语句最初的引入是为了让程序员可以更简单的编写用来产生值的序列的代码。 以前,要实现类似随机数生成器的东西,需要实现一个类或者一个模块,在生成数据的同时 保持对每次调用之间状态的跟踪,引入生成器之后,这变得非常简单。 python之外,最简单的生成器应该是被称为协程(corouti
阅读全文
摘要:1 #运用python的数学函数 2 3 import math 4 5 def isPrime(n): 6 if n n: 28 return True 29 if n % i == 0: 30 return False 31 32 ...
阅读全文
摘要:1 列表推导式: 2 3 >>> a = [i for i in range(10) if i % 2 == 0] 4 >>> a 5 [0, 2, 4, 6, 8] 6 7 字典推导式: 8 9 >>> b = {i:i % 2 == 0 for i in range(10)} 10 >>> b 11 {0: True, 1: False, 2: True, 3: Fa...
阅读全文
摘要:1 #写一个迭代器,要求输出迄今为止所有的闰年 2 import datetime as dt 3 4 class LeapYear: 5 def __init__(self): 6 self.this_year = dt.date.today().year 7 8 9 def isLeapYear(self,year): 10 ...
阅读全文
摘要:•如果说你希望定制的容器是不可变的话,你只需要定义__len__()和__getitem__()方法。 •如果你希望定制的容器是可变的话,除了__len__()和__getitem__()方法,你还需要定义__setitem__()和__delitem__()两个方法。 •如果说你希望定制的容器是不
阅读全文
摘要:1 import time as t 2 3 class Record: 4 def __init__(self,value= None,name = None): 5 self.value = value 6 self.name = name 7 8 def __get__(self,instance,owner): 9 ...
阅读全文
摘要:描述符就是将某种特殊类型的类的实例指派给另一个类的属性。 __get__(self, instance, owner) –用于访问属性,它返回属性的值 __set__(self, instance, value) –将在属性分配操作中调用,不返回任何内容 __delete__(self, insta
阅读全文
摘要:1 #定义摄氏度的一个类 2 class Celsius: 3 def __init__(self,value = 26.0):#初始化温度为26.0 4 self.value = float(value) #将温度转化为浮点数 5 6 def __get__(self,instance,owner):#定义获取摄氏温度的方法 7 ...
阅读全文
摘要:class Counter: def __init__(self): self.counter = 0 # 这里会触发 __setattr__ 调用 def __setattr__(self, name, value): self.counter += 1 “””既然需要 __setattr__ 调用...
阅读全文
摘要:__getattr__(self,name) 当用户试图访问name,而name属性不存在时就会调用getattr __getattribute__(self,name) 当用户试图访问name时就会调用getattribute __setattr__(self,name,value)当name被设
阅读全文
摘要:1 import time as t 2 3 class Mytimer: 4 5 def __init__(self): 6 self.prompt = '未开始计时' 7 self.unit = ['年','月','日','时','分','秒'] 8 self.begin = 0 9 self.en...
阅读全文