随笔分类 - python基础
python基础部分
摘要:说道上下文管理首先想到的就是这个: 执行结果 但是我们这里要说的不是这个, python给了我们一个contextmanager,contextmanager最大的好处就是可以将不是上下文处理器的类变成一个类似上下文处理的方式来解决问题。 上面的运行结果依然是: 简单的例子,我想把我一本图书的名字加
阅读全文
摘要:比如说你现在准备写一个自己的视频资源网站,在创业初期,你的项目暂时还是测试阶段,没有用户的时候,你可能只有一个人在开发,你每天都以写的内容和时间作为文件名的命名,这样其实是可以满足你对版本控制的基本需求的,唯一的问题是,当你要返回某个版本的时候你很难直接就找到你想要的那个状态,因为你可能有还几十个版
阅读全文
摘要:python采用"引用计数"和"垃圾回收"两种机制来管理内存。引用计数通过记录对象被引用的次数来管理对象。对对象的引用都会使得引用计数加1,移除对对象的引用,引用计数则会减1,当引用计数减为0时,对象所占的内存就会被释放掉。引用计数可以高效的管理对象的分配和释放,但是有一个缺点,就是无法释放引用循环
阅读全文
摘要:怎么说呢,这次写个博客记录一下一个有趣的事情,不关系到技术,只是生活里一件有趣的事。 最近写框架苦于没有什么视频资料,文档英文,看起来也是有些晦涩难懂。GitHub上fork的开源项目又看的不甚明朗。苦于种种,最后,我选择加个交流群进行一番学习(伸手要资料咯)。 故事从这里开始: 老哥们的进群的问题
阅读全文
摘要:multiprocessing模块 由于GIL的存在,python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。 multiprocessing包是Python中的多进程管理包。与threading.Thread类似,它可以利用mul
阅读全文
摘要:准备用python写一个打飞机的游戏,相信能够写完这个项目,我对python的学习应该也算可以了。 首先,我们要使用python的一个pygame的库来写,这个库的安装比较简单就是普通的pip安装就可以了。 简单的介绍一下这个库的使用,当然,是代码的方式: import pygame import
阅读全文
摘要:time模块 时间表示形式 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: (1)时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())
阅读全文
摘要:模块 一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀。 其实import加载的模块分为四个通用类别: 1 使用python编写的代码(.py文件) 2 已被编译为共享库或DLL的C或C++扩展 3 包好一组模块的包 4 使用C编写并链接到python解释器的内
阅读全文
摘要:isinstance和issubclass isinstance()判断一个对象是不是这个类的对象,传两个参数(对象,类) issubclass()判断一个类是不是另一类的子类,传两个参数(子类,父类) class Foo: pass class Son(Foo): pass s = Son() #
阅读全文
摘要:面向过程的程序设计经常用于操作系统的内核,git等,一成不变的流水线式解决一个问题,极大程度降低程序复杂性。 面向对象的程序设计解决了程序的扩展性(类可产生各种各样的对象,对于新增技能或修改技能可使用方法直接调用),但是可控性差,因为面向对象程序一旦开始就是由对象之间交互来解决问题。 OOD面向对象
阅读全文
摘要:python提供的强大的内置函数,接下来我们看一看这些函数都有哪些作用。 abs()求绝对值。 print(abs(-1)) print(abs(0)) 运行结果 1 0 all()传递可迭代对象,可迭代对象每个值得bool值都为Ture返回Ture,有一个为False,结果返回False。 pri
阅读全文
摘要:一、socketserver模块 之前的例子中的C/S架构只能实现同一时刻只有一台客户端可以和服务端进行数据交互,我们可以通过socketserver模块实现并发。 基于tcp的套接字,关键就是两个循环,一个链接循环,一个通信循环。socketserver模块分为两大类,server类解决链接问题,
阅读全文
摘要:一、客户端/服务器架构 网络中到处都应有了C/S架构,我们学习socket就是为了完成C/S架构的开发。 二、scoket与网络协议 如果想要实现网络通信我们需要对tcpip,http等很多网络知识有比较深刻的学习以后才有这样的能力,但是对于我们程序开发程序员来说是一件漫长的时间,所以就有了封装比较
阅读全文
摘要:文件操作流程 1.打开文件,得到文件句柄并赋值给一个变量, 2.通过句柄对文件进行操作, 3.关闭文件。 例如现有一个文件内容如下: 昨夜寒蛩不住鸣。 惊回千里梦,已三更。 起来独自绕阶行。 人悄悄,帘外月胧明。 白首为功名,旧山松竹老,阻归程。 欲将心事付瑶琴。 知音少,弦断有谁听。 操作此文件:
阅读全文
摘要:算数运算: 运算符 描述 示例 + 加,两个对象相加 a+b输出结果30 - 减,得到负数,或者一个数减去另一个数 a-b输出结果-10 * 乘,两个数相乘或是返回一个被重复若干次的字符串 a*b输出结果200 / 除,x除以y b/a得出结果2 % 取模,返回除法的余数(求余) b%a输出结果0或
阅读全文
摘要:装饰器 从一个简单的计时功能来了解装饰器的功能与基本概念。 这是一个简单的打印延时程序,现在想要计算出程序运行的过程用了多长时间,并且不改动源代码,这时候就需要使用装饰器来完成需求了。 在这个函数中,只是加入了一个@timmer就使得没有更改原程序代码而直接增加了一个计时的功能,这真的是有些神奇呢,
阅读全文
摘要:使用函数的意义 首先必须要认识到的是函数在python使用过程中是十分重要的,函数就是将一些语句集合在一起的一个部件,它解决了大部分的语句重用问题,并且每个函数都有返回值,传入的参数不同代码运行可能都不一样。有了函数以后程序的修改也简化了很多。简而言之,函数就是代码的最大程度重用和最小化代码冗余的最
阅读全文
摘要:if语句 每条if语句的核心都是一个值为Ture或False的表达式,这种表达式被称为为条件测试。if语句检查程序当前状态,并据此采取相应的措施。如果条件测试的值为Ture,Python就执行紧跟在if语句后面的代码;如果为False,Python就忽略这些代码。 最简单的if语句只有一个测试和一个
阅读全文
摘要:首先,我们需要知道在python中哪些是可变数据类型,哪些是不可变数据类型。可变数据类型:列表list和字典dict;不可变数据类型:整型int、浮点型float、字符串型string和元组tuple。 用一句话来概括上述过程就是:“python中的不可变数据类型,不允许变量的值原地发生变化,如果改
阅读全文
摘要:简述python的几种简单的数据类型及使用方式 引入内存空间得概念,开辟一个数字类型占32位(32位机器),一个字符占8位bit。 当图中每个bytes都是char类型得时候,那么从内存取出来就是转换成字符(按编码表转换)。 字符串 字符串是不可变数据类型,拥有多种内置方法可以操作。 创建字符串就是
阅读全文

浙公网安备 33010602011771号