bai666ai
教授、博士生导师、人工智能技术专家
展开
-
31.Python中的抽象类 (Abstract Class)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618抽象类 (Abstract Class)抽象类是包含一个或多个抽象方法的类。 抽象方法是已声明但不包含任何实现的方法。 抽象类无法实例化,并且需要子类来提供抽象方法的实现。首先是一个不是抽象类的例子:class AbstractClass: def do_something(sel原创 2022-04-06 20:24:16 · 5500 阅读 · 0 评论 -
30.Python中的元类案例:对方法调用次数进行计数
元类案例:对方法调用次数进行计数(Count Method Calls Using a Metaclass)在本节,我们详细说明一个元类,它将装饰子类的方法。 装饰器返回的装饰函数使得可以计算子类的每个方法被调用的次数。通常,这是profiler期望的任务之一。 因此,可以将此元类用于简单的分析目的。 当然,你也可以进一步扩展这个元类来完成其它的分析任务。在深入探讨问题之前,我们介绍如何访问类的属性。 可以使用以下办法获取类的所有非私有属性(在我们的例子中为random类)的列表。import r原创 2022-04-06 20:22:47 · 1609 阅读 · 0 评论 -
29.Python中的元类 (metaclass)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618元类 (metaclass)引入元类的动机为了演示一些可以通过元类解决的设计问题,我们将介绍和设计几个philosopher类。 每个philosopher类都需要使用相同的方法(即 “the_answer”)。 实现这些类的一种的方法是在每个philospher类中使用相同的代码:class Ph原创 2022-04-06 20:21:23 · 198 阅读 · 0 评论 -
28.Python中的type和类的生成
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618type和类的生成在本节中,当定义类或创建类的实例时,我们要更加深入地了解其幕后发生的事情。首先,我们讨论type和类之间的关系。类是如何产生的type通常的用法是判断对象的类型,但除此之外,它最大的用途是来动态的创建类。当Python扫描到class语法的时候,就会调用type函数进行类的创建。原创 2022-04-06 20:19:20 · 414 阅读 · 0 评论 -
27.Python中的猴子补丁 (Monkey Patching)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618猴子补丁 (Monkey Patching)猴子补丁是一项允许在运行时(runtime)更改对象行为的技术。 它是一个非常有用的功能,但它也可能使你的代码更难以理解和调试,因此,在实现猴子补丁程序时必须谨慎。猴子补丁与Python中的灵活性紧密相关。 自定义对象是可变的,因此可以替换其属性而无需创建该原创 2022-04-06 20:15:44 · 1375 阅读 · 0 评论 -
26.Python中的上下文管理器 (Context Manager)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618上下文管理器 (Context Manager)管理资源:在任何编程语言中,诸如文件操作或数据库连接之类的资源使用都很普遍。 但是这些资源都有限。 因此,要确保使用后释放这些资源。 如果不释放它们,则将导致资源泄漏,并可能导致系统变慢或崩溃。 如果用户具有一种自动设置和释放资源的机制,这将非常有帮助。在原创 2022-04-06 20:14:09 · 2281 阅读 · 0 评论 -
25.Python中的函数重载 (Function Overloading)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618函数重载 (Function Overloading)函数重载是具有相同名称但实现多个不同的功能的能力。 调用重载函数时,运行时首先评估传递给函数调用的参数,并以此判断调用相应的实现。# First product method. # Takes two argument and print the原创 2022-04-06 20:12:20 · 6925 阅读 · 0 评论 -
24.Python中的运算符重载
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618运算符重载 (Operator Overloading)运算符重载意味着提供超出其预定义操作的扩展。 例如,运算符+用于相加两个整数、连接两个字符串、和拼接两个列表。 这之所以能做到是因为int类和str类会重载‘+’运算符。这样,相同的内置运算符会对不同类的对象显示不同的行为。# Python pr原创 2022-04-06 20:10:42 · 1280 阅读 · 0 评论 -
23.Python中的exec函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618exec函数exec是Python的内置函数,能够执行储存在字符串或文件中的 Python 语句。 eval()函数只能执行计算数学表达式的结果的功能,而exec()能够动态地执行复杂的Python代码,exec做的是编译和评估字符串中的语句。首先,我们可以看到它可以完成eval所做的相同工作,例如原创 2022-04-06 20:08:35 · 18029 阅读 · 1 评论 -
22.Python中的repr()函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618repr()函数在 Python 中要将某一类型的变量或者常量转换为字符串对象通常有两种方法,即str() 或者 repr() 。repr()和str()区别函数str( )将其转化成为适于人阅读的前端样式文本,而repr(object)就是repr() 函数将对象转化为供解释器读取的形式。返回一个原创 2022-04-06 20:07:05 · 6322 阅读 · 2 评论 -
21.Python中的eval函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618eval函数eval是Python的一个内置函数,这个函数的作用是,返回传入字符串的表达式的结果。即变量赋值时,等号右边的表示是写成字符串的格式,返回值就是这个表达式的结果。list_str = "[1,5.0,7,8,2]"list_eval = eval(list_str)print(typ原创 2022-04-06 20:04:39 · 534 阅读 · 0 评论 -
20.Python中Main 函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618main函数main函数就像程序的入口点。 但是,Python解释器从第一行开始运行代码。 代码的执行从起始行开始,然后逐行执行。 main函数在何处存在或不存在都无关紧要。由于Python中没有main()函数,因此当将运行Python程序的命令提供给解释器时,将执行0级缩进的代码。 但是,在此之前原创 2022-04-05 18:32:03 · 1138 阅读 · 1 评论 -
19.Python中的f-strings字符串格式化
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618f-strings字符串格式化Python f-strings是执行字符串格式化的最新Python语法。 自Python 3.6起可用。 f-strings提供了一种更快、更易读、更简明且不易出错的在Python中格式化字符串的方式。f-strings具有f前缀,并使用{}括号来评估值。在Pytho原创 2022-04-05 18:30:27 · 717 阅读 · 0 评论 -
18.Python中的unicode, str,bytes
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618unicode, str,bytesUnicode当今的程序需要能够处理多种字符。应用程序经常被国际化,以各种用户可选语言显示消息和输出。同一程序可能需要输出英语、中文、法语、日语、希伯来语或俄语的错误消息。 Web内容可以用这些语言中的任何一种编写,也可以包含各种表情符号(emoji symbols原创 2022-04-05 18:28:38 · 629 阅读 · 0 评论 -
17.Python中的魔法函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618魔法函数 (Magic Function)Python中的魔法函数就是以双下划线开头和结尾的函数,这些函数可以让我们自己随意的制定自定义类的特性。__init __ 方法是Python最基本的魔术方法,通过此方法我们可以定义一个对象的初始操作,实际上它背后还有一个__new __方法。__new __原创 2022-04-05 18:26:01 · 2178 阅读 · 0 评论 -
16.Python中的断言
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618断言语句 (Assert Statement)Python提供了assert语句来检查给定的逻辑表达式是true还是false。 仅当表达式为true时程序才继续执行,为false则引发AssertionError。 以下代码显示assert语句的用法。num=int(input('Enter a n原创 2022-04-05 18:23:47 · 475 阅读 · 0 评论 -
15.Python中的map, filter, reduce函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618map, filter, reduce函数一等对象在 Python 中,函数是一等对象(first-class object)。“一等对象”定义为满足下述条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在 Python 中,整数、字符串和字原创 2022-04-05 17:42:14 · 384 阅读 · 0 评论 -
14.Python中的代码内省 (Code Introspection)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618代码内省 (Code Introspection)代码内省是检查类、函数等以了解它们是什么、做什么以及知道什么的能力。内省是一种自我检查(self examination)的行为。内省是在运行时确定对象的类型或属性的能力。 Python中的所有内容都是一个对象。 Python中的每个对象都可以具有原创 2022-04-05 17:40:02 · 767 阅读 · 0 评论 -
13.Python中的白鹅类型 (Goose Typing)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618白鹅类型 (Goose Typing)Python中的接口:协议和ABC (Interfaces in Python: Protocols and ABCs)接口(interface)的概念非常简单-它描述了对象的行为。 接口告诉我们一个对象可以在系统中扮演什么角色。 在面向对象的编程中,接口是对象上原创 2022-04-05 17:37:29 · 626 阅读 · 0 评论 -
12.Python中的鸭子类型 (Duck Typing)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618鸭子类型 (Duck Typing)这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试。鸭子测试可以这样表述:如果走起路来像鸭子,叫起来也像鸭子,那么它就是鸭子(If it walks like a duck and quacks like a duck, it must be原创 2022-04-05 17:34:45 · 477 阅读 · 0 评论 -
11.Python中的内部类(Inner Class)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618内部类(Inner Class)所谓内部类,就是在类的内部定义的类,主要目的是为了更好的抽象现实世界。例子:汽车是一个类,汽车的底盘也可以抽象为类,将其定义到汽车类内中,而形成内部类,更好的描述汽车类,因为底盘是汽车的一部分。内部类的优点:类的逻辑分组:如果一个类只对一个其他类有用那么将它嵌入到该原创 2022-04-05 17:32:25 · 1558 阅读 · 0 评论 -
10.Python中的@classmethod 和 @staticmethod
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618@classmethod 和 @staticmethod在python中使用@classmethod装饰器创建类方法,并使用@staticmethod装饰器创建静态方法。类方法@classmethod装饰器是一个内置的函数装饰器。 一个类方法将类作为第一个参数接收,就像一个实例方法接收实例一样。语原创 2022-04-05 17:29:57 · 247 阅读 · 0 评论 -
9.Python中的__slots__
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618使用__slots____slots__是可以在定义Python类时添加的一个属性(attribute)。 下面是使用__slots__的方法:class WithSlots: __slots__ = ('x', 'y') def __init__(self, x, y):原创 2022-04-05 17:26:18 · 296 阅读 · 0 评论 -
8. Python中的@property
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618Python有一个很好的概念,称为property,它使面向对象的程序员的生活变得更加简单。在定义和详细介绍@property是什么之前,让我们首先建立一个直觉,了解为什么需要使用它。一个例子假设创建一个可以存储摄氏温度的类。 它还实现将温度转换为华氏度的方法。class Celsius:原创 2022-04-05 17:22:58 · 536 阅读 · 0 评论 -
7.Python中的装饰器(Decorator)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618装饰器 (Decorator)装饰器本质上是一个 Python 函数或类,它可以让其他函数或类在不需要做任何代码修改的前提下增加额外的功能。装饰器的返回值也是一个函数/类对象。有了装饰器,我们就可以抽离出大量与函数功能本身无关的雷同代码到装饰器中并继续重用。它经常用于有切面(aspect)需求的场景,原创 2022-02-21 12:27:33 · 361 阅读 · 0 评论 -
6. Python中的闭包(Closure)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618闭包 (Closure)Objects are data with methods attached. Closures are functions with data attached.A Closure is a function object that remembers values in e原创 2022-02-21 12:24:53 · 494 阅读 · 0 评论 -
5. Python中的生成器
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618生成器 (generator)生成器是什么?在Python中构建迭代器有很多开销; 必须使用__iter __()和__next __()方法实现一个类,跟踪内部状态,在没有值返回时抛出StopIteration异常。Python生成器是创建迭代器的简单方法。 上面提到的所有开销都由Python的生原创 2022-02-21 11:53:32 · 200 阅读 · 0 评论 -
4. Python中的迭代器
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618迭代器 (Iterator)迭代器指的是迭代取值的工具,迭代是指一个重复的过程,每一次重复都是基于上一次结果而来。迭代提供了一种通用的不依赖索引的迭代取值方式。迭代器是一个可以记住迭代位置的对象。迭代器从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器有两个基本原创 2022-02-20 20:45:26 · 288 阅读 · 0 评论 -
3.Python中的Partial函数(偏函数)
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618Partial functions (偏函数)函数在执行时,要带上所有必要的参数进行调用。但是,有时参数可以在函数被调用之前提前获知。这种情况下,可以创建一个新函数,以便能用更少的参数进行函数调用。你可以使用functools库中的partial()创建一个偏函数。partial函数允许将具有x个参原创 2022-02-20 20:41:53 · 798 阅读 · 1 评论 -
2. Python中的zip函数
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618zip函数内置的 zip 函数可以并行的对多个可迭代对象进行处理。The zip() function takes iterables (can be zero or more), aggregates them in a tuple, and return it.number_list = [1,原创 2022-02-20 20:30:18 · 2266 阅读 · 2 评论 -
1. Python中的直接赋值、浅拷贝和深拷贝
《Python编程的术与道:Python语言进阶》视频课程《Python编程的术与道:Python语言进阶》视频课程链接:https://edu.csdn.net/course/detail/28618直接赋值、浅拷贝和深拷贝直接赋值:就是对象的引用(别名)。浅拷贝(copy; shallow copy):拷贝父对象,不会拷贝对象内部的子对象。深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝父对象及其子对象。直接赋值例子a = {1: [1,2,原创 2022-02-20 20:26:39 · 347 阅读 · 0 评论