自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 网络编程基础 多任务 第一讲(未完待续)

多任务 第一讲一、多任务1.多任务介绍同时做多件事情(多个任务)就叫多任务。2.多任务理解CPU有单核、双核和四核的,即便是单核也可以同时进行多任务处理,这是因为CPU通过时间片轮转调度的模式来进行作业,同一个程序在CPU当中快速处理完毕会退出来,为下一个程序腾出空间进行处理。并发:CPU数量小于当前的执行的任务。是假的多任务并行:CPU数量大于当前执行的任务。是真的多任务3.实现多任务的三种方式线程进程协程二、线程1.线程介绍线程(thread)是操作系统能够进行运算

2021-08-03 10:13:30 142

原创 网络编程基础 socket编程 第二讲 TCP发送与接收数据,客户端和服务端的构建

第二讲 TCP发送与接收数据一、TCP协议介绍当应用程序希望通过TCP与另一个应用程序通信时,它会发送一个通信请求。这个请求必须被送到一个确切的地址。在双方“握手”之后,TCP将在两个应用程序之间建立一个全双工(full-duplex)的通信。这个全双工的通信将占用两个计算机之间的通信路线,直到它被一方或双方关闭为止。1.三次握手下图为初版,四次握手:进化后成了三次握手,server应答和发送请求可以变成一条:2. 数据传输以下图为例,TCP协议是一个全双工通信,发送方和接收方建立了信息

2021-07-11 16:26:45 1088 2

原创 网络编程基础 socket编程 第一讲 计算机网络基础知识概况、UDP发送与接收数据

socket编程第一讲一、前导知识我们先来补充一点有关架构的知识:软件开发架构:- 应用类: 比如QQ,迅雷等,PC上面的一些程序- web类: 比如百度、知乎等网页端C/S架构:- Client 客户端- Server 服务端,一直在运行,等待服务别人B/S架构:- Browser 浏览器- Server 服务器B/S架构的好处在于可以统一入口,比如可以通过浏览器访问到各个服务端,不需要安装各种程序问题:B/S架构在APP端(手机)上用的多吗?答:有,比如微信小程序问

2021-07-02 11:41:00 475

原创 Python 高级编程技巧 第四讲 __getattr__及__getattribute__、属性描述符、元类、迭代器生成器

第四讲一、__getattr__及__getattribute____getattr__是当类调用一个不存在的属性时才会调用getattr魔法函数,他传入的值item就是你这个调用的不存在的值。意思也就是说如果在访问对象属性的时候发现并不存在,那么就会自动调用该方法,比如:class Demo(object): def __init__(self,name): self.name = name def __getattr__(self,item): return item # 这里是将不

2021-06-19 16:34:52 288

原创 Python 高级编程技巧 第三讲 弱引用、垃圾回收机制(psutil,gc)、循环引用、pdb、cProfile分析

第三讲一、如何在环状数据结构中管理内存在python中,垃圾回收器通过引用计数来回收垃圾对象,当一个对象引用计数为0,或者只剩下弱引用时,这个对象会被释放。1. 弱引用弱引用不增加引用计数,使用弱引用访问对象得到对象引用。In [1]: import weakrefIn [2]: class B: ...: def __del__(self): # del方法在对象释放后触发 ...: print("__del__") ...:In [3]: b1

2020-09-07 20:55:18 521

原创 Python 高级编程技巧 第二讲 内置不可变类型并修改其实例化行为、slots属性、contextmanager上下文管理器、创建可管理对象属性、类比较操作

