python 基礎篇 模組化

2022-03-27 20:32:48 字數 1529 閱讀 2159

在做專案的時候,雖然你不可能把全世界的**都放到乙個資料夾下,但是類似模組化的思想還是要有的——那就是以專案的根目錄作為最基本的目錄,所有的模組呼叫,都要通過根目錄一層層向下索引的方式來 import。

目錄結構

├── env.sh

├── proto

│   └── mat.py

├── src

│   └── main.py

└── utils

└── mat_mul.py

# proto/mat.py

class matrix(object):

def __init__(self, data):

self.data = data

self.n = len(data)

self.m = len(data[0])

# utils/mat_mul.py

from proto.mat import matrix

def mat_mul(matrix_1: matrix, matrix_2: matrix):

assert matrix_1.m == matrix_2.n

n, m, s = matrix_1.n, matrix_1.m, matrix_2.m

result = [[0 for _ in range(n)] for _ in range(s)]

for i in range(n):

for j in range(s):

for k in range(m):

result[i][k] += matrix_1.data[i][j] * matrix_2.data[j][k]

return matrix(result)

# src/main.py

from proto.mat import matrix

from utils.mat_mul import mat_mul

a = matrix([[1, 2], [3, 4]])

b = matrix([[5, 6], [7, 8]])

print(mat_mul(a, b).data)

########## 輸出 ##########

[[19, 22], [43, 50]]

方法1 將 當前模組的根目錄加入到環境變數pythonpath,在終端中 執行source env.sh使其在終端中臨時生效。

# env.sh

#!/bin/bash

export pythonpath=$pythonpath:$(pwd)

方法2 修改sys.path

import sys

sys.path[0] = '/home/ubuntu/workspace/your_projects'

SeaJS模組化基礎

測試sea.js 檔案 define function require,exports,module exports.b function btn on click function 對外屬性,也可以通過return語句直接返回介面,甚至簡化為define module.exports 檔案 def...

模組化小基礎

今天整理下模組化,從基本運用到實踐。html直接雙擊開啟會報錯,需要在伺服器下執行。lochost 8080 import 存在於變數提公升。匯出模組如果內容有定時器更改,外面引入內容也會更改。import 語法 不能寫入if 語句之類中的。use strict 預設嚴格模式。基礎1.01.js e...

python的模組化

一 模組化 二 匯入語句 1 import語句 import functools 匯入頂級模組 import os.path 匯入非頂級模組 print dir print functools 匯入頂級模組,其名稱會加入到本地命名空間中,並繫結到其模組物件 匯入非頂級模組,將其頂級模組加入到本地命名...