python编程基础之十八】的更多相关文章

正则表达式:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑. 需要引入内置模块re 缺点:效率低下,能用字符串方法完成尽量使用字符串的方法 优点:编码简单 原子  含义 \d 0-9中的任意一个字符 \D 排除0-9 \s \t,\n,\r,空格等字符中的一个 \S 排除\s \w 数字字母下划线 \W   排除\w [] 自定义的原子表 [^] 排除自定义的原子表 ^ 行首,…
字符串的查找和替换常用函数: str.count(sub,start = 0,end = len(str)) 计算sub 在str中出现的次数,[start,end)寻找区间 str.find(str1,start = 0,end = len(str))  从左至右查找str1在str中出现的位置,并返回下标,如果未找到,则返回 -1 str.rfind(str1,start = 0,end = len(str)) 从右至左 str.index(str1,start = 0,end = len(…
时间模块: 时间戳:就是当前是键距离1970年1月1日0:0:0的秒数,后面还带小数,可以说是非常精确 时间的表示形式: a.以整数或者浮点数表示一个以秒为单位的时间间隔,这个时间的基础值1970.1.1的零时零分零秒(时间戳) b.采用Python中的数据结构表示,采用元组,元组中可以有9个不同的元素,表示不同的含义 c.格式化的时间字符串 time 模块: import time #1.获取当前时间戳 t = time.time() #1527506380.6267307 print(t)…
面向对象:三大特征:封装,继承,多态 封装:隐藏对象的实现过程,对外仅仅公开接口,控制在程序中的读取和修改的访问级别 类,函数都是一种封装 属性私有化:当类里面的属性不想被外部访问,可以将这些属性设置为私有属性,只需要家两个下划线'__', 例如:__age,这就是个私有属性,加一个下划线的成为保护属性, 可以直接访问,但是因为是保护属性所以大家对这类属性,不会特意去访问,一般不会访问,都是约定俗成的,没有具体规定要求 class Dog: def __init__(self,name,gend…
文件处理:文件处理包括读文件,写文件 读文件: 1.打开文件 2.读取文件 3.关闭文件 写文件: 1.打开文件 2.写如文件 3.关闭文件 无论是读取文件还是写文件都时需要打开文件,和关闭文件 打开文件: fp = open(file [, mode='r',  encoding=None, errors=None]) file:文件路径,可以是相对路径和绝对路径 mode:文件打开模式 r 只读 w 写之前会清空文件的内容 a 追加的方式,在原本内容中继续写 r+ 可读可写 w+ 打开一个文…
系统的魔术方法:系统的魔术方法特别多,但是也都特别容易懂,简单的讲就是对系统的内置函数进行重写,你需要什么效果就重写成什么样, 比如说len()方法针对的对象本来没有自定义类的对象,但是当你重写了__len()__这个魔术方法时候,就可以对你需要的进行计算了,这个需要积累 这里给个例子吧 class Dog: def __init__(self, l): self.l = [] self.l.extend(l) def __len__(self): return len(self.l) l1 =…
成员方法:成员方法就是一个函数,只是作用域在类内,并且第一个参数必须是self,self代表当前对象, class Dog(object): def bark(self): #成员方法,第一个参数必须是self,代表当前调用对象 print('我是小可爱--丁丁') dingding = Dog() #实例化一个对象 #调用方法,不需要传参数,self是系统传递的 #调用形式: 对象.方法([实参]) dingding.bark() #等价调用形式:bark(dingding) self参数在调…
字符串判断常用函数: str.isalpha()  # 判断是否是全字母 str.isdigit()   # 判断是否是全数字 str.isalnum()  # 判断是否是字母和数字组合 str.isdecimal()  # 判断是否是全数字 str.isnumeric()  # 判断是否是全数字,包含汉字中的数字,例如:一 str.isspace()  # 判断是否是空格 str.islower()  # 判断是否是小写 str.isupper()  # 判断是否是大写 str.startsw…
for in 循环,与其说是循环不如说精确点交遍历 for 变量名 in + 迭代对象 语句A else: 语句B 作用:一次访问迭代对象中的元素并赋值给变量 循环终止时,执行else语句块,如果break打破循环,则else也被打破,也就是说else下面的语句B不会执行 尽量不要在for in 语句中添加或删除元素 range 系统提供的内建函数range(start,end,[step=1]), 生成一个不可变的等差序列[start,end),左闭右开,不支持元素更改,不支持 * 操作 一般…
二维列表 l1 = [[1, 2, 3], [4, 5, 6]] print(l1[0][0]) 列表负值 列表复制为两种:深复制,浅复制 浅复制:只复制容器,容器里的元素不产生副本,只是技术引用增加 深复制:不但复制容器,容器里面的元素也产生副本 对于非容器类型,包括int,float,bool,complex不存在深复制,都是浅复制 l1 = [[1, 2][3, 4][5, 6]] l2 = l1.copy() l3 = copy.copy(11) print(id(l1), id(l1[…