python17 模組和包

2021-09-23 06:06:42 字數 3734 閱讀 1691

如何定義模組?

語法

import module_name

module_name.function_name

module_name.class_name

案例 01 ,02 , p01, p02

import 模組 as 別名

from module_name import func_name, class_name

from module_name import *

匯入模組所有內容(但是防止不了命名汙染,有利有弊)

程式入口

if __name__ = "__main__":

可以有效避免模組**被匯入的時候被動執行的問題

建議所有程式的入口都使用此**

案例p06

p01.py

# 包含乙個學生類

# 乙個sayhello函式

# 乙個列印語句

class student():

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

self.name = name

self.age = age

def say(self):

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

def sayhello():

print("hi,good to see you")

print("我是模組p01呀")

p02.py

import p01

stu = p01.student("xiaojing",18)

stu.say()

p01.sayhello()

--------------------------

我是模組p01呀

my name is xaiojing

hi,good to see you

01.py

# 包含乙個學生類

# 乙個sayhello函式

# 乙個列印語句

class student():

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

self.name = name

self.age = age

def say(self):

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

def sayhello():

print("hi,很高興認識你")

print("我是模組01呀")

02.py

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

import importlib

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

tuling = importlib.import_module("01")

stu = tuling.student()

stu.say()

-------------------------

我是模組01呀

my name is no name

p03.py

import p01 as p

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

stu.say()

p.sayhello()

---------------------------

我是模組p01呀

my name is yueyue

hi,good to see you

p04.py

from p01 import student,sayhello

stu = student()

stu.say()

sayhello()

---------------------

我是模組p01呀

my name is no name

hi,good to see you

p05.py

from p01 import *

sayhello()

stu = student("xiaoming",28)

stu.say()

----------------------

我是模組01呀

hi,good to see you

my name is xiaoming

p01.py  修改版  

class student():

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

self.name = name

self.age = age

def say(self):

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

def sayhello():

print("hi,good to see you")

#建議所有程式的入口都使用此**,可以有效避免模組**被匯入的時候被動執行的問題

if __name__ =='__main__':

print("我是模組01呀")

p05.py

from p01 import *

sayhello()

stu = student("xiaoming",28)

stu.say()

--------------------

hi,good to see you

my name is xiaoming

系統預設的模組搜尋路徑

import sys

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

#案例p06.py

新增搜尋路徑

模組載入順序

#案例py06.py

import sys

print(type(sys.path))

print(sys.path)#屬性可以獲取路徑列表

for p in sys.path:

print(p)

#建立資料夾pkg01,

#新建__init__.py

def ininit():

print("i am in init of package")

```

p07.py

import pkg01

pkg01.ininit()

...............

輸出:i am in init of package

```

import package_name as p

import package.module

import package.module as pm

from…import匯入

from package.module import *

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

__all__的用法

python17常用模組

1.os 模組 為訪問作業系統的特定熟悉提供方法 提供了對平台模組的封裝 對 windows,對mac 的封裝等 os.environ 對環境變數的操作 os.getcwd 獲取當前的工作目錄 os.access path,mod 判斷對乙個檔案或者目錄是否具有指定的許可權 mode 引數的可選值 ...

17 模組和包

模組 模組的概念 模組的兩種匯入方式 import匯入 import 模組名1,模組名2import 模組名1 import 模組名2 使用as指定模組的別名 如果模組的名字太長,可以使用as指定模組的名稱,以方便在 中的使用 import 模組名 as 模組別名注意 模組別名應該符合大駝峰命名法 ...

python 模組和包 python模組和包

一.模組 python 模組 module 是乙個 python 檔案,以 py 結尾,包含了 python 物件定義和python語句。模組能定義函式,類和變數,模組裡也能包含可執行的 二.匯入模組 1.語法 import模組名from 模組名 import功能名from 模組名 import i...