Python保姆教程——Python类中常用的特殊成员

python中那些双下划线开头得函数和变量 以单下划线开头_foo的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用from xxx import *而导入;要重建序列化对象,Python 需要创建一个和被序列化的对象看起来一样的新对象,然后设置新对象的所有属性。方法允许将 color 列为可用属性,对于想使用你的类但却不想深入其内部的人来说,该方法非常有益。“双下划线” 开始的是私有成员,意思是只有类对象自己能访问,连子类对象也不能访问到这个数据。如果要创建自己的类,且对象之间的比较有意义,可以使用下面的特殊方法来实现比较。 阅读详情

在Python中,类特殊成员是指以双下划线开头和结尾的属性和方法,也被称为魔术方法(Magic methods)或特殊方法(Special methods)。这些特殊成员在类的定义中具有特殊的语法和功能,用于实现对象的特定行为和操作。

特殊方法一般由Python解释器调用,无需手动调用。通过在类中定义这些特殊方法,可以改变对象的默认行为,使其具备更多的功能和操作。特殊方法提供了一种更加Pythonic的面向对象编程的方式,可以让代码更加简洁和易读。

__init__

__init__ 是Python中的一个特殊方法,也被称为构造方法。它在创建对象时自动调用,用于初始化对象的属性。通过在类中定义 __init__ 方法,我们可以在对象创建时为其赋予初始状态,设置属性的默认值,或执行其他必要的初始化操作。

__init__ 方法的格式通常如下:

def __init__(self, arg1, arg2, ...):
    self.attribute1 = arg1
    self.attribute2 = arg2
    # ...

self 代表对象本身,arg1、arg2 等是用于接收传入的参数的形参,我们可以根据实际需要为 __init__ 方法传入不同的参数。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("Alittle", 30)

在 __init__ 方法中,我们可以执行其他的初始化操作,例如连接数据库、打开文件、设置默认值等。这使得我们能够在创建对象时,做一些必要的准备工作,确保对象在初始化后即可用。

需要注意的是,Python 中的 __init__ 方法是可选的,不是必须定义的。如果类中没有定义 __init__ 方法,Python 会使用默认的空的 __init__ 方法。但通常情况下,我们会定义 __init__ 方法来初始化对象的属性。

__del__

__del__ 是Python中的一个特殊方法,也被称为析构方法。它在对象被销毁前自动调用,用于进行清理工作。当对象的引用计数为零时(即没有任何变量引用该对象),Python解释器会自动触发 __del__ 方法的调用。

__del__ 方法的格式通常如下:

def __del__(self):
    # 清理代码

在 __del__ 方法中,self 代表对象本身。我们可以在 __del__ 方法中编写需要在对象销毁之前执行的清理代码,例如关闭文件、释放资源、记录日志等。

class FileHandler:
    def __init__(self, filename):
        self.file = open(filename, 'w')

    def write_data(self, data):
        self.file.write(data)

    def __del__(self):
        self.file.close()

handler = FileHandler("data.txt")
handler.write_data("Hello, World!")
# 在退出程序或手动执行 del handler 时,会自动调用 __del__ 方法关闭文件

我们定义了一个 FileHandler 类,其中的 __init__ 方法用于打开文件并创建一个 file 对象。write_data 方法用于向文件写入数据。在 __del__ 方法中,我们通过 self.file.close() 关闭了文件。当程序退出或手动执行 del handler 时,对象 handler 被销毁,会自动调用 __del__ 方法关闭文件,确保资源的正常释放。

另外需要注意的是,__del__ 方法的调用是由Python解释器自动控制的,并不是我们手动调用的。因此,我们不能依赖 __del__ 方法来进行关键性的清理工作,如释放内存。一般来说,Python有自己的垃圾回收机制,会自动管理对象的内存释放。我们只需确保在 __del__ 方法中执行一些简单的清理操作即可。此外,应尽量避免在 __del__ 方法中抛出异常,以免影响其他代码的执行。

__str__

