# 文件夹 包
#非py 文件 包:py 文件
# 一个包中科院存放多个模块
# 项目 > 包 > 模块 > 类 > 函数 > 变量
# from 包 import 模块
#
# 使用包中的User 类
#from article import models
# from user import models
#
# u = models.User('admin','123456')
# u.show()
# from user.models import User
# u = User('admin','1234')
# u.show()
#
# from article.models import Ariticle
#
# a = Ariticle('月度总结','子龙')
# a.show()
from user.models import *
# print(version)
# u = User('zilong','1234')
from user.models import version
print(version)
list1 = [1,3,5,6,7,8]
from calculate import add
result = add(*list1)
print('和是',result)
__all__ = ['User']
version = 'v1.1'
class User:
def __init__(self,usernam,password):
self.username = usernam
self.password = password
def login(self,username,password):
if username == self.username and password == self.password:
print('登录成功')
else:
print('登陆失败')
def publish_article(self,article):
print(f'{self.username}发表了文章:{article}')
def show(self):
print(self.username,self.password)
if __name__ == '__main__':
print('-------user--------- ')
'''
__init__.py文件
当导入包的时候,默认调用 __init__.py 文件
作用:
1,当导入包的时候,把一些初始化的函数,变量,定义在__init__.py 文件中
2,此文件中的函数,变量的访问,只需要通过包名,函数
3,结合 __all__ = [通过* 可以访问的模块]
'''
import user
from user.models import User
user.create_app()
user.printA()
# from 模块 import * 表示可以使用模块里面的所有内容,如果没有定义__all__ = [] 所有的都可以访问
# 但是如果定义了,只有列表中的可以访问
# from 包 import * 表示该包中的内容(模块)是不能访问,就需要在 __init__.py 文件中定义__all=[可以通过*访问的模块]
from user import *
from user.test import *
print(test.Max)