ImageVerifierCode 换一换
格式:DOCX , 页数:82 ,大小:2.85MB ,
资源ID:8807258      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8807258.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Python学习笔记.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Python学习笔记.docx

1、Python学习笔记Python基本数据类型讲解1、python一切皆为对象2、Python一切皆为指针3、基本数据类型Int bool(True False) string list tuple(元组) dict字典4、数据类型的可变与不可变Int bool string 不可变类型List tuple dict 可变类型5、变量赋值一切皆为引用,动态性与动态类型只为何不在动态。Type isinstance字符串认知与应用1、字符串概念2、len之认识3、转义符让文本更好处理 要转义的字符前面加反斜杠4、字符串前面小尾巴到底是什么u”哈哈” Unicode编码r”哈哈” 不转码5、替换字符

2、串 replace6、字符串拼接 join(a,b,c)7、读写文件d=open(文件名 , w)d.write(hi.nsecond hi.)d.close()d=open(文件名 , r)d.readline() / d.read(0)Python基本数据类型讲解1、数据类型与可变类型变量2、再谈字符串 序列到底是什么 1、三个符号的区别,”,” “” 2、如何修改字符串 replace find 3、格式化细究 1、%格式化方式 “this is a %s” % “apple” 2、format格式化方式 “this is a 1 0” .format(“apple” , “my”) “

3、this is a fruit whose” . format(fruit=“apple” , whose=“my”) 3、为什么要用format 4、还有一个方法,字典来了 4、再议打开文件 linecache 1、读文件.getline() 2、读文件.getlines()列表 1、有序的集合 2、通过偏移来索引,从而读取数据 3、支持嵌套 4、可变的类型1、切片 slice a = 1 , 2 , 3, 4, 5, 6, 7 number1:3 2 3正向索引反向索引默认索引2、添加操作 +生成一个新的列表 Extend 接收参数并将该参数的每个元素添加到原有列表中 Append 添加任

4、意对象到列表的末端 Insert 插入任意对象到列表中,可以控制插入位置。3、修改操作修改列表本身只需要直接赋值就行4、删除操作Del 通过索引删除指定位置元素 非函数 例如:del number9Remove 移除列表中指定值的第一个匹配值Pop 返回最后一个元素,并从list中删除5、成员关系:In/not in 我们可以判断一个元素是否在列表里 返回一个bool类型6、列表推导式:expr for iter_var in iterable首先迭代iterable里所有内容,每一次迭代,都把iterable里相应内容放到iter_var中,再在表达式中应用该iter_var的内容,最后用表

5、达式的计算值生成一个列表。比如要生成一个包含1到10的列表x for x in range(1,11)expr for iter_var in iterable if cond_expr只有满足条件才可以生成列表。7、排序翻转 sort reverse1、内置list方法A = “cdc”List(a) 返回一个列表,参数是可迭代对象。里面输出内容还是保持了传入的可迭代对象的元素和顺序.如果参数为空,则返回一个空的列表2、xrange和range的具体区别2.1、xrange的用法Xrange(开始,结束,步长)Range直接生成一个列表对象Xrange“它是生成一个xrange对象Xrang

6、e用法:1、操作一个非常大的数据,而且内存比较吃紧时。2、Xrange一般用在循环里边。简单函数1、def定义函数的关键字2、形参不需要类型修饰3、函数体定义需要:4、函数体整体进行缩进5、函数可以拥有返回值,若无返回值返回None,相当于C中的NULL局部变量与全局变量1、局部变量作用域覆盖全局变量2、函数内有局部变量定义,解释器不使用全局变量,局部变量的定义晚于被引用,报错3、代码体内可以直接访问全局变量4、函数体内修改全局变量,必须使用关键字global表达式算术表达式逻辑表达式关系表达式位运算语法格式缩进表示,函数、分枝、循环。:千万不能丢List列表(数组)元组Tuple(只读列表)

7、字典Dictiontory 键值对Direct help(dict) X = Dict(fdfd , erer) , )X = Dict(“fdf” = “ee”)X.fromkeys(keys, values)方法: keys values() items() get() setdefault(keys,values)集合: set frozenset字符串处理与特殊函数:单引号 双引号 三引号(支持字符串跨行)模块:文档字符串xxxxxxx xxx._doc_ 关键字参数: def hello(name , words) Hello(name=”mmmm” , words=”dfdfdf”

8、)默认参数收集参数lambda 参数:表达式(返回值)filter() map()import syssys.setrecursionlimit(1000000) 递归最大深度在Python类中定义的方法通常有3种:实例方法、类方法、以及静态方法实例方法一般以self做为参数类方法一般以cls做为参数,定义时使用classmethod,那么通过引用的必定是类对象的属性和方法。静态方法不需要默认的任何参数,定义时使用staticmethod引入模块方法:import mathmath.sin(32)或者from math import *sin(32)常量命名时通常使用大写字母,如:NAME=h

