Python基本数据类型解说1、python一切皆为对象2、Python一切皆为指针3、基本数据类型Intbool(TrueFalse)stringlisttuple(元组)dict字典4、数据类型可变与不可变Intboolstring不可变类型Listtupledict可变类型5、变量赋值一切皆为引用,动态性与动态类型只为什么不在动态。Typeisinstance字符串认知与应用1、字符串概念2、len之结识3、转义符让文本更好解决要转义字符前面加反斜杠4、字符串前面小尾巴究竟是什么u”哈哈”Unicode编码r”哈哈”不转码5、替代字符串replace6、字符串拼接join([a,b,c])7、读写文献d=open(‘文献名’,‘w’)d.write(‘hi.\nsecondhi.’)d.close()d=open(‘文献名’,‘r’)d.readline()/d.read(0)Python基本数据类型解说1、数据类型与可变类型变量2、再谈字符串序列究竟是什么1、三个符号区别’’,””,”””“””2、如何修改字符串replace3、格式化细究1、%格式化方式find“thisisa%s”%“apple”2、format格式化方式“thisisa{1}{0}”.format(“apple”,“my”)“thisisa{fruit}{whose}”.format(fruit=“apple”,whose=“my”)3、为什么要用format4、尚有一种办法,字典来了4、再议打开文献linecache1、读文献.getline()2、读文献.getlines()列表1、有序集合2、通过偏移来索引,从而读取数据3、支持嵌套4、可变类型1、切片slicea=[1,2,3,4,5,6,7]number[1:3]23正向索引反向索引默认索引2、添加操作+生成一种新列表Extend接受参数并将该参数每个元素添加到原有列表中Append添加任意对象到列表末端Insert插入任意对象到列表中,可以控制插入位置。3、修改操作修改列表自身只需要直接赋值就行4、删除操作Del通过索引删除指定位置元素非函数例如:delnumber[9]Remove移除列表中指定值第一种匹配值Pop返回最后一种元素,并从list中删除5、成员关系:In/notin咱们可以判断一种元素与否在列表里返回一种bool类型6、列表推导式:[exprforiter_variniterable]一方面迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var内容,最后用表达式计算值生成一种列表。例如要生成一种包括1到10列表[xforxinrange(1,11)][exprforiter_variniterableifcond_expr]只有满足条件才可以生成列表。7、排序翻转sortreverse1、内置list办法A=“cdc”List(a)返回一种列表,参数是可迭代对象。里面输出内容还是保持了传入可迭代对象元素和顺序.如果参数为空,则返回一种空列表2、xrange和range详细区别2.1、xrange用法Xrange(开始,结束,步长)Range直接生成一种列表对象Xrange“它是生成一种xrange对象Xrange用法:1、操作一种非常大数据,并且内存比较吃紧时。2、Xrange普通用在循环里边。简朴函数1、def定义函数核心字2、形参不需要类型修饰3、函数体定义需要:4、函数体整体进行缩进5、函数可以拥有返回值,若无返回值返回None,相称于C中NULL局部变量与全局变量1、局部变量作用域覆盖全局变量2、函数内有局部变量定义,解释器不使用全局变量,局部变量定义晚于被引用,报错3、代码体内可以直接访问全局变量4、函数体内修改全局变量,必要使用核心字global表达式算术表达式逻辑表达式关系表达式位运算语法格式缩进表达,函数、分枝、循环。:千万不能丢List列表(数组)元组Tuple(只读列表)字典Dictiontory键值对Directhelp(dict)X=Dict(((‘fdfd’,‘erer’),))X=Dict(“fdf”=“ee”)X.fromkeys(keys,values)办法:keysvalues()items()get()setdefault(keys,values)集合:setfrozenset字符串解决与特殊函数:单引号双引号三引号(支持字符串跨行)模块:文档字符串‘xxxxxxx’xxx.doc核心字参数:defhello(name,words)Hello(name=”mmmm”,words=”dfdfdf”)默认参数收集参数lambda参数:表达式(返回值)filter()map()importsyssys.setrecursionlimit(1000000)递归最大深度在Python类中定义办法普通有3种:实例办法、类办法、以及静态办法实例办法普通以self做为参数类办法普通以cls做为参数,定义时使用@classmethod,那么通过引用必然是类对象属性和办法。静态办法不需要默认任何参数,定义时使用@staticmethodOS模块:文献操作永久保存(保存为文献)#写ImportpickleMylist=[]Picklefile=open(‘mylist.pkl’,‘wb’)引入模块办法:importmathmath.sin(32)或者frommathimport*sin(32)常量命名时普通使用大写字母,如:NAME=’hello’Picklefile.close()#读Picklefile=open(‘mylist.pkl’,‘rb’)Mylist=pickle.load(pickfile)Exceptiontry:exceptError[asreason]:finally:raiseError类型引起异常Else语句要么如何,要么不如何ifelse语句干完了能如何,干不完就别想如何whileelse语句没有问题,那就干吧Pickle.dump(Mylist,picklefile)例如:Try:Withopen(“hello.txtx”,‘r’)asfExceptOSErrorasreason:ExceptError[asreason]:Else:with语句(关闭文献)类属性与办法咱们商定:类名以大写字母开头OO特性OOP面向对象编程封装(信息隐蔽技术)继承多态构造办法init(self,paramer1,paramer2,......)公有和私有无核心字,理论上类办法与属性都是公开,Python采用Try:Try:F=open(“hello.txtx”,‘r’)ExceptOSErrorasreason:Print(reason)了一种namemangling(名字改编,名字重组)即添加即为私有属性。(可以通过类名属性访问私有属性)继承:class子类名(父类名1,父类名2,.....)如果子类中定义与父类名字同样办法或者属性,则覆盖父类属性或办法。使用super()函数super().init()类定义、类对象和实例对象属性名与办法名相似,属性覆盖办法。绑定:Python规定办法必要有实力才干被调用,这种限制就是绑定。BIFIssubclass(子类,(父类或父类元组))Isinstance(对象类型,(父类或父类元组))Hasattr(对象,属性名)Getattr(object,name[,default])Getattr(A,‘x’,“您所打印属性不存在”)Setattr(object,name,value)Delattr(object,name)(属性设立属性)property(fget,fset,fdel,doc)例如;X=property(getsize,setsize,delsize)构造和析构new(cls[,....])init(self[,....])del(self)time模块属性访问:描述符:将某种特殊类型类实例指派给另一种类属性。特殊类型实现三个办法get(seld,instance,owner)用于访问属性,它返回属性值。set(self,instance,value)将在属性分派操作中调用,不反回任何内容。delete(self,instance)控制删除操作,不反回任何内容定制容器:合同(编程接口)如果定制容器不可变,需要定义len(self)和getitem(self,key)办法。如果定制容器不可变,需要定义len()、getitem()、setitem(self,key,value)和delitem(self,key)办法。迭代器:iter()next()例如:string=“hello”it=iter(string)next(it)生成器:是迭代器一种实现。普通函数加上yield即可。协同进程就是可以运营独立函数调用,函数可以暂停或者挂起,并在需要时候从程序离开地方继续或者重新开始。defmyGen():print(hello)yield1yield2成果:next(m)hello1next(m)2模块:容器:数据封装函数:语句封装类:办法和属性封装模块:程序命名空间:导入模块:第一种:import模块名第二种:from模块名import函数名第三种:import模块名as新名字Ifname=‘main’(区别模块与主程序)搜索途径:importsysSys.pathSys.path.append(“途径”)添加搜索途径包(package):1、创立一种文献夹。(包名)importurllib.requestresponse=urllib.request.urlopen()cat_img=response.read()withopen(cat_500_600.jpg,'wb')asf:2、文献夹内创立一种init.py文献,可以是空文献。3、导入包import包名.模块名Python自己带着电池Batteriesincluded开发哲学优雅、明确、简朴开发者哲学用一种办法,最佳是只有一种办法来做一件事Python原则库Import模块名模块名.docdir(模块名)属性模块名.all调用办法模块名.file查看文献途径爬虫:Python如何访问互联网。urllibURL+libURL有三某些构成:合同IP地址资源详细地址修改headers:.^$*+?{}[]\|()通过Requestheaders参数修改通过Request.add_header()办法修改延迟提交时间:importtimetime.sleep()代理:环节:1、参数是一种字典{类型:代理IP:端标语}proxy_support=urllib.request.ProxyHandler({})2、定制、创立一种openeropener=urllib.request.build_opener(proxy_support)3、安装openerurllib.request.inatall_opener()4、调用openeropener.open(url)正则表达式:importrere.search(正则表达式,字符串)元字符:re.findall(正则表达式,字符串)如果你需要重复使用某个正则表达式,那么你可以先将该正则表达式编译成模式对象。咱们使用re,compile()来编译。例如:p=re.compile(r”[A-z]”)r=p.search(字符串)r.group()Scrapy:Tkinter:TK+Interface(默认GUI库)importtkinterDjango:Python长处:简朴、优雅、明确强大第三方库易移植面向对象可扩展(C\Java\C#........)Python缺陷:代码不能加密速度慢Linux编译Python文献时,必要添加一句:#!/usr/bin/envpythonPython解释