第二讲一、如何派生内置不可变类型并修改其实例化行为这里有一道练习题,我们想定义一个新类型的元组,对于传入的可迭代对象,我们只保留其中int类型并且值还要大于0.或许我们可以这么写,尝试一下:class Intuple(tuple): def __init__(self,iterable): tu = (i for i in iterable if isinstance(i,int) and i > 0) super().__init__(self,tu)tu = Intuple(

2020-09-07 20:54:26 389

原创 Linux初步认识 第一讲 (未写完,暂时停止)

第一讲一、认识操作系统二、Linux内核及发行版本篇文章的内容是学习自Hank老师,通过他的笔记来进行学习的简单写一下心得:内核只有一种,发行版有多种。发行版都是围绕着相同的内核,根据不同的需求结合不同的特性,从而衍生出很多的发行版。乌班图Ubuntu是比较著名的一款发行版本。三、Ubuntu的目录结构关于各目录的说明都在上述转载的文章中有。Ubuntu系统相对于Windows系统的优势在于,各开发者可以有自己的目录权限,可以决定自己的开发内容是否可以被其他开发者访问。例如上图中的cc、

2020-09-07 20:53:19 148

原创 Python 高级编程技巧 第一讲 鸭子类型、抽象基类、type和isinstance、类属性和实例属性查找顺序、自省机制

第一讲一、鸭子类型与多态多态:定义时的类型和运行时的类型不一样,就成为多态。鸭子类型:多态的概念是应用于Java和C#这一类强类型语言中,而Python崇尚“鸭子类型”。动态语言调用实例方法时不检查类型,只要方法存在,参数正确,就可以调用。这就是动态语言的“鸭子类型”,它并不要求严格的继承体系,一个对象只要“看起来像鸭子,走起路来像鸭子”,那它就可以被看做鸭子。比方说,我们在扩展一个已有列表的时候,使用li.extend(seq),参数seq只要是一个可迭代的对象就可以了,比如元组、字符串或其

2020-08-26 16:33:14 364

原创 Python 基础入门第十六讲 文件读写操作、上下文管理器

第十六讲一、文件读写通过python我们可以对一些文件数据进行操作,文件包括txt、doc、xls、ppt等众多类型。对于文件的操作一般分为三步走:打开文件;操作文件;关闭文件;1. 打开文件 open()打开文件可以采用python内置方法open(),用于对文件进行读写操作。open()方法的返回值是一个file对象,我们将其赋值给一个变量(文件句柄),其基本的语法格式为:f = open(file,mode='r',encoding=None) # 还有许多参数未涉及,可自行查看

2020-08-14 16:02:18 1059

原创 Python 基础入门第十五讲 time、datetime、random、json模块、包的初步认识

第十五讲1. time模块time模块之间有接触到,如果还有不明确或者想了解其它方法的可以自行查阅一下。time.sleep()可传入参数,延迟执行时间,传入的参数为秒。time.time()返回一个秒时间戳,是从1970年开始算起直至现在的。time.localtime()当不传入参数的时候,返回一个时间元组,代表本地时间。有时候我们需要将秒时间戳转化为元组,可将时间戳作为参数传入。time.strftime(format,tuple_time)自定义格式的时间,首先

2020-08-10 20:35:15 230

原创 Python 基础入门第十四讲 异常捕获、模块导入、sys模块、os模块

第十四讲一、异常捕获一般情况下,在python无法正常处理程序时就会发生一个异常。异常是在程序执行过程中发生,并且会影响程序的执行,如果在python脚本发生异常时,我们不进行捕获处理该异常,程序则会终止。1. 异常处理处理异常我们采用try-except语句,用以检测try代码块中的错误,让except语句捕获异常信息并且进行处理。目的在于发生异常时不会终止我们的程序。格式:try: # 正常徐程序时,执行的代码块except Exception: # 一般来讲,会采用 except Ex

2020-08-08 16:21:50 363

原创 Python 基础入门第十三讲 魔法方法补充、单例模式、reflect反射(getattr、hasattr、__import__())

第十三讲一、特殊成员和魔法方法在之前的课程中已经学习过如__ init__、__ str__、__ __dir____等魔法方法,现补充一些常用的魔法方法:1. __ doc__ 魔法方法该魔法方法的作用为打印类的说明文档,举个例子:print(str().__doc__)###输出结果为:str(object='') -> strstr(bytes_or_buffer[, encoding[, errors]]) -> strCreate a new string obj

2020-08-04 20:15:01 280

原创 Python 基础入门第十二讲 封装、继承、多态

第十二讲一、封装封装是指将数据与具体操作的实现代码放在某个对象内部,使这些代码的实现细节不被外界发现,外界只能通过接口使用该对象,而不能通过任何形式修改对象内部实现,正式由于封装机制,程序在使用某一对象时不需要关心该对象的数据结构细节及实现操作的方法。看图理解一下:我们在给实例化对象传递一些属性的时候,就是封装的一个过程:二、继承继承是一种创建新类的方式,在python中,新建的类可以继承一个或多个父类。继承机制的作用是实现了代码的复用,多个类公用的代码部分可以只在一个类中提供,而其他类也只

2020-08-01 16:38:37 226

原创 Python 基础入门第十一讲 面向对象 私有属性方法 静态属性及方法 类方法 property/setter/deleter装饰器

第十一讲一、私有属性及私有方法所谓私有属性及私有方法,可以简单理解为不想让其他人看到的一些属性和方法,例如:class Students(object): def __init__(self): self.age = 18 self.weight = 120Amy = Students()print(Amy.weight)Amy老脸一红,这体重的属性咋还能被人从外部调出来……尴尬于是就把它变成私有属性好了,不让别人看见……这么改下class Students(object):

2020-05-12 19:30:50 283

原创 Python 基础入门第十讲 面向对象 类 self参数 init和str魔法方法

第十讲一. 类与对象1. 类的定义class 类名: def 方法名(self,参数): pass def 方法名(self,参数): pass def 方法名(self,参数): pass 当我们定义一个类的时候,模块里的函数我们叫其为方法,一个类里面可以有很多种方法,这些方法都是适用于具有相同特点的对象,我们口头上也可以说这些对象是一类的。拿生活中的例子来说,宝马...

2020-03-08 20:51:33 364

原创 Python 基础入门第九讲 推导式,迭代器,生成器

第九讲一. 推导式1. 列表推导式列表推导式是一种快速生成列表的方式,其形式我们通过案例来讲一下:比如我们有一个需求,想要生成一个列表[0.5,1.0,1.5,2.0,2.5…10.0],我们可以这样实现:li = []for i in range(1,21): li.append(i/2)print(li)通过列表推导式,我们可以将for循环写入列表内,则可以这么写:li ...

2020-03-02 14:30:42 411

原创 Python 基础入门第八讲 函数(下)

第八讲一. 内置函数内置函数是系统自带的函数,如int,abs等。可以通过cmd进入ipython输入dir(_ _ builtin _ _)来查看这些函数。1. filter 函数filter顾名思义,起一个过滤的作用先来看一下函数定义:一般来讲,采用filter(func,iterable)的形式,对iterable(即可迭代对象)中的元素送进func运行,对于返回值为True...

2020-02-29 11:59:30 364

原创 Python 基础入门第七讲 函数(上)

第七讲1. 函数的定义和作用注意函数定义的格式,比较简单:2. 函数的参数形参和实参:3. 不可变对象参数和可变对象参数(记住!)我们先来看一下不可变对象参数:先来看一下不可变对象做参数,虽然新建函数test()对a重新赋值,但是开辟了一个新的内存来存贮一个新的整型,跳脱出这个函数,a 还是原来的值,这里我个人理解为两种不同的轨道输出,似乎有一种一个变量被赋两种值的感觉但我们知...

2020-02-20 10:05:26 302

原创 Python 基础入门第六讲 条件判断 循环控制

第六讲一. 顺序执行这里分享一篇不错的文章,讲了一下‘面向对象’和类等概念的理解,浅显易懂,直接点击即可二. 条件判断1. 格式先从if语句入手,格式如下,范例省略# 简单写,可以多个elifif 条件 : 语句:elif 条件 : 语句:elif 条件 : 语句else: 语句2. 使用原则三. 循环控制1. while 循环来...

2020-02-17 19:32:53 573

原创 Python 基础入门第五讲 元组 字典 字节 集合 可变与不可变

第五讲一. 元组1. 元组的介绍笔记:a. 元组可以简单理解为内容不可变的列表,创建方式可以通过tuple()来实现。2. 元组与列表的相同操作笔记:a. 元组可以设法反转,但是reverse()不可适用于元组,只使用于列表,可以采用python的内置方法:reversed()b. 元组可以设法升序排列,但是sort()不可适用于元组,只适用于列表,可以采用python的内置...

2020-02-14 20:16:09 859

原创 Python 基础入门第四讲 字符串及相关操作 列表及相关操作

第四讲一. 字符串(str)1. 字符串介绍a. 可以使用单引号和双引号创建字符串,也可使用三引号:三引号是可以保留原有字符串格式的。2. 字符串存储方式粗略了解,整型在内存中占据一个字节,即1B,字符串不管中间有多少内容都要单独存储。3. 字符串的切片及下标4. 字符串格式化笔记:a. 这里有字符串格式化的四种方式,在之前的文章中有所叙述。b. 强调一下第三个,若...

2020-02-13 14:43:42 203

原创 Python 基础入门第三讲 运算符,数据类型,数字类型

第三讲一.运算符1.算数运算符笔记:a. 2.比较运算符笔记:a. b. 在python中,True1, False0c. 对于图片中的语句,会输出一个False(布尔值),因为括号内优先比较,(3>2)得到True(布尔值)结果,然后在进行True(布尔值)和数字1的比较,那么结果肯定是错的3.赋值运算符笔记:a. 4.逻辑运算符笔记:a. 逻辑运...

2020-02-11 10:46:59 404

原创 Python基础入门第二讲 标识符,变量常量,输入输出

第二讲1.python 标识符2.python保留字不可将其作为任何自定义标识的名称。3.注释单行:多行:4.语句和缩进其中,pass语句:5. 数据类型6.变量的创建(略过常量讲解)7.input输入函数8.print输出函数例子(1)打印输出–>Qian的年龄:18笔记:a. 使用加号作为字符串连接中介b. str()和int()分...

2020-02-09 22:35:22 424

原创 Python基础入门第一讲

第一讲1.编译器与解释器编译器:先整体编译再执行(运行速度快,但任何一个小改动需要整体重新编译,可脱离编译环境运行,代表C语言)解释器:边解释边执行(运行速度慢,但部分改动不需要整体再重新编译,不可脱离解释器运行,代表python)2.运行机制(略)3.pip基础使用pip 基础操作命令1.普通安装pip install package2.指定版本安装pip install ...

2020-02-09 21:21:05 781

空空如也

空空如也

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

TA关注的人

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