9、elloOS模块: 文件操作永久保存(保存为文件)#写Import pickleMylist = Picklefile = open(mylist.pkl , wb)Pickle.dump(Mylist , picklefile)Picklefile.close()#读Picklefile = open(mylist.pkl , rb)Mylist = pickle.load(pickfile)Exception try: except Error as reason: finally: raise Error类型 引发异常Else语句 要么怎样,要么不怎样 if else语句 干完了能怎样,

10、干不完就别想怎样 while else 语句 没有问题,那就干吧 Try: Except Error as reason: Else: with语句(关闭文件)例如:Try: F = open(“hello.txtx” , r) Except OSError as reason: Print(reason)Finally: F.close()Try: With open(“hello.txtx” , r) as fExcept OSError as reason: Print(reason)类的属性与方法我们约定:类名以大写字母开头OO的特征 OOP面向对象编程封装(信息隐蔽技术)继承多态构造

11、方法_init_(self , paramer1, paramer2, .)公有和私有 无关键字,理论上类的方法与属性都是公开的,Python采用了一种name mangling (名字改编 , 名字重组)即添加_即为私有属性。(可以通过 _类名_ 属性访问私有属性)继承:class 子类名(父类名1,父类名2,.) 如果子类中定义与父类名字一样的方法或者属性,则覆盖父类的属性或方法。使用super()函数 super()._init_()类定义、类对象和实例对象属性名与方法名相同,属性覆盖方法。绑定:Python要求方法必须有实力才能被调用,这种限制就是绑定。BIFIssubclass(子类

12、,(父类或父类元组))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模块 属性访问:描述

13、符:将某种特殊类型的类的实例指派给另一个类的属性。特殊类型实现三个方法_get_(seld , instance, owner) 用于访问属性,它返回属性的值。_set_(self, instance, value) 将在属性分配操作中调用,不反回任何内容。_delete_(self , instance) 控制删除操作,不反回任何内容定制容器:协议(编程接口)如果定制的容器不可变,需要定义_len_(self)和_getitem_(self,key)方法。如果定制的容器不可变,需要定义_len_()、_getitem_()、_setitem_(self,key, value)和_delite

14、m_(self, key)方法。迭代器:iter()next()例如:string = “hello”it = iter(string)next(it)生成器:是迭代器的一种实现。普通函数加上yield即可。协同进程就是可以运行的独立函数调用,函数可以暂停或者挂起,并在需要的时候从程序离开的地方继续或者重新开始。 def myGen(): print(hello) yield 1 yield 2结果: next(m)hello1 next(m)2模块:容器:数据的封装函数:语句的封装类:方法和属性的封装模块:程序命名空间:导入模块:第一种: import 模块名第二种:from 模块名 imp

15、ort 函数名第三种:import 模块名 as 新名字 If _name_ = _main_(区分模块与主程序) 搜索路径:import sysSys.pathSys.path.append(“路径”) 添加搜索路径包(package):1、创建一个文件夹。(包名)2、文件夹内创建一个_init_.py文件,可以是空文件。3、导入包 import 包名.模块名Python自己带着电池 Batteries included开发哲学 优雅、明确、简单开发者的哲学 用一种方法,最好是只有一种方法来做一件事Python标准库Import 模块名模块名._doc_dir(模块名) 属性模块名._all

