9 高階語法 包

2022-08-19 20:21:14 字數 2648 閱讀 3751

1.模組

如何定義模組

如何使用模組

from module_name import func_name, class_name

from module_name import *

ifname== 'main':

語法

# 直接匯入

import module_name

module_name.function_name

module_name.class_name

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

import importlib

tuling = importlib.import_module("01")

# import 模組 as 別名

import p01 as p

stu = p.student('jjc', 19)

stu.say()

# from module_name import func_name, class_name

from p01 import student,sayhello

stu = student()

stu.say()

sayhello()

# from module_name import *

from p01 import *

stu = student()

stu.say()

sayhello()

2.模組的搜尋路徑和儲存

系統預設的模組搜尋路徑

新增搜尋路徑

模組的載入順序

搜尋記憶體中已經載入好的模組

搜尋python的內建模組

搜尋sys.path路徑

# 系統預設的模組搜尋路徑

import sys

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

print(type(sys.path))

print(sys.path)

for p in sys.path:

print(p)

# 新增搜尋路徑

3. 包
- 包

-- __init__.py 包的標誌檔案

-- 模組1

-- 模組2

-- 子包(子資料夾)

--- __init__.py 包的標誌檔案

--- 子包模組1

--- 子包模組2

#coding=gbk

# 1. import package_name

# 直接匯入乙個包,只可以使用__init__.py中的內容

'''import pkg01

pkg01.ininit() # package_name.func_name

'''# package_name.class_name.func_name()

# 2. import package_name as p

# 具體用法跟操作方式,跟上述簡答匯入一致

# 注意的事此種方法是預設對__init__.py內容匯入

# 3.import package.module

# 匯入包中某乙個具體的模組

# 使用方法

'''import pkg01.p01

pkg01.p01.sayhello() # package.module.func_name

pkg01.p01.student().say()# package.module.class.fun()

pkg01.p01.student().var # package.module.class.var

'''# 4.import package.module as pm

# 5.from ...import 匯入

# 5.1 from package import module1,module2,module3,……

# 此種匯入方法不執行'__init__'的內容

'''from pkg01 import p01

p01.student('jjc').say() # moule.class_name.func_name

p01.sayhello() # module.func_name

'''# from package import *

# 匯入當前包__init__.py檔案中所有的函式和類

# 使用方法

# func_name()

# class_name.func_name()

# class_name.var

'''from pkg01 import *

ininit()

'''#stu = student() 找不到student()

# from package.module import *

# 匯入包中指定的模組的所有內容

# 使用方法

'''from pkg01.p01 import *

student().say() # class_name.func_name()

sayhello() # func_name()

'''

4.命名空間

網路程式設計 Python高階語法 閉包

什麼叫閉包?通俗來說就是函式裡巢狀函式,從表現形式來看,內部函式引用外部函式的作用域裡的變數,那麼內部函式就稱為閉包 舉例說明 1 閉包 函式塊 定義函式時的環境,inner就是函式塊,x就是環境 def outer x definnner y return x y return innner a ...

9 高階許可權

高階許可權 suid,sgid,sticky suid 針對二進位制檔案 可執行檔案 提權 讓普通使用者對檔案有超級使用者的許可權 sgid sticky 問題1 為什麼會失敗!root fanhua ll root file1.txt rw r r 1 root root 4 7月 27 14 1...

9 變數高階

引用的概念 在python中 注意 如果變數已經被定義,當各乙個變數賦值的時候,本質上是修改了資料的引用 in 1 a 1 in 2 id a out 2 140525001340832 in 3 b a in 4 id b out 4 140525001340832 in 5 a 2 in 6 i...