__str__ 也是Python中的一个特殊方法,也被称为字符串表示方法。它定义了当我们对一个对象使用内置的 str() 函数或 print() 函数进行输出时,应该返回的字符串形式表示。简而言之,__str__ 方法用于定制对象的字符串输出。

__str__ 方法的格式通常如下:

def __str__(self):
    # 返回表示对象的字符串

在 __str__ 方法中,self 代表对象本身,没有其他的参数了,我们可以在该方法中编写需要返回的表示对象的字符串形式的代码,例如组织对象的属性信息、状态等。

以下是一个示例,展示了如何使用 __str__ 方法来定制对象的字符串输出:

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        print("call __str__")
        return f"Point({self.x}, {self.y})"

p = Point(3, 4)
print(p)
print("-----------------")
str(p)

上面的示例中的输出

call __str__
Point(3, 4)
-----------------
call __str__

我们定义了一个 Point 类,其中的 __init__ 方法用于初始化点的坐标。在 __str__ 方法中,我们使用格式化字符串 f-string 将点的坐标表示为 ‘(x, y)’ 的形式。当我们对 p 对象使用 print(p) 和 str(p) 时,会自动调用 __str__ 方法,并返回该方法中定义的字符串 (3, 4)。

__repr__

__repr__ 与 __str__ 方法类似,下面直接用一个例子来说明这个和 __str__ 的区别。

class Point:
    def __init__(self, x, y):
        self.x = x
        self.y = y

    def __str__(self):
        print("call __str__")
        return f"Point1({self.x}, {self.y})"

    def __repr__(self):
        print("call __repr__")
        return f"Point2({self.x}, {self.y})"

p = Point(3, 4)
print(p)
print("-----------------")
str(p)
repr(p)

上面的示例中的输出

call __str__
Point1(3, 4)
-----------------
call __str__
call __repr__

从上面的输出可以看出,repr(p) 函数可以自动调用 __repr__,默认情况下,__str__ 和 __repr__ 同时存在的话,str() 和 print()函数就会优先调用 __str__,而如果只有 __repr__ 的话,就会调用 __repr__,不信你们可以把上面例子中的 __str__ 注释掉,然后看看输出情况。

__len__

__len__ 用于定义对象的长度。它主要被用于内置函数 len() 的操作,用于返回一个对象的长度或元素的个数。

__len__ 方法的格式通常如下:

def __len__(self):
    # 返回对象的长度或元素的个数

在 __len__ 方法中,self 代表对象本身。我们可以在该方法中编写代码,返回一个整数,表示对象的长度或元素的个数。

以下是一个示例,展示了如何使用 __len__ 方法来定义一个自定义的容器类并使用 len() 函数获取其长度:

class MyContainer:
    def __init__(self):
        self.data = []

    def __len__(self):
        return len(self.data)

    def add(self, element):
        self.data.append(element)

container = MyContainer()
container.add(1)
container.add(2)
container.add(3)

print(len(container))  # 输出 3,调用了 __len__ 方法

在上面的示例中,我们定义了一个名为 MyContainer 的容器类,该类包含一个名为 data 的列表用于存储元素。在 __len__ 方法中,我们使用内置函数 len() 计算了 data 列表的长度,并返回该长度。当我们通过调用 len(container) 来获取 container 对象的长度时,实际上会自动调用 __len__ 方法,并返回该方法中定义的长度值。

__len__ 方法应该返回一个整数,表示对象的长度或元素的个数。如果一个类没有定义 __len__ 方法,或者 __len__ 方法返回的值不是整数类型,那么调用 len() 函数时会抛出 TypeError 异常。

__getitem__和__setitem__

__getitem__ 和 __setitem__ 几乎都是成对出现的,__getitem__ 用于定义对象的索引操作,即允许通过索引值访问对象的元素,__setitem__ 用于定义对象的赋值操作,即允许通过索引值设置对象的元素值,它主要用于支持下标操作和切片操作。

__getitem__ 和 __setitem__ 方法的格式通常如下:

def __getitem__(self, index):
    # 返回指定索引位置的元素