16、_ 调用的方法模块名._file_ 查看文件路径爬虫:Python如何访问互联网。urllib URL + libURL 有三部分组成: 协议 IP地址 资源的具体地址import urllib.requestresponse = urllib.request.urlopen(cat_img = response.read()with open(cat_500_600.jpg, wb) as f: f.write(cat_img)修改headers: 通过Request的headers参数修改通过Request.add_header()方法修改延迟提交时间:import timetime.sl

17、eep()代理:步骤:1、参数是一个字典类型:代理IP:端口号proxy_support = urllib.request.ProxyHandler()2、定制、创建一个openeropener= urllib.request.build_opener(proxy_support)3、安装opener urllib.request.inatall_opener()4、调用openeropener.open(url) 正则表达式:import rere.search(正则表达式, 字符串) 元字符: . $ * + ? | () re.findall(正则表达式, 字符串)如果你需要重复的使用某

18、个正则表达式,那么你可以先将该正则表达式编译成模式对象。我们使用re,compile()来编译。例如:p = pile(r”A-z”) r = p.search(字符串) r.group()Scrapy: Tkinter: TK + Interface (默认GUI库)import tkinterDjango: Python 优点:简单、优雅、明确强大的第三方库易移植面向对象可扩展(CJavaC#.)Python缺点:代码不能加密速度慢Linux编译Python文件时,必须添加一句:#!/usr/bin/env pythonPython解释器:1、Cpython 官方标准2、Ipython3、

19、Jython4、PYPY5、IronPython .net versionPython编程风格:语法要求: 缩进统一 变量 : 大写(常量) 小写(变量)Python数据类型按特征划分:1、数字类型整型 布尔型(True False) 长整型 标准整形非整型 双精度浮点型 复数 decimal(不是內建数据类型)2、序列类型 字符串(str) 元组 列表3、映像类型 字典(dict)4、集合类型可变集合 不可变集合Python注释单行注释:#多行注释 三引号理解字符编码:ASSIC码Unicode码UTF-8码(Python3 默认编码方式)# _*_ coding:utf-8 _*_导入模块

20、: Import 模块名 from模块名 import Import 模块名 as new用户交互:input() 输出的结果是字符串格式化输出:%s %d %f流程控制:if elif else Strip(去掉字符) split(切割 分割) len()while else文件处理的模式:rwa r b 尽量加bw bab File的方法: 方法:close() seek() 确定文件读写位置1. file.seek(off,whence=0):从文件中移动off个操作标记(文件指针),正往结束方向移动,负往开始方向移动。如果设定了whence参数,就以whence设定的起始位为准,0代表

21、从头开始,1代表当前位置,2代表文件最末尾位置。 tell() 回到文件当前位置 next() 迭代方法 = readline() truncate() 截断文件 writelines(列表、元组) 文件内容替换 属性:closed encoding mode name 1、文件写入12345678910111213141516171819202122import timeimport random#打开模式列表:#w 以写方式打开,#a 以追加模式打开 (从 EOF 开始, 必要时创建新文件)#r+ 以读写模式打开#w+ 以读写模式打开 (参见 w )#a+ 以读写模式打开 (参见 a )#

22、rb 以二进制读模式打开#wb 以二进制写模式打开 (参见 w )#ab 以二进制追加模式打开 (参见 a )#rb+ 以二进制读写模式打开 (参见 r+ )#wb+ 以二进制读写模式打开 (参见 w+ )#ab+ 以二进制读写模式打开 (参见 a+ )f = open(tpm.txt, a+)for i in range(10) :f.write(time.strftime(%Y-%m-%d %H:%M:%S)f.write( + str(random.randint(0, i) + n)f.close()2、文件读取123456789101112131415f = open(tpm.txt

23、)# read方式读取s = f.read()print(s, nnn)print(f.tell()#上面读取完后指针移动到最后,通过seek将文件指针移动到文件头f.seek(0)#使用readline每次读取一行while(True):line = f.readline()print(line)if(len(line) = 0):breakf.close()3、文件目录操作(OS包)12345678910111213141516171819202122232425#os模块,处理文件和目录的一系列函数import os#打印当前目录下的所有文件 非递归print(os.listdir(os

24、.getcwd()#切换目录为当前目录os.chdir(.)#判断目标是否存在,不存在则创建if(os.path.exists(./osdirs) = False):os.mkdir(./osdirs)#重命名文件或目录名if(os.path.exists(./os) = False) :os.rename(./osdirs, ./os)#rmdir删除目录,需要先清空文件中的子目录或文件夹#removedirs可多层删除目录(需要目录中无文件) makedirs可多层创建目录if(os.path.isdir(./os) :os.rmdir(./os)#删除文件if(os.path.exist

25、s(./tpm.txt):os.remove(./tpm.txt)os模块中常用方法和属性:属性os.linesep 文件中分割行的字符串os.sep文件路径名的分隔符os.curdir当前工作目录的字符串名称os.pardir父目录字符串名称方法os.remove()删除文件os.rename()重命名文件os.walk()生成目录树下的所有文件名os.chdir()改变目录os.mkdir/makedirs创建目录/多层目录os.rmdir/removedirs删除目录/多层目录listdir()列出指定目录的文件getcwd()取得当前工作目录(current work director

26、y)chmod()改变目录权限os.path.basename()去掉目录路径,返回文件名os.path.dirname()去掉文件名,返回目录路径os.path.join()将分离的各部分组合成一个路径名os.path.split()返回(dirname(),basename()元组os.path.splitext()(返回filename,extension)元组os.path.getatimectimemtime分别返回最近访问、创建、修改时间os.path.getsize()返回文件大小os.path.exists()是否存在os.path.isabs()是否为绝对路径os.path.

27、isdir()是否为目录os.path.isfile()是否为文件4、文件目录操作(shutil包)1234567891011121314151617181920import osimport shutil#复制文件,相当于CP命令shutil.copy(start2.txt, start3)#移动文件或目录,相当于MV命令shutil.move(start3, start4)if(os.path.exists(./a/b/c) = False) :os.makedirs(./a/b/c)#删除目录shutil.rmtree(./a)if(os.path.exists(./a/b/c/d) = False) :os.makedirs(./a/b/c/d)#复制目录if(os.path.exists(b) = False) :shutil.copytree(a, b)shutil中常用方法copyfile( src, dst) 从源src复制到dst中去。当然前提是目标地址是具备可写权限。抛出的异常信息为IOException. 如果当前的dst已存在的话就会被覆盖掉copymode( src, dst) 只

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1