python 包管理(包 模組 命名空間)

2021-09-25 07:51:52 字數 2949 閱讀 1311

如何定義模組 

如何使用模組

語法import module_name 

module_name.function_name 

module_name.class_name

import 模組 as 別名

from module_name import func_name, class_name

from module_name import *

if __name__ == "__main__的使用 

系統預設的模組搜尋路徑

import sys

sys.path 屬性可以獲取路徑列表

# 案例 p06.py

import package_name as p

import package.module

import package.module as pm

from … import 匯入

from package import *

from package.module import *

在開發環境中經常會所以用其他模組,可以在當前包中直接匯入其他模組中的內容

__all__的用法

01.py

# 包含乙個學生類,

# 乙個sayhello函式,

# 乙個列印語句

class student():

def __init__(self, name="noname", age=18):

self.name = name

self.age = age

def say(self):

print("my name is ".format(self.name))

def sayhello():

print("hi, 歡迎來到圖靈學院!")

print("我是模組p01呀,你特麼的叫我幹毛")

02.py 

# 借助於importlib包可以實現匯入以數字開頭的模組名稱

import importlib

# 相當於匯入了乙個叫01的模組並把匯入模組賦值給了tuling

tuling = importlib.import_module("01")

stu = tuling.student()

stu.say()

p01.py 

# 包含乙個學生類,

# 乙個sayhello函式,

# 乙個列印語句

class student():

def __init__(self, name="noname", age=18):

self.name = name

self.age = age

def say(self):

print("my name is ".format(self.name))

def sayhello():

print("hi, 歡迎來到圖靈學院!")

# 此判斷語句建議一直作為程式的入口

if __name__ == '__main__':

print("我是模組p01呀,你特麼的叫我幹毛")

p02.py 

import p01

stu = p01.student("xiaojign", 19)

stu.say()

p01.sayhello()

p03.py

import p01 as p

stu = p.student("yueyue", 18)

stu.say()

p04.py 

from p01 import student, sayhello  

stu = student()

stu.say()

sayhello()

p05.py

from p01 import *  

sayhello()

stu = student("yaona", 28)

stu.say()

p06.py 

import sys

print( type(sys.path ))

print( sys.path )

for p in sys.path:

print(p)

p07.py

import pkg01

pkg01.ininit()

p08.py

import pkg01.p01

stu = pkg01.p01.student()

stu.say()

p09.py

from pkg01 import *

ininit()

stu = student()

p10.py

from pkg02 import *

stu = p01.student()

stu.say()

ininit()

pkg01

__init__.py

def ininit():

print("i am in init of package")

pkg02

__init__.py

__all__=['p01']

def ininit():

print("i am in inti of pacakge")

python包管理 關於python包管理

有著41個物件 檔案或者資料夾 1 其中linester 1.0.0 py2.7.egg info檔案 是安裝mynester跟yournester的資訊總結,他們使用了python setup.py install 的安裝方式。學會使用distutils發布包,見文章 但是在linester 1....

python包管理機制 Python例項 包機制

每乙個.py檔案稱為乙個module,module之間可以互相匯入.請參看以下例子 a.py def add func a,b return a b b.py from a import add func also can be import a print import add func from...

day10(閉包 import模組 函式命名空間)

閉包 巢狀函式,內部函式呼叫外部函式的變數 def outer a 1 def inner print a inner outer defouter a 1 definner print a return inner inn outer inn import urllib 模組 from urlli...