- 博客(53)
- 收藏
- 关注
原创 ¥subprocess模块¥
subprocess:它主要用于创建新的进程,连接到这些进程的输入/输出/错误管道,以及获取它们的返回状态。简而言之,通过subprocess模块,你可以在Python代码中执行操作系统级别的命令,并与这些命令进行交互。简单理解就是:使用我们自己的电脑去连接别人的电脑(socket模块)
2024-07-22 22:58:22
129
原创 ¥json模块¥
将字符串类型的数据转换成Python对象的(字典、列表、元组 ...)能将python对象转为字符串 --> 字符串转回python对象就是其他类型转为字符串,字符串还是可以转为原本的类型。
2024-07-22 22:57:12
302
原创 ¥hashlib模块¥
Python的hashlib提供了常见的摘要算法如MD5,SHA1摘要算法又称哈希算法、散列算法。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。摘要算法就是通过摘要函数f()对任意长度的数据data计算出固定长度的摘要digest目的是为了发现原始数据是否被人篡改过。摘要算法之所以能指出数据是否被篡改过,就是因为摘要函数是一个单向函数计算f(data)很容易,但通过digest反推data却非常困难。
2024-07-22 22:54:46
107
原创 ¥datetime模块¥
time_str = datetime.date(2023,1,9)#括号里随意填写年月日print(time_str)#输出:2023-01-09。
2024-07-22 22:46:54
115
原创 ¥time模块¥
time.time() 生成时间戳时间戳是计算机能够识别的时间;time.sleep() 随机睡眠多长时间time.strftime() 时间字符串时间字符串是人能够看懂的时间time.strftime() 格式化输出当前时间time.strptime() 将时间字符串格式转换为时间元组元组则是用来操作时间的time.localtime() 拿到当前时间的时间元组格式。
2024-07-05 21:33:01
505
原创 ¥单例模式¥
单例设计模式(Singleton Design Pattern):一个类只允许创建一个对象(或者实例),那么这个类就是一个单例类,这种设计模式就叫作单例设计模式,简称单例模式。当一个类的功能比较单一,只需要一个实例对象就可以完成需求时,就可以使用单例模式来节省内存资源。【通常】单例模式创建的对象是进程唯一的, 单例类中对象的唯一性的作用范围是进程内的,在进程间是不唯一的。
2024-07-05 21:27:33
266
原创 ¥面向对象,元类¥
元类是所有类的基类,包括object在元类的__init__方法里面可以定制-类名,父类,名称空间意思就是要求格式问题。比如类的首字母必须大写案例:要是继承元类的类的首字母不大写就会主动抛出异常(前提是你要设置主动方抛出异常语法)这些都是在元类里面的__init__里面实行的__new__是一个静态方法,它负责创建并返回一个新对象。当你调用一个类(如A())时,__new__方法首先被调用,用于创建实例。元类的__new__方法用于创建类对象。类的__new__方法用于实例化对象。
2024-06-12 11:21:25
742
原创 ¥面向对象之内置方法¥
对象[属性名] = 属性值---》触发方法print(对象[对象])--->>触发了方法对象.属性名 = 属性值---》>>触发方法对象.对象 = 属性值 --- >>触发了方法。
2024-06-12 09:49:25
848
原创 ¥面向对象,绑定方法和非绑定方法¥
我们正常在函数内部定义的方法特征就是自动补全self对象调用直接调用(默认将当前的对象作为self默认参数传入)实例化得到的对象.函数名()类调用需要传递额外的参数,额外的参数就是实例化得到的对象类名.函数名(实例化得到的对象)
2024-06-06 23:02:03
124
原创 ¥面向对象,多态和多态性,鸭子类型¥
多态是指一个事物的多种形态例子:动物有多种形态---》猫,狗,猪....#导入模块import abc# 总的类动物类...# 具体的类 猫类print(f"喵喵喵 ~~~ ")# 具体的类 狗类print(f"汪汪汪")必须重写下面这个方法长得像鸭子,走起来像鸭子,叫起来像鸭子,你就是鸭子!在每一个语言中都有这这个概念,是一种语言风格。
2024-06-06 23:00:13
270
原创 ¥面向对象,抽象类¥
所以继承父类的子类必须重写父类的某些方法,这个父类就叫抽象类与java一样,python也有抽象类的概念但是同样需要借助模块实现,抽象类是一个特殊的类,它的特殊之处在于只能被继承,不能被实例化抽象类,前提是导入abc模块,在类名后的(metaclass=abc.ABCMeta)。你在自己的模块中函数头顶上定义了的时候,在子类中就要重写这个函数方法,import abcprint(f'任何动物都能叫')# 在子类中必须重写父类的当前方法...。
2024-06-06 22:58:37
287
原创 ¥面向对象,派生¥
这两种方式的区别是:方式一是跟继承没有关系的,而方式二的super()是依赖于继承的并且即使没有直接继承关系,super()仍然会按照MRO继续往后查找。
2024-05-31 15:53:52
374
原创 ¥面向对象,继承¥
在python3之前没有显示继承object的类就叫经典类意思就是:类名后面()没有定义--》都叫经典类在python3之后没有显示继承的类,默认都是新式类,默认继承object# 有一只猫self.name = '猫'+name# 有一只狗self.name = '狗'+namecat_one = Cat(name='小花')dog_one = Dog(name="旺财")如果属性不封装的情况下,谁实例化得到的self就去谁里面找。
2024-05-31 15:52:15
697
原创 ¥面向对象,封装¥
封装就是对具体对象的一种抽象就是将某部分的功能和代码隐藏起来,在程序内部看不到,只能在程序内部使用封装最主要的原因就是保护隐私,将不想让用户看到的功能都隐藏起来**封装的意思就像是隐私,你想让他会看到的就让他看到,不想让它看到的就隐藏起来**# 创建一个新的Person对象# 此时,person1 对象已经有了 name 和 age 属性print(person1.name) # 输出: Aliceprint(person1.age) # 输出: 30。
2024-05-31 15:48:31
314
原创 ¥面向对象,类¥
程序 = 数据 + 功能编写程序的本质就是定义出一系列的数据,然后定义出一系列的功能来对数据进行操作。类即类别、种类,是面向对象设计最重要的概念,对象是特征与技能的结合体,而类则是一系列对象相似的特征与技能的结合体只能描述共同特性,不同特性要对象自己描述关键字class声明一个类(先定义了类才有对象)定义类尽量用驼峰体(例如:User)#定义类格式有的三种#类名后面的 () 参数不写默认就是 object#定义类的格式class 类名:类体代码object:父类。
2024-05-31 15:46:19
875
原创 ¥PE8规范¥
PEP是Python Enhancement Proposal的缩写,通常翻译为“Python增强提案”。每个PEP都是一份为Python社区提供的指导Python往更好的方向发展的技术文档,其中的第8号增强提案(PEP 8)是针对Python语言编订的代码风格指南。
2024-05-31 15:40:27
644
原创 ¥for循环内置机制¥
for循环内部其实也报错了,只不过错误没让我们看见,内部处理了for循环内部执行流程:把关键字in后面的数据类型转为了迭代器iter循环next取值next取值完毕之后也报错了,自动处理错误并且结束while循环。
2024-05-31 15:32:39
342
原创 ¥闭包函数¥
包代表函数外包裹着对外层作用域的引用闭包是指包含对自由变量的函数和对这些变量的引用环境的组合。基础函数的概念,可以将函数返回到任意位置去调用。但作用域的关系是在定义完函数时就已经被确定了的,与函数的调用位置无关。无论在何处调用闭包函数,使用的仍然是包裹在其外层的变量就是对外部作用域有引用的函数内嵌函数对外部函数作用域有引用,那么内嵌函数就是闭包函数。闭包(Closures)# 定义全局变量# 定义局部变量,覆盖全局变量# 打印外部函数的局部变量func()# 结果为2。
2024-05-31 15:31:07
216
原创 ¥匿名函数¥
函数+列表生成式#返回值为参数的平方#匿名函数+表达式#匿名函数语法结构:变量名 = lambda 参数: 返回值print(lbd_sqr)#返回值是lambda类型#输出:<function <lambda> at 0x00000228B02C9CF0>多参数匿名函数变量名 = lambda 参数1,参数2 : 返回值。
2024-05-31 15:26:10
258
原创 ¥模块与包¥
包是一个模块的集合,它可以将多个模块的功能组合在一起。包可以按照其功能和作用进行分类,方便用户查找和使用。包是在Python标准库中定义的一种特殊类型的模块,可以通过import语句引用和使用。Python的包分为标准库包和第三方库包。标准库包是Python内置的包,包含了一些基本的模块和函数,如os、sys、random等;第三方库包是第三方开发的包,通常提供了更加丰富和高级的功能。import 模块名 --》语法,只会检索当前模块内的所有变量名import 包名--》语法,会先自动检索。
2024-05-31 15:24:19
911
原创 ¥生成器¥
在py中生成器是一种特殊的迭代器,可以在需要时生成数据,不必提前从内存中生成并储存整个数据集通过生成器,可以逐个生成序列中的元素,而无需一次性生成整个序列生成器在处理大数据时,具有节约内存,提高效率的特点。
2024-05-31 15:17:42
227
原创 ¥迭代器¥
通过索引的方式进行迭代取值内置有__iter__方法的对象都是可迭代对象如果调用.iter()返回的是一个可迭代对象有的可迭代对象中还有.next()方法迭代器对象是在可迭代对象具有(.iter())的基础上具有.next()的对象具有iter() 和next() 的对象就是迭代器对象八大数据类型:整数,浮点数,布尔这三种不是,其它都是迭代器对象可迭代对象是 具有iter() 的对象 ---> 生成一个可迭代对象迭代器对象是 具有iter() 和next。
2024-05-31 14:49:38
208
原创 *作用域*
变量的作用域python是静态作用域,也就是说在python中,变量的作用域源于它在代码中的位置在不同的位置,可能有不同的命名空间,命名空间是变量作用域的体现形式。
2024-05-29 14:30:01
657
原创 ¥名称空间¥
存放函数名和函数值对应关系的地方变量名=变量值先开辟一块内存空间,把函数值扔到内存空间中----》内存空间然后将变量名和变量值进行绑定存放到名称空间中---》名称空间中。
2024-05-15 23:31:00
143
原创 基本类型注解
typing模块为Python添加了静态类型注解的能力,提高了代码的可读性和维护性。本文介绍了类型注解的基本概念、常见类型和高级类型,以及类型检查工具的使用。希望读者可以更好地应用类型注解,改善Python代码的质量。
2024-05-08 14:38:03
491
1
原创 函数的调用方式
可变长位置参数接收到多余的位置参数放到一个元组中可变长位置参数可以用一个变量来接收所有超出指定参数的位置参数在函数定义的时候再形参位置添加*args用来接收多余的位置参数(args(参数)是可以自己指定的)# 解包语法 : * + 可迭代类型 就能将每一个元素单独解包出来解包语法 : * + 可迭代类型 就能将每一个元素单独解包出来可变长关键字参数接收到多余的关键字参数放到一个字典中。
2024-05-08 14:36:47
940
1
原创 函数以及函数的类型
定义print(f"当前用户已登入!")#调用(定义完之后使用)name()#输出:当前用户已登入!()里面没有放变量函数内部可以直接使用外部头顶上面的参数#方式一 在函数头顶上指定参数#函数内部可以做直接使用外部头顶的参数print("当前用户登入成功!")else:print("当前用户登入失败!")login()
2024-05-08 14:35:34
623
1
原创 列表推导式
列表推导式[表达式 for i in 列表/字典/可迭代的类型][字符串切分/去除空格 for i in 列表/字典/可迭代的类型][if判断 for i in 列表/字典/可迭代的类型]字典推导式{key:value for key in 可迭代的类型 for value in 可迭代的类型}三元运算符为真时的结果 if 返回布尔值的判断条件 else 为假时的结果。
2024-05-08 14:33:36
431
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人