def __setitem__(self, index, value):
    # 设置指定索引位置的元素为指定的值

这两个方法一个就是取值,一个就是赋值,主要就是应用在对象上面,相对而言比较好理解。

class MyList:
    def __init__(self):
        self.data = []

    def __getitem__(self, index):
        return self.data[index]

    def __setitem__(self, index, value):
        self.data[index] = value

mylist = MyList()
mylist.data = [1, 2, 3, 4, 5]

print(mylist[2])  # 输出 3,调用了 __getitem__ 方法
mylist[2] = 10  # 调用了 __setitem__ 方法赋值
print(mylist[2])  # 输出 10,调用了 __getitem__ 方法

在上面的示例中,我们定义了一个名为 MyList 的列表类,该类包含一个名为 data 的列表用于存储元素。通过实现 __getitem__ 和 __setitem__方法,我们可以使用类似于列表的方式通过索引来访问和设置 data 列表中的元素。 __getitem__ 方法通常与 __setitem__ 方法一起使用,以支持对象的索引和切片操作。通过定义这些方法,我们可以使自定义的类对象能够像内置的容器类型一样进行元素的访问和修改。

如果一个类没有定义 __getitem__ 和 __setitem__方法,或者__getitem__ 和 __setitem__方法不能处理给定的索引值或切片对象,那么当我们尝试通过索引或切片来访问(设置)对象时,会抛出 TypeError 异常。

__call__

__call__ 用于使对象能够像函数一样被调用。通过定义 __call__ 方法,我们可以将一个对象变成一个可调用的实例,类似于函数的行为。

__call__ 方法的格式通常如下:

def __call__(self, *args, **kwargs):
    # 定义对象的调用逻辑

在 __call__ 方法中,self 代表对象本身,args 和 kwargs 是传递给对象调用时的参数。

当我们像调函数一样使用对象时,Python 解释会自动调用对象的 __call__ 方法,并将传入的参数作为参数递给该方法。我们可以在 __call__ 方法中定义对象的调用逻,然后执行相应的操作。

以下一个示例,展示了如何使用 __call__ 方法来定义一个可调用的对象:

class Adder:
    def __call__(self, x, y):
        return x + y

add = Adder()

# 将对象 add 当作函数进行调用
result = add(3, 5)
print(result)  # 输出:8

在上述示例中,我们定义了一个 Adder 类,并实现了 __call__ 方法。在该方法中,我们将传入的两个参数进行相加,Python 解释器会自动调用对象 add 的 __call__ 方法,并将传递给该方法。__call__ 方法中的逻辑会被执行,参数进行相加操作,然后返回结果。

通过使用 __call__ 方法,我们可以将一个对象实例化后,即可像函数一样进行调用,并执行预定义的逻辑。这样可以增加对象的灵活性,使其更加接近函数的行为。__call__ 方法只有在对象被调用时才会被调用,也就是对象被函数那样调用。

通常情况下,__call__ 方法常用于实现可调用的对象,如自定义的函数对象、装饰器、上下文管理器等。通过定义 __call__ 方法,我们可以使对象具有函数的特性,并能够直接调用执行相应的逻辑。

---------------------------END---------------------------

题外话

感谢你能看到最后,给大家准备了一些福利!

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。


👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

img

二、Python兼职渠道推荐*

学的同时助你创收,每天花1-2小时兼职,轻松稿定生活费.
在这里插入图片描述

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

img

四、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

img

👉优快云大礼包🎁:全网最全《Python学习资料》免费赠送🆓!(安全链接,放心点击)

若有侵权,请联系删除

Python的基础语法 python的一些基本语法的描述和示例 阅读详情

相关推荐

Python SQLite3 保姆级教程:从零开始学数据库操作

