自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python 网络与并发编程(二)

Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。这个是python的一个开发时候,设计的一个缺陷,所以说python中的线程是“含有水分的线程”。1在读写文件的时候,一般只能只有一个线程在写,而读可以有多个线程同时进行,如果需要限制同时读文件的线程个数,这时候就可以用到信号量了(如果用互斥锁,就是限制同一时刻只能有一个线程读取文件)。

2024-04-20 09:44:40 861

原创 Python 网络与并发编程(一)

有任务A、B、C,一个CPU去执行他们,有几种方式1、一个cpu按顺序执行ABC,这就是串行(serial)2、当任务数小于cpu核数,多个任务同时一起执行,这就是并行(parallelism)3、切片执行,交替处理ABCABC任务时,就是并发(concurrency)。一般是是任务数多余cpu核数,通过操作系统的各种任务调度算法,实现用多个任务“一起”执行同步和异步强调的是消息通信机制 (synchronous communication/asynchronous ommunication)

2024-04-19 16:40:37 434

原创 第二部分 Python提高—GUI图形用户界面编程(八)

实战项目 编制简易笔记本。

2024-04-19 08:18:16 332

原创 第二部分 Python提高—GUI图形用户界面编程(七)

菜单组件。

2024-04-19 07:43:05 155

原创 第二部分 Python提高—GUI图形用户界面编程(六)

其他组件学习。

2024-04-18 08:17:29 913

原创 第二部分 Python提高—GUI图形用户界面编程(五)

事件处理。

2024-04-18 07:50:27 534

原创 第二部分 Python提高—GUI图形用户界面编程(四)

grid布局管理器一个GUI 应用程序必然有大量的组件,这些组件如何排布?这时候,就需要使用tkinter提供的布局管理器帮助我们组织、管理在父组件中子组件的布局方式。tkinter 提供了三种管理器:pack、grid、place。

2024-04-17 12:40:08 826 1

原创 第二部分 Python提高—GUI图形用户界面编程(三)

简单组件学习单选按钮、复选按钮和canvas画布。

2024-04-17 11:22:37 619

原创 第二部分 Python提高—GUI图形用户界面编程(二)

简单组件学习。

2024-04-16 12:38:00 799

原创 第二部分 Python提高—GUI图形用户界面编程(一)

有的组件还能在里面再放置其他组件,我们称为“容器”。布局管理器管理组件的:大小、位置。通过布局管理器可以将容器中的组件实现合理的排布。本节程序也是GUI 应用程序编写的一个主要结构,采用了面向对象的方式,更加合理的组织代码。是由Misc 和Wm 派生出的子类,它代表应用程序的主窗口。意味着,所有GUI 组件同时具备这四个父类的属性和方法。一般作为容器使用,可以放置其他组件,从而实现复杂的布局。框架是一个tkinter 组件,表示一个矩形的区域。表示距屏幕下边的距离。:它是所有组件的根父类。

2024-04-14 17:08:30 964 1

原创 第二部分 Python提高—模块化编程

