python模块和类和方法_笨方法学Python:包、模块与类

本文介绍了Python编程中的包、模块和类的概念。包是类似文件夹的结构,通过__init__.py文件标识,方便代码管理和调用。模块是.py文件,可以被引入使用。类是面向对象的基础,用于组织代码。文章还提到了命名空间和相对、绝对路径的概念,并举例说明了如何处理同名模块和引用不同包下的模块。
摘要由CSDN通过智能技术生成

今天跟大家讲一下Python的组织架构,一方面方便大家理解这些编程术语以及生活中看到的一些代码;另一方面,为了大家进入下一阶段Python面向对象的时候不会一头雾水。先让大家看一下Python项目的组织架构图。

接下来按照顺序介绍一下它们吧。

1. 包(package)

包其实可以理解为文件夹,这个文件夹下面放着很多模块。(模块其实就是你写的那些.py文件)包其实的作用就是将代码文件给整合在一个文件夹下面,方便调用和管理。

正常引用一个包是这样做的:

包的命名和文件夹命名一样,不过还是那句话,不要用中文。

那Python如何识别普通的文件夹与包呢?包有一个标志文件,叫做__init__.py,假如一个文件夹下面有这个模块(文件),那么Python就会认为这个文件夹是一个包。

在这里,跟大家再讲一个知识点,叫做绝对路径和相对路径,绝对路径是从盘符开始的路径,形如:

C:windowssystem32cmd.exe。相对路径:是从当前路径开始的路径,假如当前路径为C:windows,要描述上面的路径,则是.system32cmd.exe。.的意思就是当前目录下的意思,..则是上一个目录。之后遇到的话会跟大家再次提及。

2.模块(module)

模块其实可以理解为包下面的.py后缀的文件。引入方式如下,假如你在chinese.py下定义了一个变量

people = 1,想在math.py下使用:

同时,你会发现在bao的文件夹下生成了一个文件夹__pycache__,不需要理会它,是用于加快Python执行速度用的。

那现在假如有这样的情况,有两个包下面有两个同名的模块,那该怎么区分呢?这里就要引入命名空间的概念了,命名空间是名字和对象的映射,怎么理解呢?比如在刚才的包下面有两个子包(就是包下面的包)sub_bao和sub_bao2,它们都有叫chinese的模块,sub_bao模块下有个变量a,sub_bao2下面有个变量b:

引用如下:

或者可以这样:

觉得第二种太长了,可以这样缩减:

现在来说说那个包的标识文件有什么用,其实是叫做初始化模块,它的作用是当你导入一个包时,会自动执行这个__init__.py的代码,比如在sub_bao的初始化模块写下如下代码:

之后引入这个包,执行代码你会发现:

3. 类(class)

类其实是关于面向对象的知识,我打算下一篇文章对大家进行讲解,因为这个知识比较抽象,可能无法一下子理解它,不过其实它就是模块下的代码,它长这样:

今天的内容就到这里,大家可以自行在网上了解一下Python自带的包,引入玩玩看,就当是课后作业吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值