SQLite3 是一个轻量级的嵌入式数据库,无需安装独立服务,所有数据存储在一个文件中。✅无需配置:像操作普通文件一样使用。✅跨平台:数据库文件可在 Windows/macOS/Linux 共享。✅适合小型项目:APP 配置、本地缓存、小型网站等。事务:一组原子性的操作,要么全部成功,要么全部失败。示例:转账操作(A 扣款,B 加款必须同时成功)。连接数据库(文件 vs 内存)创建表(字段类型与约束)增删改查(参数化查询防注入)事务管理(提交与回滚)

免责声明:本资料部分整理自合法网络公开渠道,部分为个人学习积累成果,仅作学习参考、学术交流使用。所收费用仅为资料搜集整理的时间劳务酬劳。版权归原作者及出版方所有,本人不承担相关版权及内容法律责任,若有侵权请告知,即刻删除处理。 3097

Python学习笔记(十四):类特殊成员

Python学习笔记(十四):类特殊成员 类的特殊属性和特殊方法Python学习笔记(十四):类特殊成员一.类特殊成员二.__new__()三.__repr__()四.__del__()五.__dir__() 一.类特殊成员 二.new() 三.repr() 四.del() 五.dir() ...

YOU 9532

Python类中的常用特殊成员简介及示例

除了一般方法和属性外,类还有一些特殊的成员,这些特殊的成员通常以双下划线开头和结尾,如__init__,__str__等,它们被称为特殊成员或魔术方法。当一个新的对象被创建时,Python会自动调用__init__方法,传入self参数,创建一个空对象self,并根据类定义的变量和方法初始化对象。Python类中的特殊成员在很多情况下可以方便地为我们提供更强大的类定义和操作方法,这些特殊成员都具有一定的规则和限制,请在使用时注意相关规范,以便开发出更加规范化和易于维护的代码。

uote_e的博客 253

(九)类特殊成员(属性和方法)

前面章节介绍了Python中的各个序列类型,每个类型都有其独特的操作方法,例如列表类型支持直接做加法操作实现添加元素的功能,字符串类型支持直接做加法实现字符串的拼接功能,也就是说,同样的运算符对于不同序列类型的意义是不一样的,这是怎么做到的呢?其实在 Python 内部,每种序列类型都是 Python 的一个类,例如列表是 list 类,字典是 dict 类等,这些序列类的内部使用了一个叫作“重载运算符”的技术来实现不同运算符所对应的操作。

sinat_41942180的博客 412

29.保姆级教程带你做一个属于自己的博客网站

29.保姆级教程带你做一个属于自己的博客网站

孤寒者的博客 14万+

python自学——一、python基础知识

一、python 基础知识 1、 标识符 (1)标识符由字母、数字、下划线组成。 (2)所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 (3)Python 中的标识符是区分大小写的。 (4)以下划线开头的标识符是有特殊意义的。以单下划线开头 _foo 的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用 from xxx import * 而导入。 2、专用标识 以双下划线开头的 __foo 代表类的私有成员,以双下划线开头和结尾的 foo 代表 Python 里特殊方法专用的标识,如 init() 代表类的构造函数。 3、一行显示多条语句 Python 可以同一行

【保姆级教程】VS Code安装配置Python、Jupyter、C

介绍如何安装VSCode、miniconda,介绍如何在VSCode配置Python、Jupyter、C,并附有截图等详细步骤,小白极度友好

weixin_46578004的博客 2万+

鼎捷T100—二次开发:客制化联络对象维护作业 aooi350

鼎捷T100二次开发,客制化

weixin_52342654的博客 1133

Python爬虫保姆级入门教程:快速掌握网络数据抓取技能

Python爬虫保姆级入门教程:快速掌握网络数据抓取技能 去发现同类优质开源项目:https://gitcode.com/ 在数字化时代,数据的重要性不言而喻。Python爬虫保姆级入门教程作为一款面向初学者的教程,旨在帮助读者轻松入门Python爬虫技术,快速掌握网络数据抓取的核心技能。 项目介绍 Python爬虫保姆级入门教程提供了一份详细的PDF教程,全面覆盖了Python爬虫的基本概念、技...

gitblog_06779的博客 724

UDS $27服务DLL文件生成

UDS 27算法 DLL文件生成

hkj8808的博客 1284

