__init__.py、包、模块、函数与变量作用域

文件夹下的 __init__.py 文件:

1.普通的文件夹变成包是在文件夹下包含_init_.py文件
2.__init__.py 模块的导入就是包名
3.__init__.py文件基本的作用是当一个包被导入的时候,__init__.py文件被自动的执行
4.如果在每个模块下都需要导入相同库(比如 import sys),为了避免重复的工作,可以在__init__.py文件下统一导入,然后在需要引入的模块中导入包名即可

.py 文件下的__init__()函数:

  从字面意思来看像是初始化函数。这个函数实际上是python中类的构造函数。在C#或Java中,当创建一个类的时候,一般都会在类中声明一个以类的名字命名的且无返回值的函数,那么这个函数就是类的构造函数。python中的类也一样有着自己的构造函数,不同的是这个构造函数不是以类的名称命名而是固定的__init__()。这个函数在什么时候调用又有什么用途呢?
在C#中

public class Test{
    public Test(){
        Console.WriteLine("我是Test类的构造函数,我在类被示例化时调用");
    }
}
new Test()//此时会调用构造函数并输出“我是Test类的构造函数,我在类被示例化时调用”

在python中

class Test():
    
    def __init__(self):
        print("我是Test的构造函数,我将在类被实例化时调用")
 
t = Test()#此时会输出“我是Test的构造函数,我将在类被实例化时调用”

  构造函数将会在类被实例化时调用,也就是说不管在哪里只要遇到Test(),那么类的构造函数就会被调用。

  因为类在被初始化时会调用构造函数,所以一般情况下,构造函数会用于初始化一些类的基本数据所用。


注意:避免包和模块循环引入


入口文件的概念:
ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。


模块的内置变量,比如__all__ 当引入的时候,可以限制哪些变量不需要导入


大家加油!
学习链接: 第7章 包、模块、函数与变量作用域
python基础语言之__init__()call()str()和__all__的用法及讲解

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值