自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

onepiSya

我们每天坚持的日常都是奇迹的一部分。

  • 博客(114)
  • 资源 (2)
  • 收藏
  • 关注

原创 特殊方法和特殊属性一览

文章目录特殊方法和特殊属性一览官方的文档特殊属性或者方法介绍1. 基本定制`object.__new__(cls[, ...])``object.__init__(self[, ...])``object.__del__(self)``object.__repr__(self)``object.__str__(self)``object.__bytes__(self)``object.__format__(self, format_spec)``object.__lt__(self, other)`obje

2021-06-01 01:19:14 564 1

转载 我常用的两个python文档

官方中文文档](https://docs.python.org/zh-cn)一个很好的中文文档翻译版本。我觉得打基础的朋友可以 看下。术语表python常见问题通用python常见问题。编程常见问题目录编程常见问题一般性问题是否有带有断点、单步执行等的源代码级调试器?有没有工具可以帮助查找错误或执行静态分析?如何从Python脚本创建独立的二进制文件?是否有针对Python程序的编码标准或样式指南?核心语言当变量有值时,为什么我会得到unboundloca

2021-03-30 16:18:47 287

原创 8_future_threading_multiprocessing的封装(线程进程的高级api)

文章目录resource使用future处理并发例子(本章基本完全来自 `fluntpython` 这本书。)依序下载异步下载阻塞型 I/O 和 GIL使用 concurrent.futures 模块启动进程实验 Executor.map 方法显示下载进度并处理错误测试服务器配置1. Unpack test data(解压测试数据)2. Install Nginx(安装Nginx)3. Configure Nginx(配置Nginx)4. Install and run Vaurien(安装和运行Vauri

2020-11-21 19:28:20 529

原创 7_协程_yield_yield from_一个简单爬虫的例子

协程asyncio 官方文档asyncio 文档协程的概念协程, 又称微线程, 纤程。 英文名 Coroutine, 是一种用户态的轻量级线程。子程序, 或者称为函数, 在所有语言中都是层级调用, 比如 A 调用 B, B 在执行过程中又调用了 C, C 执行完毕返回, B 执行完毕返回, 最后是 A 执行完毕。所以子程序调用是通过栈实现的(先进后出), 一个线程就是执行一个子程序。 子程序调用总是一个入口, 一次返回, 调用顺序是明确的。而协程的调用和子程序不同。线程是系统级别的它们由操作

2020-11-17 09:28:55 505

原创 6_python 高阶函数_装饰器

文章目录函数式编程和 高阶函数mapreduce初始化参数filtersorted72.嵌套函数(内部函数)小示例代码1闭包什么时候使用闭包装饰器其实装饰器就是闭包flask里面装饰器传递参数 @route("/index")在类 class 里面使用装饰器偏函数函数式编程和 高阶函数# 函数式编程和 高阶函数# 高阶函数1. 变量可以指向函数本身2. 函数名 也是变量# 示例# 求-10 的绝对值print(abs(-10))print(abs)# abs 是指向一个函数,也就

2020-10-17 15:36:52 300

原创 5_1_并发编程_多线程_多进程

多线程_多进程区别进程线程根本区别作为资源分配的单位调度和执行的单位开销每一个进程都有独立的代码和数据空间,进程间的切换会有较大的开销线程可以看出是轻量级的进程,多个线程共享内存,线程切换的开销小所处环境在操作系统中,同时运行的多个任务在程序中多个顺序流同时执行分配内存系统在运行的时候为每一个进程分配不同的内存区域线程所使用的资源是他所属进程的资源包含关系一个进程内可以拥有多个线程线程是进程的一部分,所有线程有时候称为是轻量级的进程多

2020-10-12 13:04:11 279

原创 4_网络编程(socket)

文章目录网络编程基本概念ip地址 与端口ipv4地址分类局域网ipv6端口网络通信协议OSI 模型TCP/IP 模型tcp 通信连接过程tcp 三次握手tcp 和 udp 编程`UDP` 接收数据`UDP` 示例udp实现简单聊天循环接收实现聊天UDP(TFTP 客户端 服务器)请求过程`TFTP`下载器客户端格式字符串实现代码`TFTP`下载器 客户端`TCP`服务器端 接收数据网络编程基本概念ip地址 与端口ipv4目前常见的都是 ipv4当然也有ipv6地址分类A 类 0网络号7

2020-10-08 11:52:50 346

原创 3_3_mongodb 的简单使用。

文章目录可视化软件MongoDB概念介绍SQL与MongoDB对比MongoDB三元素:基本操作命令pymongo使用命令行操作mongodb查看帮助查询数据删除数据导入数据更新命令行批量删除关于 find 和 agg group分组的性能 对比 测试代码基础的一些`mongo`命令使用示例插入多条数据基础查询语句查找特定的 字段遍历结果完全匹配查询点语法使用嵌入式字段和比较运算符读取数据小于符号读取数据使用复合查询读取数据写一个"or"查询。使用多个复合子句检索数据基础更新语句更新库存集合中的单个文档。更

2020-10-06 12:39:53 329

原创 3_2 mysql数据库_python操作_简单的增删查改

文章目录一些笔记和链接工具连接 数据库创建表python mysql数据库插入数据插入多条数据查询数据查询所有数据查询一条数据删除数据修改数据更新数据库mysql命令行建表插入删除查询修改简写tips一些笔记和链接常用sql 语法查询 更加详细的请看 我的 云笔记我看的那本漫画书写的笔记。常用 操作 是够了的。我的看书笔记 写的非常详细,有需要的可以自己去看看。菜鸟教程 sql 教程mysql 常用建表操作最后是此文章帮我解决了问题mysql cmd 常用命令 (一般登录都是直接

2020-10-05 21:01:35 276

原创 3_1_python操作数据库(sqllite3)

文章目录操作 SQLite3数据库创建表插入数据插入一条数据插入多条数据查询数据查询所有数据查询一条数据删除数据删除数据库简单的sqllite 语法- 文档查询操作 SQLite3数据库导入相关库或模块(SQLite3)。使用connect()连接数据库并获取数据库连接对象。它提供了以下方法:.cursor() 方法来创建一个游标对象.commit() 方法来处理事务提交.rollback() 方法来处理事务回滚.close() 方法来关闭一个数据库连接使用con.curso

2020-10-04 04:36:54 339

原创 2_Gui_Tkinter(python标准库)

文章目录官方文档介绍`Tkinter` 的GUI组件关系常用组件汇总列表常见的GUI库第一个`tkinter` `gui` 程序经典的GUi程序写法`Label` 标签`Button` 按钮`entry` 单行文本在这里插入图片描述![在这里插入图片描述](https://img-blog.csdnimg.cn/20200929015909936.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0c

2020-10-02 01:54:07 1535 2

原创 1_正则表达式(python)

文章目录介绍例子其他简单例子常用操作符(`.`,`*`,`{}`,`?`,`+`,`^`...)常用匹配字符串匹配某个字符串`.` 点 , 匹配符任意的字符任意的数字 `\d``\s` 匹配空白的字符任意的非数字 `\D``\w` 匹配的是 a-z 和A-z 以及数字0-9和下划线`\W` 匹配 大小写字母 数字 和 下划线 以外的字符`*`匹配多个字符`?` 问号 匹配一个或者0个字符`{m}`匹配m个字符`{m,n}` 匹配 m到n个字符`{m,} {,n}` 实现 长度的大于等于, 小于

2020-09-26 17:59:23 1470 1

原创 101_尾声

写到这里,python 基础的一些语法。包括一些常见的用法,概念我都写完了。后面的话就是一些其他的知识,我相信,大家有了这些基础,后面的知识都可以自学了。我接下来准备写一些稍微进阶一点的。大致如下:正则表达式GUI数据库网络编程多线程和并发协程和异步高阶函数有兴趣的朋友可以关注我的博客。...

2020-09-25 19:44:42 174

原创 100_异常

文章目录异常处理traceback 和 异常处理测试自定义异常常见内置异常 - python 官方文档try- 语句陈述 - 官网文档 - 复合语句异常处理一些 示例可以跟着敲一敲# try + finally # it's workIn [1]: try: ...: print("onepis") ...: finally: ...: print("end") ...:onepisend# try + except + finally #

2020-09-24 22:29:10 158

原创 98_module(模块)

先 占个 位置。 我写错 顺序 。 先把 包 写了 。 该 先写 模块的。

2020-09-22 18:03:40 309

原创 99_包(package)

文章目录1. 模块化编程的一般流程:2. 包 (package)导入包3. `sys.path`和模块的搜索目录4. venv 就是 虚拟环境5. 模块的发布和安装本地安装模块网站发布【注】上传并远程发布管理你的模块6. 常用第三方库大汇总音频视频 多媒体库ffmpeg1. 模块化编程的一般流程:设计 API,进行功能描述。编码实现 API 中描述的功能。在模块中编写测试代码,并消除全局代码。使用私有函数实现不被外部客户端调用的模块函数。import #导入模块,也就是文件from im

2020-09-22 18:01:53 648 2

原创 97_设计模式_单例模式实现(单例_工厂_结合_整合)

101.设计模式_单例模式实现 单例模式(Singleton Pattern)的核心作用是确保一个类只有一个实例,并且提供一 个访问该实例的全局访问点。 单例模式只生成一个实例对象,减少了对系统资源的开销。当一个对象的产生需要比较 多的资源,如读取配置文件、产生其他依赖对象时,可以产生一个“单例对象”,然后永久 驻留内存中,从而极大的降低开销。 单例模式有多种实现的方式,我们这里推荐重写__new__()的方法。__new__ 特殊方法定制 - python 中文 - 文档因为 __new__()

2020-09-21 15:55:08 395

原创 96_设计模式_工厂模式实现(简单实现)

100.设计模式_工厂模式实现  设计模式是面向对象语言特有的内容,是我们在面临某一类问题时候固定的做法,设计 模式有很多种,比较流行的是:GOF(Goup Of Four)23 种设计模式。当然,我们没有 必要全部学习,学习几个常用的即可。  对于初学者,我们学习两个最常用的模式:工厂模式和单例模式。 工厂模式实现了创建者和调用者的分离,使用专门的工厂类将选择实现类、创建对象进 行统一的管理和控制。# 工厂模式# 测试工厂模式class CarFactory: # factory 就是工

2020-09-21 15:29:41 107

原创 95_组合(类的套娃,和高阶函数概念差不多)

99.组合  “is-a”关系,我们可以使用“继承”。从而实现子类拥有的父类的方法和属性。“is-a” 关系指的是类似这样的关系:狗是动物,dog is animal。狗类就应该继承动物类。   “has-a”关系,我们可以使用“组合”,也能实现一个类拥有另一个类的方法和属性。” has-a”关系指的是这样的关系:手机拥有 CPU。 MobilePhone has a CPU。(类的套娃,可以理解为高阶函数的 类的实现。高阶函数是 函数作为参数,这里是 类的实例作为参数。)两种方式都可以起到代码 复

2020-09-21 15:23:46 265

原创 94_对象的浅拷贝和深拷贝

98.对象的浅拷贝和深拷贝变量的赋值操作   只是形成两个变量,实际还是指向同一个对象。浅拷贝   Python拷贝一般都是浅拷贝。拷贝时,对象包含的子对象内容不拷贝。因此,源对象 和拷贝对象会引用同一个子对象。深拷贝   使用copy模块的 deepcopy 函数,递归拷贝对象中包含的子对象。源对象和拷贝对象 所有的子对象也不同。测试对象的浅拷贝和深拷贝class MobilePhone: def __init__(self, cpu, screen)

2020-09-21 15:07:49 87

原创 93_特殊属性

97.特殊属性python - 特殊属性 - 文档Python对象中包含了很多双下划线开始和结束的属性,这些是特殊属性,有特殊用法。这 里我们列出常见的特殊属性:测试代码class A: passclass B: passclass C(B, A): def __init__(self, nn): self.nn = nn def cc(self): print("cc")c = C(3)print(dir(

2020-09-20 14:42:31 203

原创 92_特殊方法(魔术方法)和运算符重载

96.特殊方法(魔术方法)和运算符重载python - 特殊方法查找-文档1python - 特殊方法-文档2Python的运算符实际上是通过调用对象的特殊方法实现的。比如:测试代码1a = 20b = 30c = a+bd = a.__add__(b)print("c=", c)print("d=", d)测试代码2class Person: def __init__(self, name): self.name = name def _

2020-09-20 14:31:37 218

原创 91_多态

95.多态多态(polymorphism)是指同一个方法调用由于对象不同可能会产生不同的行为。在现实 生活中,我们有很多例子。比如:同样是调用人的休息方法,张三的休息是睡觉,李四的休 息是玩游戏,高淇老师是敲代码。同样是吃饭的方法,中国人用筷子吃饭,英国人用刀叉吃 饭,印度人用手吃饭。关于多态要注意以下2点:多态是方法的多态,属性没有多态。多态的存在有2 个必要条件:继承、方法重写。class Man: def eat(self): print("饿了,吃饭啦!")

2020-09-20 14:22:14 249

原创 90_ super()获得父类定义

94.super()获得父类定义在子类中,如果想要获得父类的方法时,我们可以通过 super()来做。super() 代表父类的定义,不是父类对象。spuer方法官方使用手册super-官方中文文档# 测试super(),代表父类的定义,而不是父类的对象class A: def say(self): print("A:", self)class B(A): def say(self): # A.say(self) su

2020-09-19 16:44:00 440

原创 89_多重继承

93.多重继承Python支持多重继承,一个子类可以有多个“直接父类”。这样,就具备了“多个父 类”的特点。但是由于,这样会被“类的整体层次”搞的异常复杂,尽量避免使用。# 测试多重继承 class A: def aa(self): print("aa")class B: def bb(self): print("bb")class C(B, A): def cc(self): print("

2020-09-19 16:36:52 113

原创 88_object根类

92.object根类object 类是所有类的父类,因此所有的类都有object 类的属性和方法。我们显然有必要深 入研究一下object 类的结构。对于我们继续深入学习Python 很有好处。dir()查看对象属性为了深入学习对象,我们先学习内置函数dir(),他可以让我们方便的看到指定对象所有的 属性。从上面我们可以发现这样几个要点:Person对象增加了六个属性:__dict__ , __module__, __weakref__, age, name, say_ageobject的

2020-09-18 15:06:45 202

原创 87_类成员的继承和重写

文章目录91.类成员的继承和重写查看类的继承层次结构91.类成员的继承和重写成员继承:子类继承了父类除构造方法之外的所有成员。方法重写:子类可以重新定义父类中的方法,这样就会覆盖父类的方法,也称为“重写”【操作】继承和重写的案例class Person: def __init__(self, name, age): self.name = name self.__age = age # 私有属性 def say_age(self):

2020-09-18 14:52:10 213

原创 86_继承

文章目录90.继承语法格式90.继承  继承是面向对象程序设计的重要特征,也是实现“代码复用”的重要手段。  如果一个新类继承自一个设计好的类,就直接具备了已有类的特征,就大大降低了工作 难度。已有的类,我们称为“父类或者基类”,新的类,我们称为“子类或者派生类”。语法格式Python支持多重继承,一个子类可以继承多个父类。继承的语法格式如下:class 子类类名(父类 1[,父类 2,...]): 类体  如果在类定义中没有指定父类,则默认父类是object类。也就是说,obj

2020-09-17 12:36:12 115

原创 85_面向对象进阶

文章目录89.面向对象进阶面向对象三大特征介绍封装(隐藏)继承多态89.面向对象进阶面向对象三大特征介绍Python是面向对象的语言,也支持面向对象编程的三大特性:继承、封装(隐藏)、多态。封装(隐藏)  隐藏对象的属性和实现细节,只对外提供必要的方法。相当于将“细节封装起来”,只 对外暴露“相关调用方法”。   通过前面学习的“私有属性、私有方法”的方式,实现“封装”。Python 追求简洁的 语法,没有严格的语法级别的“访问控制符”,更多的是依靠程序员自觉实现。继承  继承可以让子类具有

2020-09-17 11:30:52 97

原创 84_@property装饰器

文章目录88.@property装饰器普通的创建属性的方式使用装饰器创建 属性(增删查改都实现了)88.@property装饰器@property 可以将一个方法的调用方式变成“属性调用”。下面是一个简单的示例,让大 家体会一下这种转变:也就是访问的时候 无需加括号 执行函数。一般用来给我们的属性增加 get# 简单测试 @propertyclass Employee: @property def salary(self): print('salary r

2020-09-16 12:05:45 136

原创 83_私有属性和私有方法(实现封装)

87.私有属性和私有方法(实现封装)Python对于类的成员没有严格的访问控制限制,这与其他面向对象语言有区别。关于私有 属性和私有方法,有如下要点:通常我们约定,两个下划线开头的属性是私有的(private)。其他为公共的(public)。类内部可以访问私有属性(方法)类外部不能直接访问私有属性(方法)类外部可以通过“_类名__私有属性(方法)名”访问私有属性(方法)【注】方法本质上也是属性!只不过是可以通过()执行而已。所以,此处讲的私有属性和公 有属性,也同时讲解了私有方法和公有方法的

2020-09-15 20:12:10 138

原创 82_方法没有重载(其他语言有,python没有)

86.方法没有重载  在其他语言中,可以定义多个重名的方法,只要保证方法签名唯一即可。方法签名包含 3 个部分:方法名、参数数量、参数类型。  Python中,方法的的参数没有声明类型(调用时确定参数的类型),参数的数量也可以由 可变参数控制。因此,Python中是没有方法的重载的。定义一个方法即可有多种调用方式(参数数量,参数类型,都可变), 相当于(变相的)实现了其他语言中的方法的重载。  如果我们在类体中定义了多个重名的方法,只有最后一个方法有效。建议:不要使用重名的方法!Python中方法没

2020-09-14 17:14:58 118

原创 81_ __call__方法和可调用对象

85.__call__方法和可调用对象定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。可以理解为 实例化 之后的对象 再 加个 括号 。 就可以当做方法调用比如 Student()() 这种方式# __call__方法'''# 定义了__call__方法的对象,称为“可调用对象”,即该对象可以像函数一样被调用。a = 30b = 50c = a+bd = a.__add__b 真正 执行的 是这样的# 测试 可调用方法 __c

2020-09-14 16:53:55 201

原创 80_ __del__方法(析构函数)和垃圾回收机制

84.__del__方法(析构函数)和垃圾回收机制  __del__方法称为“析构方法”,用于实现对象被销毁时所需的操作。比如:释放对象 占用的资源,例如:打开的文件资源、网络连接等。   Python实现自动的垃圾回收,当对象没有被引用时(引用计数为 0),由垃圾回收器 调用__del__方法。   我们也可以通过del 语句删除对象,从而保证调用__del__方法。   系统会自动提供__del__方法,一般不需要自定义析构方法。# 简单写一下 析构函数 测试# 析构方法 测试# 用于销毁对象

2020-09-14 16:41:13 113

原创 79_类方法

83.类方法类方法是从属于“类对象”的方法。类方法通过装饰器@classmethod来定义,格式如下:@classmethod def 类方法名(cls [,形参列表]) : 函数体 # 可以理解为 无需实例化对象。就可以直接通过 类名.方法名() 来访问的方法 要点如下:@classmethod必须位于方法上面一行第一个cls 必须有;cls指的就是“类对象”本身;(和self指的是实例对象本身有异曲同工之处)调用类方法格式:“类名.类方法名(参数列表)”。 参数列表中

2020-09-13 20:28:20 185

原创 78_内存分析实例对象和类对象创建过程(重要)

82.内存分析实例对象和类对象创建过程(重要)我们以下面代码为例,分析整个创建过程,让大家对面向对象概念掌握更加深刻:class Student: company = "海贼王" #类属性 count = 0 #类属性 def __init__(self,name,score): self.name = name #实例属性 self.score = score Student.count = Student.co

2020-09-11 09:58:10 140

原创 77_类属性

81.类属性类属性是从属于“类对象”的属性,也称为“类变量”。由于,类属性从属于类对象,可以 被所有实例对象共享。类属性的定义方式:class 类名: 类变量名= 初始值在类中或者类的外面,我们可以通过:“类名.类变量名”来读写。【操作】 类属性的使用测试# 类属性(也就是 模具 的 属性 或者叫 变量, 可以被所有 实例对象(创建的饼干) 共享)class Student_01: # 很重要 很重要 很重要 很重要 company = "haizeiwang"

2020-09-11 09:40:20 130

原创 76_类对象(模具本身)

80.类对象 (模具本身)我们在前面讲的类定义格式中,“class 类名:”。实际上,当解释器执行class 语句时, 就会创建一个类对象。【操作】测试类对象的生成# 类对象(创造饼干的 '模具' 本身)# 实例对象就是类创建的饼干,以及 def的函数'''class Student: passprint(type(Student)) # 模具本身的对象类型 是 模具类 type, type类型也是一个对象 类型print(id(Student))Stu2 =

2020-09-11 09:26:17 130

原创 75_实例属性和实例方法

78.实例属性和实例方法实例属性实例属性是从属于实例对象(创建的饼干)的属性,也称为“实例变量”。他的使用有如下几个要点:实例属性一般在__init__()方法中通过如下代码定义:self.实例属性名 = 初始值在本类的其他实例方法中,也是通过self 进行访问:self.实例属性名创建实例对象后,通过实例对象访问:obj01 = 类名() # 创建对象,调用__init__()初始化属性obj01.实例属性名 = 值 # 可以给已有属性赋值,也可以新加属性实例方法

2020-09-11 09:22:07 575

原创 74___init__构造方法和__new__方法

77.__init__构造方法和__new__方法(重要)__init__ 这一类下滑线的 我认为是魔术方法,也叫特殊方法。具体可以查询此文档python -特殊方法-文档类是抽象的,也称之为“对象的模板”。我们需要通过类这个模板,创建类的实例对象,然 后才能使用类定义的功能。现在,我们可以更进一步的说,一个 Python 对象包含如下部分:1.id(identity 识别码)2. type(对象类型)3. value(对象的值)1) 属性(attribute)2) 方法(method)

2020-09-10 08:42:01 262

网络编程工具tftpd和网络调试助手

配套博客网络编程文字资料! 有需要可以自取。 想学习基础的网络编程的可以看我的博客 https://blog.csdn.net/qq_20502569/article/details/108947226

2020-10-08

FSCaptureSetup安装包

FSCapture截图工具,该工具极大程度方便了相关人员快速截图、修改截图。

2019-01-29

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除