Android Studio打包全攻略---从入门到精通

初出茅庐 手动打包怎么手动打包项目写完了,现在需要把应用上传到市场,问题出现—怎么把代码变成.apk(Android的可安装文件)。 1. 创建签名文件 2. 填写好签名参数 3. 生成APK 注意:签名的密码和密匙的密码注意保管,不要忘了,签名文件别泄漏了,也别搞丢了为什么要打包我最开始就有这个疑问,我们的代码不是点了下运行按钮就直接安装到手机上了吗,我们在在项目Project

我早就想,要这样载着你,翻山越岭 2万+

Python爬虫保姆级入门教程

Python爬虫保姆级入门教程 去发现同类优质开源项目:https://gitcode.com/ 欢迎来到Python爬虫保姆级入门教程的下载仓库!这里提供了一份详细的PDF教程,旨在帮助初学者快速掌握Python爬虫的基本技能。 简介 这份教程全面介绍了Python爬虫的相关知识,从基础的爬虫概念、Python语法入门,到具体的爬虫技术实现,如数据抓取、解析和存储。内容丰富,步骤清晰,让零基础的...

gitblog_06759的博客 2034

杰理芯片外挂Flash音乐播放功能避坑指南(附FAT文件系统配置)

本文详细解析了杰理芯片外挂Flash实现音乐播放功能的技术要点与常见问题,包括硬件连接、SPI驱动配置、FAT文件系统烧录及音乐播放集成等关键环节。特别针对Flash选型、FAT文件系统配置等易错点提供实用解决方案,帮助开发者高效完成嵌入式音频系统开发。

yhn45678901的博客 834

Python环境搭建【保姆级】教程(2025年更新)

本教程面向Python初学者,详细讲解Windows系统下的Python开发环境搭建。主要内容包括:1)Anaconda和Miniconda的安装与配置;2)PyCharm IDE的安装与项目管理;3)Jupyter Notebook的基本使用。教程提供了软件下载链接(百度云/阿里云/123盘),并逐步演示了Anaconda环境创建、PyCharm项目设置及代码运行的三种方法。最后还介绍了Python文件创建和Terminal命令行执行方式。最新更新于2025年8月8日

lining9508的博客 21万+

电磁弹射器电源设计参数

电磁弹射器采用中高压直流供电系统(5,000-12,000V DC),以满足航母弹射的高功率需求(单次120+兆焦耳)。典型系统如福特级航母EMALS,峰值功率达100-130MW,工作电压8-10kV DC,通过高压设计降低电流(15-20kA)并提升效率20%。系统包含整流、储能和脉冲逆变环节,电压随载荷动态调整(轻型4-6kV,重型8-12kV)。采用特殊绝缘材料和模块化设计确保安全,相比蒸汽弹射节能30%且控制更精准(误差<±2%)。

320

【电子通识】TINA-TI怎么使用受控源向导创建受控源

TINA-TI怎么使用受控源向导创建受控源

一点硬件 360

[保姆教程] [Python] 3分钟搭建Python远程开发环境

简介 这篇文章将帮助你学习,如何在Linux虚拟机环境下,配置Python开发环境,并通过VSCode访问虚拟机中的工程。 前提条件是你已经掌握了搭建Linux.Ubuntu虚拟开发环境的技能,如果你还没有掌握,请参考《如何在Windows环境下搭建基于Ubuntu的虚拟开发环境》。 学习目标 在Linux环境下配置Python开发环境 创建和访问虚拟机上的Python项目 在Ubuntu上配置Python环境 该段落会跳过XShell与虚拟机连接的知识,具体

IMTIY的博客 1631

多出来的那一截:Java 堆外内存 OOM 的来源分账、分流排查与治理解析

