
Python笔记
文章平均质量分 82
python学习过程记录
hardStudy_h
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Python——模块和包
除了Python标准库中的模块外,你还可以创建自己的模块。只需编写一个.py文件,并在其中定义所需的函数、类和变量即可。然后,你可以在其他Python程序中使用import语句来导入这个模块,并使用其中定义的内容。原创 2024-08-30 16:33:37 · 1441 阅读 · 0 评论 -
Python——造物者type( )、元类与抽象基类
定义type()函数是Python的一个内置函数,用于获取一个对象的类型信息。基本用途:主要用于确定变量或对象的数据类型,以便进行类型检查或转换等操作。type()函数在Python中扮演着举足轻重的角色,它不仅是获取对象类型信息的工具,还是实现动态编程和元编程的重要手段。通过深入理解type()函数的前因后果和内部机制,我们可以更加灵活和高效地利用Python的强大功能。元类本身也是类,但它们与普通类的区别在于它们被用来创建类。在Python中,所有的类默认都是由type这个元类创建的。原创 2024-08-30 15:20:11 · 2073 阅读 · 0 评论 -
Python——类装饰器
类装饰器定义为一个函数,该函数接收一个类作为参数,并返回一个新的类(通常是修改后的类)。原创 2024-08-30 11:16:31 · 1139 阅读 · 0 评论 -
Python——property函数、类方法和静态方法以及描述符
counter = 0 # 类变量cls.counter += 1 # 修改类变量# 调用类方法MyClass.increment() # 输出: Counter is now: 1MyClass.increment() # 输出: Counter is now: 2在这个例子中,increment是一个类方法,它通过装饰器来定义。这个方法简单地递增了类变量counter的值,并打印出当前的计数值。注意,由于这是一个类方法,它接收cls。原创 2024-08-30 10:18:31 · 1427 阅读 · 0 评论 -
Python——使用__iter__和__next__实现迭代器
方法是Python中的一个特殊方法(也称为魔法方法或双下划线方法),它允许对象使用类似字典键(对于映射类型)或索引(对于序列类型)的语法来访问其项。在大多数情况下,迭代器对象就是实现了迭代器协议的对象自身,这意味着同一个对象既是可迭代的(实现了。这两个方法一起工作,使得Python的迭代器能够以统一的、可预测的方式遍历集合中的元素。迭代器是Python中一种强大的工具,它们提供了一种灵活的方式来遍历集合中的元素,同时支持延迟计算和节省内存。方法,可以创建自己的迭代器类,以支持对自定义数据结构的迭代操作。原创 2024-08-29 11:15:13 · 1403 阅读 · 0 评论 -
Python——魔法方法
实际上,Python提供了许多其他的魔法方法,它们可以覆盖几乎所有的Python内置操作。Python的魔法方法(也称为特殊方法或双下划线方法)是Python的内置方法,它们在类定义中用于执行特定的操作,如对象创建、属性访问、比较、序列化等。但是,需要注意的是,是两个特殊的魔法方法(也称为特殊方法或双下划线方法),它们在类的实例化过程中和对象销毁时分别扮演着重要的角色。装饰器,但它在行为上类似于静态方法),它在类的实例创建时首先被调用。方法的调用时机是不确定的,特别是在涉及循环引用和垃圾回收机制时。原创 2024-08-28 16:13:13 · 949 阅读 · 0 评论 -
Python——私有变量和slots类
时,这被视为一个约定,表明该属性是“受保护的”或“私有的”,旨在表明这个属性或方法主要是为了类的内部使用,而不是在类的外部直接访问的。)前缀的命名方式来创建“魔法”属性或方法,这些属性或方法会被Python的名称改写机制(name mangling)自动修改名称,使得它们几乎不可能从类的外部直接访问。事实上Python也正是通过修改变量的名称使其不能按照原本名称进行访问,从而达到私有变量的作用,而这种改名称也是有规律的,但是,Python提供了一种约定俗成的方式来模拟私有变量的行为,即使用单个下划线(原创 2024-08-28 11:11:37 · 678 阅读 · 0 评论 -
Python——Mixin设计模式
Mixin类通常命名时带有Mixin后缀,但这并不是强制的,只是为了在代码中清楚地表明其作为Mixin的用途。"""返回创建时间""""""返回更新时间""""""设置时间戳"""原创 2024-08-28 10:27:29 · 730 阅读 · 0 评论 -
Python——类和对象、继承和组合
在Python中,使用class关键字来定义一个类。类的定义包括类名和类的体(缩进块),其中类的体可以包含属性(变量)和方法(函数)。# 类属性(通常是静态属性,用于所有实例共享的数据)# 但通常我们定义在__init__中的是实例属性# 初始化方法,特殊方法__init__,用于创建对象时初始化对象的属性self.name = name # 实例属性self.age = age # 实例属性# 定义一个方法__init__方法是一个特殊方法,称为类的构造器或初始化方法。原创 2024-08-27 17:41:04 · 1151 阅读 · 0 评论 -
Python——异常
ython 中的异常是一种用于处理在程序执行期间可能发生的错误的机制。但是,通过使用 try...except 语句块,你可以捕获并处理这些异常,从而防止程序因为错误而完全停止。一个异常处理块可以引发另一个异常,同时保留原始异常的上下文。这样做的好处是,当新的异常被抛出时,调用者可以了解到新异常是由哪个原始异常触发的,这对于调试和日志记录特别有用。Python 提供了许多内置的异常类,用于处理不同类型的错误情况。是所有内建的非系统退出类异常的超类。模块来查看异常的完整调用栈。:与连接相关的异常的基类。原创 2024-08-27 15:33:14 · 1209 阅读 · 0 评论 -
Python——文件的基本操作、上下文管理器、pickle序列化和路径处理
模块是一个强大的序列化和反序列化工具,它允许你将几乎所有的Python对象结构转换为一个字节流,然后这个字节流可以被保存到文件中,或者通过网络传输到另一个Python程序中,之后再被反序列化回原来的Python对象结构。语句和上下文管理器(Context Managers)是Python中一个非常强大且常用的特性,它们提供了一种简便的方式来封装常用的try...finally模式,特别是在进行文件操作、数据库连接、网络通信等需要资源管理的场景时非常有用。模块的核心,它表示一个文件系统路径。原创 2024-08-27 11:42:38 · 809 阅读 · 0 评论 -
Python——生成器、递归、内省、高阶和偏函数
使用def语句定义一个函数,在函数中使用至少一个yield语句。每次yield调用都会暂停函数的执行,并返回紧随其后的值给调用者。下一次调用生成器的__next__()方法(或使用next()内置函数)时,函数将从上次离开的地方继续执行,直到遇到下一个yield或执行完毕。yield 1yield 2yield 3# 使用生成器print(next(gen)) # 输出 1print(next(gen)) # 输出 2print(next(gen)) # 输出 3。原创 2024-08-26 19:20:24 · 1076 阅读 · 0 评论 -
Python——嵌套函数、闭包、装饰器和lambda匿名函数
Python的装饰器是一个非常强大的工具,它提供了一种优雅的方式来增强或修改函数的功能,而无需修改函数本身的代码。ython的装饰器(Decorator)是一个非常强大且灵活的工具,它允许你在不修改原有函数或类定义的情况下,给函数或方法添加新的功能。装饰器本质上是一个函数,这个函数接收一个函数作为参数并返回一个新的函数。:嵌套函数提供了一种封装代码的方式,使得内部函数只能被外部函数访问(如果外部函数不返回内部函数的话)。函数经常与Python中的高阶函数(接受函数作为参数或返回函数的函数)一起使用,比如。原创 2024-08-26 17:00:38 · 1176 阅读 · 0 评论 -
Python——函数基础操作
在Python中,函数参数是传递给函数的值或变量名,它们在函数体内被使用以执行特定的任务。这个特性是在Python 3.8版本中引入的,旨在提高函数定义的清晰度,并允许开发者更好地控制参数的使用方式。关键字参数是在调用函数时,通过参数名(关键字)来指定参数值的参数。)都必须是关键字参数。这意味着,在调用函数时,你不能通过位置来传递这些参数,而必须使用它们的名字。时,它后面的所有参数都被视为位置参数,即使它们在调用时使用了关键字。位置参数是函数定义时声明的参数,这些参数在调用函数时必须按位置顺序提供值。原创 2024-08-26 15:41:08 · 804 阅读 · 0 评论 -
Python——集合基本操作以及哈希函数
Python 中的集合(Set)是一个无序的、不包含重复元素的数据结构。集合主要用于数学上的集合操作,如并集、交集、差集和对称差集等。集合使用大括号{}来表示,但注意空集合不能使用{}表示(这会创建一个空字典),而应该使用set()来创建。原创 2024-08-26 11:02:26 · 1336 阅读 · 0 评论 -
为什么{x: y for x in [1, 3, 5] for y in [2, 4, 6]}输出是:{1:6,3:6,5:6}
值都关联起来(但这在普通字典中是不可能的,因为键是唯一的),可能需要考虑使用其他数据结构,如列表的列表、字典的列表、或更复杂的嵌套字典等。Python 的字典推导式在处理嵌套循环时,并不是简单地将每个。值,并且因为字典的键是唯一的,所以最终每个。如上所见,虽然我们在推导过程中考虑了所有的。(1, 3, 5),字典推导式会遍历列表。配对成键值对,而是会遍历所有的。值,但由于字典键的唯一性,每个。中的最后一个元素(即 6)关联。对,但由于字典键的唯一性,每个。实际上,我们观察到的输出。在这个例子中,对于每个。原创 2024-08-23 17:51:01 · 229 阅读 · 0 评论 -
Python——字典
Python 中的字典(Dictionary)是一种非常灵活且强大的数据结构,它允许你存储任意类型对象,如整数、字符串、列表乃至其他字典等,作为键值对(key-value pairs)的集合。字典中的每个元素都是一个键值对,键(key)是唯一的,并且用于访问其对应的值(value)。原创 2024-08-23 17:45:00 · 1109 阅读 · 0 评论 -
Python——序列及常见操作
函数返回的是一个整数,它表示了对象在Python解释器内存中的位置(尽管这种解释并不完全准确,因为Python解释器可能会移动对象以优化内存使用,但在这个移动过程中,对象的ID会保持不变,直到对象被销毁并重新分配)。因此,这两个变量会有相同的。是两个非常特殊的比较运算符,它们不是用来比较两个对象的值是否相等,而是用来比较两个对象是否是同一个对象(即,它们是否指向内存中的同一个位置)。时,Python会从内存中删除该对象的引用,如果这是对该对象的最后一个引用,那么该对象也会从内存中删除(即被垃圾回收)。原创 2024-08-22 17:33:50 · 1215 阅读 · 0 评论 -
Python——字符串及常见操作总结
操作符是Python中最古老的字符串格式化方法,但现在已较少使用。方法提供了一种灵活且强大的方式来格式化字符串。f-string(格式化字符串字面量)是Python 3.6及更高版本中推荐的字符串格式化方法,因为它既简洁又高效。在实际开发中,建议尽可能使用f-string来格式化字符串。如果你正在使用Python 3.6或更高版本,并且追求代码的简洁性和性能,那么f-strings是首选。如果你需要更复杂的格式化选项,或者你的代码需要兼容Python 2.x版本,那么.format()原创 2024-08-22 15:31:11 · 832 阅读 · 0 评论 -
Python——元组
Python中的元组(Tuple)是一种有序的数据集合,它允许你存储一系列的元素,这些元素可以是不同类型的数据。与列表(List)不同的是,元组是不可变的,这意味着一旦创建了一个元组,你就不能修改它的元素(即不能添加、删除或更改元组中的元素)。原创 2024-08-21 17:39:24 · 453 阅读 · 0 评论 -
Python——嵌套列表以及列表推导式
这是最直接的方法,你只需在方括号内用另一对方括号定义子列表。浅拷贝:只复制列表本身,不复制列表中的元素(如果它们是可变对象)。深拷贝:不仅复制列表本身,还递归地复制列表中的所有元素(包括嵌套的可变对象)。在处理包含可变对象的嵌套列表时,选择正确的拷贝方式非常重要,以避免意外的副作用。原创 2024-08-21 16:48:11 · 3148 阅读 · 0 评论 -
Python——列表的常见操作总结
Python 中的列表(List)是一种非常灵活的数据结构,用于存储序列化的数据集合。列表是可变的,意味着你可以在创建列表后添加、删除或修改其中的元素。列表中的元素可以是不同类型的数据,如整数、浮点数、字符串、甚至是另一个列表(即列表的嵌套)。原创 2024-08-21 13:52:39 · 998 阅读 · 0 评论 -
Python——分支和循环
在Python中,分支和循环是控制程序流程的基本结构,它们允许程序根据条件执行不同的代码块,或者重复执行某个代码块直到满足特定条件。下面将详细解释这两种结构。原创 2024-08-20 18:29:25 · 995 阅读 · 0 评论 -
Python——数字类型及常见问题总结
Python 提供了丰富的数字类型,包括整数、浮点数、复数和布尔型,每种类型都有其特定的用途和特性。这些类型使得 Python 成为进行各种数学和科学计算的强大工具。原创 2024-08-20 14:35:51 · 813 阅读 · 0 评论 -
Python——常用基本函数总结
Python 是一种广泛使用的高级编程语言,它提供了丰富的内置函数和库,用于执行各种任务。这里,我将总结并讲解一些 Python 中常用的基本函数,这些函数在编程中非常常见且基础。原创 2024-08-20 11:18:56 · 361 阅读 · 0 评论 -
Python——变量和字符串以及转义字符常见问题总结
变量和字符串是Python编程的基础。变量用于存储数据,而字符串是存储文本数据的数据类型。字符串支持多种操作,包括拼接、重复、索引和切片,但需要注意的是字符串是不可变的。原创 2024-08-20 11:04:38 · 1009 阅读 · 0 评论 -
Python学习———随机数
要实现对伪随机数的攻击就需要拿到他的种子,默认情况下random使用当前操作系统的系统时间来作为随机数种子。Python有大量现成的专业模块供我们调遣使用,其中随机数random便是一个单独的生成伪随机数的模块。通过rangdom.setstate()设置随机数生成器内部状态,就可以实现对随机数的攻击或者说是复现。伪随机数:目前科学界认为只有通过量子纠缠才能实现真正的随机数,即量子计算机才能产生真正的随机数。rangdom.getstate()函数来获取随机数的种子,加工之后随机数生成器的内部状态。原创 2023-09-18 17:52:42 · 283 阅读 · 1 评论 -
Python学习———变量 字符串
5.Triple quotes使用以三个单引号或者双引号成对出现,使用时定义的字符串可直接进行换行操作,而不用通过转义字符进行实现。同时引出了一个问题,当需要定义的字符串中同时包含双引号和单引号时,推荐使用转义字符对单引号和双引号进行转义。python默认所有的反斜杠\都是转义字符,在我们需要\作为输出时就要在语句前加上r。注:单双引号必须成双对出现,当字符串中含有单引号时,使用双引号定义可避免报错。字符串的加法我们叫做拼接,就是将字符串组合成一个新的长的字符串。5.不同变量的值是可以传递的。原创 2023-09-13 10:53:57 · 351 阅读 · 1 评论