python基础
文章平均质量分 91
小白piao
一个曾经玉树临风,如今秃顶的老登儿,提供专业的C++和Python相关的知识供大家学习
展开
-
python基础第五课--从字符串中打包和解包大整数(小白piao分享)
#4、从字符串打包和解包大整数#将一个字符串解包成一个大整数,将一个大整数打包成一个字符串#4.1 解决方案:#假设程序需要处理一个有16个元素的字节串,其中保存着一个128位的大整数data = b’\x00\x124V\x00x\x90\xab\x00\xcd\xef\x01\x00#\x004’#要将字节解释为整数,可以使用int.from_bytes(),然后制定字节序即可:p...原创 2020-02-19 15:48:18 · 372 阅读 · 0 评论 -
python基础第八课--python的文件IO(小白piao分享)
#IOstream:#文件IO:#普通系统是无法直接操作磁盘文件的#通过系统所提供的接口完成操作#对文件进行的基本操作:通过文件实例对象而实现对文件操作文件的实例对象:文件描述符打开文件的函数:open(文件路径,操作模式)open中的参数:文件名(尽量使用原始字符串):文件的相对或者绝对路径标识符:表示打开文件后对文件的操作模式读:r(只读) rb(读二进制) r+(读写)...原创 2020-01-30 11:15:46 · 214 阅读 · 1 评论 -
python基础第二课(小白piao分享)
接上章节1 字典中将键映射到多个值上使用collections库中的defaultdict会使方法更加简单和清晰易懂from collections import defaultdictd = defaultdict(list)d['a'].append(1)d['a'].append(2)d['b'].append(3)print(d)# defaultdict(<cla...原创 2019-12-21 23:34:49 · 283 阅读 · 0 评论 -
python基础第七课--分数(小白piao分享)
6、分数的计算6.1 解决方案:#fractions模块可以用来处理涉及分数的数学计算问题from fractions import Fractiona = Fraction(2,7)b = Fraction(3,8)print(a+b) # 37/56#得到分子和分母c = a + bprint(c.numerator) # 37print(c.denominator) #...原创 2020-02-19 16:55:52 · 389 阅读 · 0 评论 -
python基础第九课--文件IO(小白piao分享)
#1读写文本数据:#1.1.1 对文本数据进行处理,可能需要面对不同的编码格式的文件#1.1.2 解决方案:#使用open()函数和rt模式配合读取文本文件:with open(‘somefile.txt’,mode=‘rt’) as fd:data = fd.read()#一次性读取文件中的所有内容到程序中;原型:read([size]) size–:读取的字节数print(data...原创 2020-02-21 20:51:09 · 249 阅读 · 1 评论 -
python基础第十二课--函数高级特性,值得一看(小白piao分享)
#编写可接受任意数量参数的函数#我们想要去编写一个可以接受任意数量参数的函数#解决方案:#要想编写一个可接受任意数量位置参数的函数,可以使用以*开头的参数def avg(first,*rest):return ((first+sum(rest)) / (1 + len(rest)))print(avg(1,2))#1.5print(avg(1,2,3,4))#2.5#rest 是一...原创 2020-02-28 15:37:27 · 143 阅读 · 0 评论 -
python基础第一课(小白piao分享)
python 数据结构(及算法分析)1.1 将序列分解成单独变量:1.1.1 解决方案:任何序列都可以通过简单的赋值分解成多个序列,唯一的要求是变量的总数和结构要与序列相吻合例如:tp = (1,1,2)var1,var2,var3 = tpprint(var1,var2,var3)data = ['hello','a','b','c','d']var1,var2,var3,v...原创 2019-12-20 23:44:04 · 472 阅读 · 3 评论 -
Python实现基于openCV+百度智能云平台实现《1:N人脸考勤机》文章最后附带源码!
基于windows平台下,使用PyCharmIDE完成开发工作,将提前准备好的照片上传百度云,借助百度aipSDK-Python实现和百度智能云的对接,实现摄像头采集人脸图片后上传百度云,在百度云中利用百度现有的人脸识别算法完成人脸的对比,之后借助SDK返回对比结果,将结果显示在客户端上。如果有不明白的地方,评论区留言,作者一一回复。原创 2023-02-14 17:59:59 · 1095 阅读 · 5 评论 -
python基础第十课--文件IO续(小白piao分享)
#1、读写压缩的数据文件:#gzip和bz2模块的存在使得这样额操作变得极为便利#这两个模块都提供了open()函数的其他实现,用于处理压缩文件,例如:要将压缩文件以文本形式读取,可以这样做:import gzipwith gzip.open(‘somefile.gz’,‘wb’) as fd:text = fd.write(b’hello’)with gzip.open(‘somef...原创 2020-02-24 21:04:59 · 170 阅读 · 0 评论 -
python基础第四课--和二八十六进制打交道(小白piao分享)
#3、同二进制、八进制、十六进制数字打交道#3.1 解决方案:#将一个整数转换为二进制、八进制、十六进制的文本字符串形式,只要分别使用内建的bin(),oct(),hex()即可#eg:x = 1234print(oct(x))#0o2322print(bin(x))#0b10011010010print(hex(x))#0x4d2#如果不想出现0o,0b,0x可以使用format...原创 2020-02-19 14:58:50 · 167 阅读 · 0 评论 -
python基础第十一课--序列化Python对象(小白piao分享)
#Python对象的序列化#将python对象序列化为字节流,这样就可以将其保存到文件中,存储到数据库中或者通过网络连接进行传输!!#解决方案:#序列化最常见的模块就是pickle模块,要将某个对象保存到文件中可以这样做:import pickleclass Human():passdata = Human()f = open(‘somefile’,‘wb’)pickle.dum...原创 2020-02-24 21:27:50 · 279 阅读 · 0 评论 -
python基础第六课--处理无穷大和NaN(Not a Number)(小白piao分享)
5、处理无穷大和NaN5.1 对浮点数的无穷大、负无穷大或NaN(Not a Number)进行测试5.2 解决方案:# python中没有特殊的语法用来表示这些特殊的浮点数值,但是可以通过float()来创建a = float(‘inf’)b = float(’-inf’)c = float(‘nan’)print(a,b,c)#要检测是否出现了这些值,可以使用isinf() ...原创 2020-02-19 16:21:47 · 833 阅读 · 0 评论 -
python基础第三课--浮点数的高精度计算(小白piao分享)
#1 对数值进行取整:# 1.1 问题: 对浮点型数据取固定小数位的小数# 1.2 解决方案: 简单的取整操作,使用内建的round(value,ndigits)即可#round的ndigits省略时,会取得整型;当ndigits == 0时,取得小数;#ndigits可以取负值,一次为十位、百位、千位等#当负数值大于位数最大值是,会得到这个数字对应数据类型的‘0’(整0和浮点0)#e...原创 2020-02-19 13:57:54 · 1060 阅读 · 0 评论 -
python基础第二十三课--OOP让类支持比较(小白piao分享)
目的: 我们想让对象可以运用到标准比较操作符(条件运算符)上。方法: 其实在object类中为我们定义了一些比较运算的特殊方法,因为在python中所有的类均直接或者间接地继承自object,所以重写这些特...原创 2020-03-16 22:40:56 · 90 阅读 · 0 评论 -
python基础第二十二课--OOP在类中定义多个构造函数
目的: 我们编写一个类,想让用户可以以多种形式创建对象实例,而非就__init__()一种情况。方法: 需要使用的一个技巧就是借助类方法(@classmethod)来完成import timeclass A: def __init__(self,year,month,day): ...原创 2020-03-15 22:49:18 · 300 阅读 · 0 评论 -
python基础第二十一课--OOP委托模式
什么是委托模式? 委托者模式是指将类的一些属性委托到内部持有的一个对象上,让其完成一些工作的模式。目的: 作为继承的替代方案或为了实现一种代理机制。继承替代的例子:class Gunner:#抢手为被委...原创 2020-03-15 16:11:59 · 180 阅读 · 0 评论 -
python基础第二十课--OOP实现自定义容器(小白piao分享)
目的: 为了通过一个自定义的类来模仿诸如内置容器例如字典、列表的行为,但是却不知道如何下手工具: 需要借助一个定义了很多抽象基类的库collections。实现自定义容器时,他们的帮...原创 2020-03-15 11:50:59 · 169 阅读 · 1 评论 -
python基础第十九课--OOP定义一个接口或抽象基类(小白piao分享)
抽象基类: 1、核心特征: 抽象基类的核心是不能直接进行实例化,如果尝试对抽象基类进行实例化,将会得到如下的结果:from abc import ABCMeta,abstractmethodclass Istream(metaclass=A...原创 2020-03-11 15:37:07 · 142 阅读 · 0 评论 -
python基础第十八课--OOP简化数据结构初始化过程(小白piao分享)
在python编程的过程中经常会碰到需要编写很多的类,调用很多次__init__()方法。这样经常是的代码重复量非常之大。有没有办法可以简化构造初始化的个数,减少代码量?当然可以!方法就是将所有的属性初始化赋值放在一个基类中完成。代码如下:1、对一般参数:class Struct: _field = [] def __init__(self,*args): i...原创 2020-03-09 18:51:03 · 166 阅读 · 0 评论 -
python基础第十七课--OOP 让属性具有惰性求值的能力(小白piao分享)
什么是惰性求值? 在某些场景中,我们可能更希望系统执行的高效性,在某些属性不被访问时,其不存在,当被访问时才会生成空间,另外生成后会将结果保存在缓存中,下次调用该属性会直接去取缓存中的值,而不是冗余地再去执行很多代码得到新的值。此过程,称之为惰性求值。 &...原创 2020-03-09 17:33:17 · 156 阅读 · 1 评论 -
python基础第十六课--OOP调用父类的方法(小白piao分享)
在继承关系中,我们想调用已经被覆盖了的父类的方法,就需要如下实现:解决方法: 要调用父类中的方法,就要使用超类(超集)方法super(),该方法旨在调用已经被覆盖的父类的成员方法。class Aclass: def __init__(self): self.a = None def prtInfo(self): print('h...原创 2020-03-06 22:22:43 · 136 阅读 · 0 评论 -
python基础第十五课--OOP创建可管理的属性(property)(小白piao分享)
为类创建可管理的属性概述:我们可以在实例属性的获取和设定上增加一些额外的功能,比如在设定时增加类型的检查 解决方案: 要自定义对属性的访问,一种简单的方式是将其定义为property,增加了对属性的类型检查:class Pers...原创 2020-03-06 19:35:05 · 177 阅读 · 0 评论 -
python基础第十四课--异常处理及其中的finally关键字的理解(超详细)(小白piao分享)
python中的异常一、 异常的概念: 错误和异常: 在python中会遇到两种错误,一种,是语法错误,这种错误不能被解释器容忍,必须更改为正确语法后程序才能运行;而另外一种,是在程序运行过程中出现的错误,诸如N...原创 2020-03-04 17:51:09 · 739 阅读 · 1 评论 -
python基础第十三课--超级好用的eval函数(小白piao分享)
eval()函数1.函数原型:eval(expression[,globals[,locals]])expression----表达式globals----变量作用域,全局命名空间,如果被提供,则必须是一个字典对象locals----变量作用域,局部命名空间,如果被提供,可以是任何映射对象。返回值----返回表达式计算结果2.实例:>>>x = 7>&g...原创 2020-03-01 14:00:02 · 436 阅读 · 0 评论