Java进程的RES常比-Xmx多出一截,堆却平稳。本文把堆外内存拆成直接缓冲区、Unsafe、JNI本地库、线程栈、元空间与文件映射六类,用JDK 8与17的六组实验对照RSS、NMT、BufferPool三本账:clear()不释放内存;MaxDirectMemorySize默认约等于堆上限且只管直接缓冲区;禁用显式GC会让申请线程退避半秒后失败;未关闭的Deflater零GC下让RSS涨1GB;Netty池内泄漏GC救不回。最后给出定性、对账、定位的排查路线与预算、编码、监控三层治理。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 14万+

安装python及配置pip加速保姆级教程

安装python及配置pip加速保姆级教程 小左1120 学python的必须要安装python,是吧? 还要用pip,这篇文章将详细的教你安装python

小左1120的博客 578

Jenkins部署前后端分离项目最全图文教程(手把手教学)

最近Jenkins部署的热度比较高,于是就想出一篇关于我是如何使用Jenkins部署前后端分离项目的,本篇记录了我是如何一步一步去配置、搭建和部署的完整流程,每一行代码都进行了实测和讲解,通过图文的教学写成博客分享给大家!

黄团团的个人博客 4782

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

python安装保姆级教程

python安装保姆级教程

蜡笔小新说安全的博客 1209

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Python+PyCharm安装教程,Python+Pycharm环境配置和使用指南,以及如何使用pycharm运行你的python代码(保姆级)

真实在Windows上安装过Python的小伙伴会发现在 Windows 上安装Python真的和安装普通软件一样简单,我们只需要在官网下载个安装包,然后猛击“下一步”就可以了(真的秒~)!此处我选择的是最3.11.4版本,但是如果你因为项目对Python版本有特定要求的话,可以此界面下滑选择需要的版本下载!需要插一嘴的是,为了防止你们下错而死在了安装上,简单对此界面一些前缀后缀进行说明(认真看看你下的是不是你想要的):|前后缀|含义|------

weixin_65644655的博客 3651

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

windows系统Python-3.6安装教程(保姆级教程)

Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言, 随着版本的不断更新和语言新功能的添加,逐渐被用于独立的、大型项目的开发。Python解释器易于扩展,可以使用C语言或C++(或者其他可以通过C调用的语言)扩展新的功能和数据类型。Python也可用于可定制化软件中的扩展程序语言。

qq_41663505的博客 3万+

vsomeip环境搭建保姆级教程

本教程详细介绍了在Ubuntu系统上搭建vsomeip环境的步骤。首先,通过VMware安装Ubuntu系统,接着从GitHub或网盘获取vsomeip代码。然后,安装必要的依赖项,包括cmake、g++、Boost、git、curl、build-essential、doxygen、libsystemd-dev、graphviz等。随后,编译并安装automotive-dlt、benchmark和googletest。完成依赖安装后,进入vsomeip目录,创建build文件夹并执行cmake和make命令

qianshang52013的博客 1557

【Python教程】保姆版教使用Pyinstaller 打包python成exe文件

前言 相信大家都想把自己完成的项目打包成EXE应用文件,然后就可以放在桌面随时都能运行了,下面来分享利用pytinstaller这个第三方库来打包程序,既简单又快捷,我也试过用其他的方式来打包Python文件,但是都没有pyinstaller这个好用和快捷 首先我将详细的将整个操作过程写出来,你首先要安装pycharm,这个操作,就不必说了,(看完一定能学会) 步骤 打开pycharm的终端terminal 然后pip install pyinstaller(任何库都可以),然后会出现安装日志。 因为我已

flyskymood的博客 20万+

【亲测免费】 16个保姆级Python菜鸟教程

16个保姆级Python菜鸟教程 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一份详尽的Python学习资料,特别适合Python初学者。资料包含16个保姆级别的教程,内容丰富,讲解细腻,能够帮助菜鸟级程序员快速掌握Python编程的基础知识和技巧。 资料文件: 文件名:16个保姆级 Python 菜鸟教程.docx 描述:该文档详细覆盖了Python编程语言的...

gitblog_06756的博客 452
上一篇: Python保姆教程——全方位解析Python中的装饰器
下一篇: Python保姆教程——Python面向对象的属性和方法
Python_P叔
博客等级 码龄3年 5454粉丝 827原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值