11 2019 档案
摘要:isinstance : 判断一个对象是一个类的实例 # isinstance: # class Foo: # pass # # class Boo: # pass # # foo_obj = Foo() # boo_obj = Boo() # # print(isinstance(foo_obj,
阅读全文
摘要:1.python 类的内置方法 1.__new__: 在__init__触发前自动触发2.__init__: 在调用类产生对象时触发3.__getattr__: 在使用“对象.属性” 获取属性,属性不存在时,自动触发4.__getattribute__: 在使用‘对象.属性’获取属性,无论属性有没有
阅读全文
摘要:1.反射定义 ''' 反射: ******* 反射指的是通过 “字符串” 对 对象的属性进行操作。 - hasattr: 通过 “字符串” 判断对象的属性或方法是否存在。 - getattr: 通过 “字符串” 获取对象的属性或方法。 - setattr: 通过 “字符串” 设置对象的属性或方法。
阅读全文
摘要:1.作用:装饰在类中的方法之上,把类中的方法伪装成类的属性可以通过对象.的方式调用 class Student(object): def __init__(self, name, height): self.name = name @property def weight(self): weight
阅读全文
摘要:1.组合的定义 1.什么是组合? 组合指的是某一个对象拥有一个数据属性,该属性的值是另外一个类的对象。 2.为什么要用组合? 减少代码的冗余。减少了继承的耦合度 3.如何使用组合? 耦合度: 耦: 莲藕 > 藕断丝连 - 耦合度越高: 程序的可扩展性越低。 - 耦合度越低: 程序的可扩展性越高。 总
阅读全文
摘要:1.封装介绍 总结一句话: 把抽象的属性和方法封装到类中,外部可以通过对象或类来调用对外暴露的方法或属性 封装:将属性和方法,封装到对象中 装:是往容器/名称空间里存放名字 封:代表将存放于名称空间中的名字给藏起来,这种隐藏对外不对内 为什么要封装: 封装数据属性,封装函数属性, 1. __开头的属
阅读全文
摘要:1.普通多继承 python3 默认所有的类都继承 object类 为新式类,继承顺序从左向右 2.调用mro 返回的是一个继承序列,super的继承顺序严格遵循mro继承序列 3.钻石继承 :多继承的情况下造成钻石继承 凡是继承object 对象的类都是新式类,python3默认所有的类都继承ob
阅读全文
摘要:1.继承的定义: 被继承的父类必须放在字类上面 python中一个子类可以继承多个父类 继承是创建类的一种方式,新建的类称为字类或派生类,继承的类称为父类或基类 继承的作用: 减少代码冗余 在继承背景下对象属性的查找顺序:对象的名称空间 子类的名称空间 父类的名称空间 2. 派生:指的是字类继承父类
阅读全文
摘要:此篇博客 主在阐述类的几大特性的定义 1.定义 组合:就是一个拥有一个属性,这个属性是另一个类,没有继承关系,旨在将两个类的功能组合起来,或者一个类想调用另一个类的功能 继承:创建类的方式,被继承的类称为父类或基类,继承的类称为子类或派生类 封装:封:存储名称空间私有属性不对外开放 只提供接口 派生
阅读全文
摘要:python解释器作用 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件。要想运行执行此文件就需要python解释器。 python解释器作用 编写python代码保存后,我们会得到一个以.py为扩展名的文本文件。要想运行执行此文件就需要python解释器。 运行python程序
阅读全文
摘要:1.类的实例化: 调用类的过程称之为类的实例化,产生的对象也可以称之为类的一个实例 ''' 调用类产生对象发生的事情: 1.会产生一个空对象的名称空间 2.会自动触发__init__,并且会将对象当做第一个参数传入。 3.会将调用类括号内的参数一并传给__init__(). 4.self代表实例本身
阅读全文
摘要:1.总叔: 类方法 分为两大类三小类: 两大类: 绑定方法: 类方法(classmethod): 绑定给类去使用的方法 类去调用时,会默认把类本身和参数一起传给类方法 实例方法(self):绑定给实例去使用的方法 在类中定义一个函数,如果没绑定任何对象 def func() 默认绑定给实例,调用的时
阅读全文
摘要:一.推导 : 1.创建日志对象 2. 创建handler对象控制输出到控制台或文件 3.创建日志格式 4.为handler对象绑定日志格式 5.为logger对象绑定handler 6.设置日志级别 import logging #介绍 # logging.basicConfig( # # file
阅读全文
摘要:1.调用cmd命令,并在打印台输出 subprocess.Popen() 参数解释: cmd_str: cmd命令 shell=True : 调用shell解释器解释cmd命令 stdout=subprocess.PIPE: 输出正确的数据存放在此内存数据类型PIPE中 stderror=subpr
阅读全文
摘要:import re #博客截图 # 数字字母下划线 print(re.findall('\w','egon 123 + _ - *')) # 非数字字母下划线 print(re.findall('\W','egon 123 + _ - *')) #匹配空白字符 print(re.findall('\
阅读全文
摘要:1.openpyxl模块 excel xlsx格式 openpyxl模块 == xls格式 xlrd + xlwt 读写数据 workbook() sheet cell from openpyxl import Workbook book_obj = Workbook() sheet1 = book
阅读全文
摘要:1.作用:collections 模块 提供(整型 、浮点型、字符串、字典、元组、列表、集合、布尔) 提供一些python八大数据类型 “以外的数据类型”
阅读全文
摘要:序列化:json.dumps 将python对象编码成json字符串 反序列化:json.loads 将已编码的json字符串解码成python对象 json.dump() 直接把python数据类型转化为json字符串 写入json文件 json.load() 直接把json文件读出来,转化为py
阅读全文
摘要:1.random模块 1.获取0-9任意整数 res = random.randint(1, 9) print(res) print(type(res)) 2. 获取0-1之间任意小数 # res2 = random.random() # print(res2) 3. 打乱 、 随机取 # 洗牌 #
阅读全文
摘要:1.os模块 os 直接与系统交互 os.path (系统路径相关) 方法一览 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd os.curdir 返回当前目录: ('.') os.
阅读全文
摘要:1.时间戳 time>time() 从1970 至今过了多少秒 (时间戳、格式化时间、时间对象) print(time.time()) 2. 格式时间 time.strftime(%Y-%m-%d %H-%M-%S) str formate time 格式为字符串 ''' %Y Year with
阅读全文
摘要:1.定义: 模块:用来逻辑上组织python代码(变量,函数,类)实现一个功能,本质就是一个.py文件 包: 本质就是一个含有__init__.py文件的目录 2.模块导入方式: from 包 import 模块 import 模块1,模块2 from 模块 import 函数,变量 from 模块
阅读全文
摘要:1.三元表达式 name=input('姓名>>: ') res='SB' if name == 'alex' else 'NB' print(res) 2.列表推导式 chicken_l=['鸡蛋%s' %i for i in range(5)] 3.生成器表达式 chicken_g=('鸡蛋%s
阅读全文
摘要:1.匿名函数 定义:没有名字的函数,名称空间使用一次就释放 ,一般匿名函数都要配合其它函数去使用,单独使用没有意义 lambda x,y:x+y 冒号前面是参数,后面是返回值 等价于 》 def func(x,y): return x+y 匿名 lambda x,y,z=1:x+y+z #与函数有相
阅读全文
摘要:什么时候用异常处理 只有在错误发生的条件无法预知的情况下,才应该加上try...except 异常的种类 BaseException 所有异常的基类 BaseException: 包含所有built-in exceptions 是 Exception的基类Exception 常规错误的基类 Exce
阅读全文
摘要:1.迭代器 迭代器的两种生成方式: 方式一:可迭代对象调用iter_obj = obj.__iter__() 方式二: 使用生成器 yield 产生迭代器 ''' 1.迭代器 2.生成器 3.三元表达式 4.列表生成式 5.递归与二分法 6.匿名函数 7.内置函数 ''' # 迭代器:迭代的工具 #
阅读全文
摘要:在inner()函数中: # 结合装饰器起飞版来看 1.inner()函数中,在被装饰函数之前添加新功能(执行) 如 用户登录 2.inner()函数中,在被装饰函数之后添加新功能(执行) 如 关闭浏览器,断开数据库连接 3.被装饰函数的前后都添加新功能(执行) 如 用于统计被装饰函数的花费时间 4
阅读全文
摘要:原则: 装饰器去装饰一个函数 :不改变被装饰函数的源代码,不改变被装饰函数的调用方式 # 基础形态 **********这才是终极版************ def wrapper(func): # func函数对象 > 被装饰对象 # *args, **kwargs用于接收被装饰对象的参数 def
阅读全文
摘要:名称空间的加载顺序: 1.启动解释器加载全局名称空间(内置函数等) 2.运行py文件运行全局名称空间(for if while) 3.执行函数运行局部名称空间 1.名称空间(变量,函数,内置函数) """ 什么是名称空间? 存放名字的空间 如果你想访问一个变量值,必须先方向对应的名称空间,拿到名字和
阅读全文
摘要:函数的嵌套定义: 定义:在在函数内部定义函数 ps:函数的名称空间在定义的时候产生 def index(): def home(): print("from home") home() index() 函数的嵌套调用:在函数内调用函数: 原则:1.先定义,后调用,不调用,不执行 实质:先预读函数 不
阅读全文
摘要:1. 函数是一类对象 ## 1. 函数名可以被引用 def index(): print('the test01') a = index #函数名可以被引用 print(a) print(id(index)) a() ## 2.函数名可以当参数传递 def foo(x,y,func): print(
阅读全文
摘要:1. 函数为什么要return : 目的:为了调用,面向对象编程如果没有return将毫无意义,将变成了类似c的面向过程的上下文执行 2. return的常用形式 1、不写return:默认返回None 2、只写return:只有结束函数体代码的效果,返回None 3、写return None :与
阅读全文
摘要:1.概述 编程方式:面向对象&面向过程 函数式编程 面向过程一般没有返回值 例如:c 面向过程 就是执行上下文 没有返回值 函数定义:就是封装好的功能 关键字 def 函数的优点: 优化代码 避免重复,方便修改 通用功能的调用 可重用 一致性 可扩展 2. 函数参数详解(形参,实参),(有参函数,无
阅读全文
摘要:f.seek(offset,whence) offset: 相对偏移度 (光标移动的位数)针对的是字节 whence:指定光标位置从何开始 0:从文件开头 1:从当前位置 2:从文件末尾 f.seek(6, 0) f.seek(-3, 2)简单的例子理解 seek read tell with op
阅读全文
摘要:#算术运算符(加减乘除) a = 9 b = 2 print(a/b) #除以4.5 print(a//b) #取整 4 print(a % b) #取(模)余 print(a ** b) #次幂 # 比较运算(==,!=,>,>=,<,<=) 运算的结果为true 或 false print(a=
阅读全文
摘要:1.eval() 函数 定义:eval() 函数用来执行一个字符串表达式,并返回表达式的值。 简单的描述就是去掉引号,只执行表达式 本质:执行表达式的本质 如果存在运算则返回表达式的值,如果不存在运算则相当于去掉‘’ 取表达式 作用: 1. 将字符串数据类型转换成其它类型 把字符串类型的 列表、字典
阅读全文
摘要:修改文件的两种方式: 1. 第一种方法:在原文件中修改: 先打开文件,把文件内容读出来赋值给一个变量,关闭文件,重新打开文件,把文件内容写到文件中 with open(r'f','r',encoding='utf-8')as f: data = f.read() print(data) print(
阅读全文
摘要:字符转码 python解释器编码unicode 文件编码utf-8 (内存)unicode二进制字符 >>> 编码(encode) >>> (硬盘)utf-8二进制字符 (硬盘)utf-8二进制字符 >>> 解码(decode) >>> (内存)unicode二进制字符 python3 解释器编码默
阅读全文
摘要:1. 文件的打开模式: 文本模式 rt(即r模式,t可以省略不写)、二进制模式 rb r 模式: 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式 w模式: 打开一个文件只用于写入。如果该文件已存在则打开文件,原有内容会被清空,如果文件不存在,则创建文件,从开头编辑 a模式: 打开一个
阅读全文
摘要:1.区别 列表&元组&集合&字典的区别 补充:字符串 :有序 有索引 不可变 字典无序 for 循环key默认正序,集合for 循环出来无序 2. 字符串&列表&元组&集合&字典的区别 (增删改查) 增 字符串:有序、不可变 元组:有序,不可变,如果嵌套列表,则列表可变 集合:无序,可变 add 列
阅读全文
摘要:# 集合基本用法: 去重(集合中不存在重复的元素) 关系运算 # 定义{} 注意:空集合为 set() 其它 {} [] () "" # 常用方法: ''' 合集: | 交集: & 差集: - 对称差集 :^ ''' # 声明:集合中不可能出现两个相同的元素 c1 = {1,2,3,4,5} c2
阅读全文
摘要:# 元组基本方法 # 用途:存储多个不同类型的值(不能存可变类型) # 定义方式:用过小括号存储数据,数据与数据之间通过逗号分隔,(值不能被改变) # 定义容器类型的时候,如果里面只有一个值,在值的后面加上一个逗号***** # 在元组中如果不加,就是字符串 #元组即不可变列表 () l1[0] =
阅读全文
摘要:声明:#字典是一个可变类型:其中key不可变,value可变 格式key:value """1、优先掌握的1、按照key:value映射关系取值(可存可取)2、成员运算in,not in # 默认判断key3、len() # 获取当前字典中键值对的个数""" 1.#字典的三种定义方式 d1 = {'
阅读全文
摘要:列表的增删改 1、索引取值(正反都可以),不仅可以取还可以存 (字符串不只可以取,不可以存) l1 = [1,2,3,4,5,6] print(l1[2]) l1[2] = 3333 print(l1) 2.索引切片 print(l1[1:3])反向切片取奇数 a[::-1]或 sorted(a)取
阅读全文
摘要:字符串格式化的三种方式: print('my name is %s'%name) str1 = "I am {}, age {}".format("yusheng_liang", 20) str1 =f"Hey {name}, there's a {errno} error!" 补充:转义r: r'
阅读全文
摘要:本周学习计划:流程控制,数据类型的内置方法,字符编码,文件,函数 1.if 语句 if 语句基本用法: 2.while循环(表达式为真时,会一直执行,whlie True 可以加入break终止循环 // while i <= 102 ) 注意:与for循环区别 当条件表达式的返回值为真时,则执行循
阅读全文
摘要:Linux 各大目录 1. /bin 可执行文件目录 2. /boot 启动linux使用的一些核心文件 3. /dev 是linux所有外部设备的目录 例如:/dev/hda代表第一个物理IDE硬盘 4. /etc 配置文件目录 5. /home 用户目录 例如:/home/bigbox 6. /
阅读全文
摘要:用户输入 input使用: python2 :要声明输入类型 "bigbox" python3: 不需要声明输入类型 bigbox python2的 raw_input 与 python3 的 input 功能相同 python的基本数据类型 int :python2 int longint pyt
阅读全文
摘要:1.安装虚拟机 1. 安装virtualbox 2. 配置linux虚拟机网络 1. ifconfig 此时ifconfig 无法使用 2. ip addr 使用ip addr 查看时,此时的IP为:127.0.0.1 3. 修改配置文件:vi /etc/sysconfig/network-scri
阅读全文