强大的标准库奠定了python发展的基石,丰富和不断扩展的第三方库是python壮大的保证。我们可以进入PyPI官网(https://pypi.org)可以看到发布的第三方库达到了十多万种,众多的开发者为Python 贡献了自己的力量。常用第三方库大汇总分类库名称说明环境管理P非常简单的交互式 python版本管理工具Pyenv简单的 Python 版本管理工具Vex可以在虚拟环境中执行命令创建独立 Python 环境的工具包管理pipPython 包和依赖关系管理工具。

2024-04-14 10:51:34 1185 2

原创 第二部分 Python提高—文件处理(三)

递归算法遍历文件目录。

2024-04-14 09:48:14 156 2

原创 第二部分 Python提高—文件处理(二)

这时候,就需要“对象的序列化和反序列化”。[‘2021/11/28 5:50’, ‘106.22988’, ‘29.59932’, ‘0’, ‘正北’, ‘0’, ‘点火’, ‘否’, ‘是’][‘2021/11/28 5:50’, ‘106.22988’, ‘29.59932’, ‘0’, ‘正北’, ‘0’, ‘点火’, ‘否’, ‘是’][‘2021/11/28 5:51’, ‘106.22968’, ‘29.59965’, ‘0’, ‘正北’, ‘0’, ‘点火’, ‘否’, ‘是’]

2024-04-12 08:11:28 1059

原创 第二部分 Python提高—文件处理(一)

名称说明io模块文件流的输入和输出操作 input outputos模块基本操作系统功能,包括文件操作glob模块查找符合特定规则的文件路径名fnmatch模块使用模式来匹配文件路径名fileinput模块处理多个输入文件filecmp模块用于文件的比较csv模块用于csv文件处理pickle和cPickle用于序列化和反序列化xml包用于XML数据处理用于处理压缩和解压缩文件(分别对应不同的算法)在操作文本文件时,经常会操作中文,这时候就经常会碰到乱码问题。

2024-04-11 17:02:50 1136 1

原创 第二部分 Python提高(三)

程序开发中,有时候我们也需要自己定义异常类。自定义异常类一般都是运行时异常,通常继承Exception或其子类即可。命名一般以ErrorException为后缀。自定义异常由raise语句主动抛出。示例#测试自定义异常类class AgeError(Exception): #继承Exception,体现父类def __str__(self): #方法重写return str(self.errorInfo)+",年龄错误!应该在1-150之间"

2024-04-11 16:28:28 407 1

原创 第二部分 Python提高(二)

第二部分 Python提高(一)接上文。

2024-04-11 12:44:19 1083 1

原创 第二部分 Python提高(一)

python中,引进了很多用来描述和处理异常的类,称为异常类。异常类定义中包含了该类异常的信息和对异常进行处理的方法。但是,从经典理论考虑,一般建议尽量捕获可能出现的多个异常(按照先子类后父类的顺序),并且针对性的写出异常处理代码。当发生异常时,解释器会报相关的错误信息,并会在控制台打印出 相关错误信息。1 抛出异常:在执行一个方法时,如果发生异常,则这个方法生成代表该异常的一个对象,停止当前执行路径,并把异常对象提交给解释器。2 捕获异常:解释器得到该异常后,寻找相应的代码来处理该异常。

2024-04-10 22:03:44 806 4

原创 Python学习(十四)

输出结果张三–李小四张三张三张三。

2024-04-10 12:38:15 145 1

原创 Python学习(十三)

在子类中,如果想要获得父类的方法时,我们可以通过super()来做。super()代表父类的定义,不是父类对象super(子类名称,self).__init__(参数列表)示例class A:print("A的构造方法")super(B,self).__init__() #调用父类的构造方法print("B的构造方法")#A.say(self) 调用父类的say方法super().say() #通过super()调用父类的方法b = B()b.say()输出结果A的构造方法。

2024-04-10 08:28:34 1123 1

原创 Python学习(十二)

(3) 构造方法:传入x,y,width,height。如果(x,y)不传则默认是0,如果width 和height不传,则默认是100.设计一个名为MyRectangle的矩形类来表示矩形。(5) 定义一个getPerimeter(),计算周长的方法。(6) 定义一个draw()方法,使用海龟绘图绘制出这个矩形。(4) 定义一个getArea() 计算面积的方法。(2) 宽度和高度:width、height。(1) 左上角顶点的坐标:x,y。

2024-04-09 21:44:01 105

原创 Python学习(十一)

1 与C和JAVA不同,python中是没有NULL的,取而代之的是None。2None是一个特殊的常量,表示变量没有指向任何对象。3 在Python中,None本身实际上也是对象,有自己的类型NoneType。4 你可以将None赋值给任何变量,但我们不能创建NoneType类型的对象5None不是FalseNone不是0,None不是空字符串。None和任何其他的数据类型比较永远返回False。示例obj = None# none和其他类型比较a = None。

2024-04-09 21:16:45 113

原创 Python学习(九)

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

2024-04-09 08:35:14 254

原创 Python学习(八)

建议:不要使用重名的方法!Python中方法。

2024-04-09 08:15:02 373

原创 Python学习(七)

进行搜索,如果闭包作用域也没有找到,Python就会到全局global 命名空间中进行查找,最后会在内建 built-in 命名空间搜索(如果一个名称在所有命名空间中都没有找到,就会产生一个NameError )如果某个name 映射在局部local 命名空间中没有找到,接下来就会在闭包作用域enclosed。指的是嵌套函数(一个函数包裹另一个函数,闭包)用来在内部函数中,声明外层的局部变量。指的是Python为自己保留的特殊名称。指的就是函数或者类的方法内部。指的是模块中的全局变量。

2024-04-03 17:03:37 287

原创 python学习(六)

按位置传递的参数,称为:“位置参数”。表达式只允许包含一个表达式,不能包含复杂语句,该表达式的计算结果就是函数的返回值。我们可以为某些参数设置默认值,这样这些参数在传递时就是可选的。arg1 arg2 arg3 为函数的参数。我们也可以按照形参的名称传递参数,称为“命名参数”,也称“关键字参数”,在带星号的“可变参数”后面增加新的参数,必须在调用的时候“2 **param (两个星号),将多个参数收集到一个“1 *param (一个星号),将多个参数收集到一个“可变参数指的是“可变数量的参数”。

2024-04-03 16:33:07 520 2

原创 Python学习(五)

def 函数名 ([参数列表]) :'''文档字符串'''函数体/若干语句示例'''完成三个数的加法,并返回他们的和'''print("{0}、{1}、{2}三个数的和是:{3}".format(a,b,c,sum))return sumdef add后的圆括号内是形式参数列表,有多个参数则使用逗号隔开定义时的形式参数不需要声明类型,也不需要指定函数返回值类型调用时的实际参数必须与形参列表一一对应我们调用help(函数名)或函数名.__doc__可打印输出函数的文档字符串。

2024-04-03 15:35:34 664 1

原创 Python学习(四)

【代码】Python学习(四)

2024-04-03 11:26:28 153 1

原创 Python学习(三)

一个生成器只能运行一次。第一次迭代可以得到数据,第二次迭代发现数据已经没有了。通用表达式,与列表推导式类似。应用字典推导式统计字符次数。又如并行迭代器+推导式。

2024-04-03 11:02:28 253 1

原创 Python学习(二)

我们可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就会停止。

2024-04-03 10:31:36 150 1

原创 Python学习(一)

----------------------------- 简单循环优化后 ------------------------------优化前耗时:106.35962533950806。优化后耗时:1.205930471420288。进程已结束,退出代码为 0。

2024-04-03 10:18:36 122 1

空空如也

空空如也

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

TA关注的人

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