Python高级编程
douyunqian668
这个作者很懒,什么都没留下…
展开
-
Python Tkinter Text控件随输入自动拓展到尾行
self.text.insert(END, "\r" + string)self.text.focus_force()self.text.see(END)self.text.update()原创 2020-01-17 14:26:35 · 1578 阅读 · 0 评论 -
Python contextmanager原理
原创 2019-12-24 16:41:02 · 237 阅读 · 1 评论 -
工厂模式和抽象工厂模式
:(a)想要追踪对象的创建时,(b)想要将对象的创建与使用解耦时,(c)想要优化应用的性能和资源占用时。原创 2019-10-25 15:33:47 · 128 阅读 · 0 评论 -
Python作业——day01_流程图
原创 2016-01-20 21:18:29 · 603 阅读 · 0 评论 -
20160319正则表达式--001
1.[A-Za-z]表示匹配其中任意一个字母,而[A-Za-z]\w+它后面跟着一个或者更多的字母或者数字组成的。2.在Python正则表达式中有两种匹配方式:一种是search和match.3.匹配字符串 m=re.match("fool","foolbar")4.匹配任意一个正则 m=re.match("fzz|f","foolzz")5.匹配前面出现的正则表达式零次或者多次。原创 2016-03-20 18:11:07 · 748 阅读 · 0 评论 -
Python操作Mysql
#coding=utf-8import xlwt,MySQLdb#第一步创建连接coon=MySQLdb.connect(host='127.0.0.1',user='host',passwd='',db='test',port=3306)#第二步创建游标cuor=coon.cursor()#插入数据cuor.execute("insert into msg (title,name,原创 2016-05-26 11:42:11 · 385 阅读 · 0 评论 -
urllib使用
>>> filename=urllib.urlretrieve(url,r"D:\code\sogou.html")>>> url2=r'http://www.baidu.com/!@#'>>> urllib.quote(url2)'http%3A//www.baidu.com/%21%40%23'>>> urllib.quote_plus(url2)'http%3A%2F%2原创 2016-05-26 12:54:06 · 375 阅读 · 0 评论 -
urllib2模拟header请求来躲过登录
import urllib,urllib2import base64url=r"https://www.baidu.com/"base64String=base64.encodestring("bobo3520:4565892").strip()#删除换行符authheader="Basic "+base64Stringreq=urllib2.Request(url)req.add_原创 2016-05-27 09:43:31 · 335 阅读 · 0 评论 -
Python urlparse模块
#urlparse主要是讲url拆分为6部分,并返回元祖url="https://www.baidu.com/user/index.html;20?name=zz&age=18#8888"parseMethod=urlparse.urlparse(url)print(parseMethod)print parseMethod[0]print parseMethod[1]print pa原创 2016-05-27 09:50:01 · 280 阅读 · 0 评论 -
Python操作Excel之xlrd
import xlrdworkbooks=xlrd.open_workbook("test.xlsx")print(workbooks.sheet_names())#获取sheet页的名称sht=workbooks.sheets()[0]#第一种sht=workbooks.sheet_by_index(0)#第二种方式sht=workbooks.sheet_by_name("Sheet1原创 2016-05-31 14:08:57 · 369 阅读 · 0 评论 -
Python爬虫
weburl = "http://www.douban.com/"content=urllib.urlopen(weburl).read()ppp=r'"(https://img3.doubanio.com/.*?[\.jpg|\.png|\.gif]")'mind=re.findall(ppp,content)x=0for i in mind: print(i) url原创 2016-05-31 14:09:33 · 319 阅读 · 0 评论 -
Python操作Excel之xlwt
#写入import xlwtworkbook=xlwt.Workbook()sheetn=workbook.add_sheet(u"测试数据",cell_overwrite_ok=True)sheetn.write(0,0,u"中国")sheetn.write(1,0,u"美国")sheetn.write(2,0,u"德国")style=xlwt.XFStyle()ft=xlwt原创 2016-05-31 14:10:16 · 438 阅读 · 0 评论 -
Python网络编程
1.套接字的使用TCP/IP协议中的TCP和UDP协议都通过一种名为套接字的socket来实现网络功能。不论是客户端还是服务端为了建立网络通信,都要创建套接字对象2.在Python标准库中,使用socket模块中提供的socket对象,就可以在计算机网络中建立服务端和客户端。例子:建立服务端#创建端口和ipHOST=""PORT=10888import so原创 2016-06-24 23:38:13 · 258 阅读 · 0 评论 -
python urllib访问网站
from urllib.request import urlopenfrom urllib.parse import urlencodeimport rewd='python'wd=urlencode({"wd":wd})url="http://www.baidu.com/s?"+wdpage=urlopen(url).read()content=(page.decod原创 2016-06-25 11:14:51 · 321 阅读 · 0 评论 -
Python断行
例子:if a>0:print('+')缩进的语句只有一条而写在同一行else:print('-')缩进的语句只有一句就写在同一行当然如果Python代码中一条语句过长或者为了机构清晰而不能或者不方便写入同一行内可以这样写:print('I am a teacher,'\ first_name,\ last_name)注意使用原创 2016-06-04 17:54:21 · 965 阅读 · 0 评论 -
Python类的属性
1.Python语言中类的属性有两类实例属性类属性2.实例属性即同一个类的不同实例,其值是不相关联的,也不会相互影响,定义时使用self.属性名调用它时也使用它,类属性则是同一个类的所有实例所共有的。直接在类中独立定义,引用的时候需要使用类名.类变量名,形式来引用,,只要是某个实例对其进行修改就会影响到它的所有这个类的实例class Demo_Property: cl原创 2016-06-13 22:23:57 · 411 阅读 · 0 评论 -
Python类成员方法与静态方法
Python中类属性有类属性和实例属性之分,类的方法也有不同的种类实例方法类方法静态方法例子:class DemoMthd(): @staticmethod#静态方法 def static_mthd(): print("调用了静态方法") @classmethod#类方法 def class_mthd(cls):原创 2016-06-13 22:47:57 · 265 阅读 · 0 评论 -
Python多重继承
class PrintA: namea="PrintA" def set_value(self,a): self.a=a def set_namea(self,namea): PrintA.namea=namea def info(self): print("PrintA:%s,%s"%(PrintA.n原创 2016-06-13 23:19:31 · 421 阅读 · 0 评论 -
Python 线程只join
__author__ = 'Administrator'import threadingimport timedef thrfun(x,y,thr=None): if thr: thr.join() else: time.sleep(2) for i in range(x,y): result=eval原创 2016-06-29 22:27:14 · 333 阅读 · 0 评论 -
python 线程锁的例子线程同步————1
#线程锁的简单例子import threadingimport timex=0lock=threading.RLock()class myThread(threading.Thread): def run(self): global x lock.acquire() for i in range(3):原创 2016-06-29 23:00:40 · 383 阅读 · 0 评论 -
Python线程Event
import threadingimport timeevent=threading.Event()class MythreadA(threading.Thread): def run(self): event.wait() print(self.name,":Good Morning") event.clear()原创 2016-06-29 23:18:48 · 294 阅读 · 0 评论 -
python 进程
Python虽然支持多线程应用程序的应用程序的创建,但是Python解释器使用了内部的全局解释器锁定但是可以使用Python的多进程模块将工作分诶给不受锁定限制的单独子进程例子subprocess模块__author__ = 'Administrator'import subprocess#cmd命令的好帮手print("Call() test",subprocess.ca原创 2016-06-29 23:51:49 · 296 阅读 · 0 评论 -
Python 的Except 异常处理
def testTryAll(index,i): stulst=["John","Jenny","Tom"] try: print(len(stulst[index])/i) except IndexError: print("Error")print("Try all ... Right")testTryAll(1,2)原创 2016-06-14 23:06:09 · 824 阅读 · 0 评论 -
python 操所sqlite3
__author__ = 'Administrator'import sqlite3,randomsrc="qwertyuiopasdfghjklzxcvbnm"def get_str(x,y): str_sum=random.randint(x,y) astr="" for i in range(str_sum): astr+=ra原创 2016-06-30 23:42:17 · 295 阅读 · 0 评论 -
包
1.包中的模块要引用同一级别目录的另一个模块,直接导入2.如果一个模块要调用其他同级别包的另一模块,就必须从父包上级开始导入,3.如果一个模块要调用其他目录下子包中某个模块。可以使用相对导入的方式,from .sub import suba.py4.import randomrandom.shuffle(list)就是对List进行乱排序原创 2016-06-15 22:33:55 · 244 阅读 · 0 评论 -
Python类的继承
class Ant: def __init__(self,x=0,y=0,color="red"): self.x=x self.y=y self.color=color def crawl(self,x,y): self.y=y self.x=x print("爬行")原创 2016-06-13 23:01:36 · 273 阅读 · 0 评论 -
Python操作sqllite3
import sqlite3#操作Sqlite3con=sqlite3.connect(r"F:\\baidu download\\test.db")cour=con.cursor()# cour.execute("create table mytab(id integer primary key autoincrement not null,name text,passwd原创 2016-07-02 14:57:27 · 781 阅读 · 0 评论 -
Python操作splite3的例子
__author__ = 'Administrator'import sqlite3def inser(*args,**kwargs): ''' 增加数据输入 ''' #print(args) cour.execute("insert into mytest(name,telephone,phone,email,qq)values(?,?,原创 2016-07-02 21:21:51 · 1643 阅读 · 0 评论 -
URL传递参数
__author__ = 'Administrator'import flaskapp=flask.Flask(__name__)@app.route("/hello/")def helo(name): return "你好"+name+"!"if __name__=="__main__": app.run()http:/原创 2016-07-03 09:10:22 · 383 阅读 · 0 评论 -
python GET POST 传递参数例子
import flaskhtml_text=""" 得到GET请求 """app=flask.Flask(__name__)@app.route("/hel原创 2016-07-03 09:57:37 · 1222 阅读 · 0 评论 -
使用cookie跟踪用户例子
import flaskhtml_text=""" 收到get请求 获得cookie信息 """app=flask.Flask(__name__)@app.route("/set_info/")def hello(name):原创 2016-07-03 11:06:31 · 1225 阅读 · 0 评论 -
Python flask使用templates 和static文件
__author__ = 'Administrator'#使用静态页面资源和页面文件import flaskapp=flask.Flask(__name__)@app.route("/hello")def gd(): return flask.render_template('index.html')if __name__=="__main__": ap原创 2016-07-03 11:46:31 · 2756 阅读 · 0 评论 -
Python flask使用templates 和static文件
__author__ = 'Administrator'#使用静态页面资源和页面文件import flaskapp=flask.Flask(__name__)@app.route("/hello")def gd(): return flask.render_template('index.html')if __name__=="__main__": ap原创 2016-07-03 11:46:42 · 2115 阅读 · 2 评论 -
day——05 迭代器,生成器
__author__ = 'Administrator'#format字符串格式化#例子s1="fdsfdsfs{0},Im a {0},I am".format("123","Dou")s2="-----{name:s}====={age:d}============{name:s}".format(name="Alex",age=26)#上面的s代表字符串,d代表数字s原创 2016-07-03 21:41:24 · 277 阅读 · 0 评论 -
自定义迭代器
class MyIterator: def __init__(self,x=2,xmax=100): self.__mul,self.__x=x,x self.__xmax=xmax def __iter__(self):#定义迭代器协议的方法,返回类自身 return self def __next__(self原创 2016-06-18 10:45:07 · 289 阅读 · 0 评论 -
内建迭代器函数第一个iter
class Counter: def __init__(self,x=0): self.x=xcounter=Counter()def used_iter(): counter.x+=2 return counter.xfor i in iter(used_iter,8): print("本次遍历的数值:",i)代码定义一个原创 2016-06-18 10:52:42 · 253 阅读 · 0 评论 -
代码说明
1.函数中引用的全局变量始终是定义该函数模块中的全局变量。‘import sys,ossys.path.append(os.getcwd())from foo import fo_funname="Current module"def bar(): print("当前模块中函数bar:") print("变量name",name)def call_foo原创 2016-06-18 18:45:45 · 309 阅读 · 0 评论 -
闭包概述的例子
def foo(): x=3 def bar(): print("x is %d"%x) bar()if __name__=="__main__": foo()在foo()里面bar()函数用的是闭包里面的x的值闭包与延迟求值def delay_fun(x,y): def caculator():原创 2016-06-18 20:03:20 · 242 阅读 · 0 评论 -
通过了装饰器contextmanager实现的上下文管理器,
import contextlib@contextlib.contextmanagerdef my_mgr(s,e): print(s) yield s+" "+e print(e)if __name__=="__main__": with my_mgr("Start","End") as f: print(f)原创 2016-06-18 20:36:43 · 477 阅读 · 0 评论 -
重载类的特殊方法
1.在Python中,类中有一些以两条下划线开始并且以两条下划线结束的方法,称之为为的专有方法,专有方法时针对类的特殊操作的一些方法,代码示例如下:2.鸭子类型 与多态class Duck: def __init__(self,name="duck"): self.name=name def quack(self): prin原创 2016-06-18 22:02:57 · 343 阅读 · 0 评论