python全棧開發基礎 補充 包的補充

2022-07-20 12:33:14 字數 2974 閱讀 2238

1.包a和包b下有同名模組也不會衝突,因為a.a與b.a來自倆個命名空間

2.常見目錄結構

# 建立目錄**

import os

os.makedirs('glance/api')

os.makedirs('glance/cmd')

os.makedirs('glance/db')

l =

map(lambda f:f.close() ,l)

3.目錄結構

glance/                   #top-level package

├── __init__.py #initialize the glance package

├── api #subpackage for api

│ ├── __init__.py

│ ├── policy.py

│ └── versions.py

├── cmd #subpackage for cmd

│ ├── __init__.py

│ └── manage.py

└── db #subpackage for db

├── __init__.py

└── models.py

4.檔案內容

#檔案內容

#policy.py

def get():

print('from policy.py')

#versions.py

def create_resource(conf):

print('from version.py: ',conf)

#manage.py

def main():

print('from manage.py')

#models.py

def register_models(engine):

print('from models.py: ',engine)

5.軟體開發規範

6.絕對匯入

glance/                   

├── __init__.py from glance import api

from glance import cmd

from glance import db

├── api

│ ├── __init__.py from glance.api import policy

from glance.api import versions

│ ├── policy.py

│ └── versions.py

├── cmd from glance.cmd import manage

│ ├── __init__.py

│ └── manage.py

└── db from glance.db import models

├── __init__.py

└── models.py

7.相對匯入

glance/                   

├── __init__.py from . import api #.表示當前目錄

from . import cmd

from . import db

├── api

│ ├── __init__.py from . import policy

from . import versions

│ ├── policy.py

│ └── versions.py

├── cmd from . import manage

│ ├── __init__.py

│ └── manage.py from ..api import policy

#..表示上一級目錄,想再manage中使用policy中的方法就需要回到上一級glance目錄往下找api包,從api匯入policy

└── db from . import models

├── __init__.py

└── models.py

8.import  glance 之後直接呼叫模組中的方法

glance/                   

├── __init__.py from .api import *

from .cmd import *

from .db import *

├── api

│ ├── __init__.py __all__ = ['policy','versions']

│ ├── policy.py

│ └── versions.py

├── cmd __all__ = ['manage']

│ ├── __init__.py

│ └── manage.py

└── db __all__ = ['models']

├── __init__.py

└── models.py

import glance

policy.get()

import glance

python 全棧開發 基礎複習

username python password python1 print username s password s username,password 輸出的結果為 username python password python1 為佔位符 s 為str 字串 d為int 數字 ascii 8...

Python 全棧開發 python模組與包

模組是乙個包含所有你定義函式和變數的檔案,即 乙個python檔案就可以稱之為乙個模組。在python中,模組的使用方式都是一樣的,細分可以分為四個通用類別 1 從檔案級別組織程式,更方便管理 隨著程式的發展,功能越來越多,為了方便管理,我們通常將程式分成乙個個的檔案,這樣做程式的結構更清晰,方便管...

西遊之路 python全棧 Modles補充

1 class usertotag models.model 2 nid models.autofield primary key true 3 u models.foreignkey to user 4 t models.foreignkey to tag 5 6class meta 聯合唯一 7...