當前位置:首頁 » 編程語言 » python編寫模塊

python編寫模塊

發布時間: 2022-08-23 05:54:24

① 如何在python中添加自定義模塊

python中每個腳本文件(.py結尾)都是個模塊。如果想使用時,需要自定義模塊與當前腳本在同一目錄即可。引用時不需要加.py
import script_name
如不在同一目錄,可將被引用目錄添加到搜索目錄
import sys
sys.path.append('script_path')

② 如何利用Golang為Python編寫模塊

Go裡面需要顯示的引入C模塊, 讓編譯器支持生成動態鏈接庫, 並且在代碼中可以使用C語言的數據類型,這個至關重要.Calling Go code from Python code摘取一個最簡單例子

//libadd.go
packagemain

import"C"

//exportadd
funcadd(left,rightint)int{
returnleft+right
}

funcmain(){
}
gobuild-buildmode=c-shared-olibadd.solibadd.go
fromctypesimportcdll
lib=cdll.LoadLibrary('./libadd.so')
print("LoadedgogeneratedSOlibrary")
result=lib.add(2,3)
print(result)

③ 盤點Python常用的模塊和包

模塊

1.定義

計算機在開發過程中,代碼越寫越多,也就越難以維護,所以為了編寫可維護的代碼,我們會把函數進行分組,放在不同的文件里。在python里,一個.py文件就是一個模塊。

2.優點:

提高代碼的可維護性。

提高代碼的復用,當模塊完成時就可以在其他代碼中調用。

引用其他模塊,包含python內置模塊和其他第三方模塊。

避免函數名和變數名等名稱沖突。

python內建模塊:

1.sys模塊

2.random模塊

3.os模塊:

os.path:講解

https://www.cnblogs.com/yufeihlf/p/6179547.html

數據可視化

1.matplotlib :

是Python可視化程序庫的泰斗,它的設計和在1980年代被設計的商業化程序語言MATLAB非常接近。比如pandas和Seaborn就是matplotlib的外包,它們讓你能用更少的代碼去調用 matplotlib的方法。

訪問

https://matplotlib.org/

顏色:

https://www.cnblogs.com/darkknightzh/p/6117528.html

教程:

https://wizardforcel.gitbooks.io/matplotlib-user-guide/3.1.html

2.Seaborn:

它是構建在matplotlib的基礎上的,用簡潔的代碼來製作好看的圖表。Seaborn跟matplotlib最大的區別就是它的默認繪圖風格和色彩搭配都具有現代美感。

訪問:

http://seaborn.pydata.org/index.html

3.ggplot:

gplot 跟 matplotlib 的不同之處是它允許你疊加不同的圖層來完成一幅圖

訪問:

http://ggplot.yhathq.com/

4.Mayavi:

Mayavi2完全用Python編寫,因此它不但是一個方便實用的可視化軟體,而且可以方便地用Python編寫擴展,嵌入到用戶編寫的Python程序中,或者直接使用其面向腳本的API:mlab快速繪制三維圖

訪問:http://code.enthought.com/pages/mayavi-project.html

講解:https://blog.csdn.net/ouening/article/details/76595427https://www.jianshu.com/p/81e6f4f1cdd8

5.TVTK:

TVTK庫對標準的VTK庫進行包裝,提供了Python風格的API、支持Trait屬性和numpy的多維數組。

VTK (http://www.vtk.org/) 是一套三維的數據可視化工具,它由C++編寫,包涵了近千個類幫助我們處理和顯示數據

講解:https://docs.huihoo.com/scipy/scipy-zh-cn/tvtk_intro.html

機器學習

1.Scikit-learn

是一個簡單且高效的數據挖掘和數據分析工具,易上手,可以在多個上下文中重復使用。它基於NumPy, SciPy 和 matplotlib,開源,可商用(基於 BSD 許可)。

訪問:

講解:https://blog.csdn.net/finafily0526/article/details/79318401

2.Tensorflow

最初由谷歌機器智能科研組織中的谷歌大腦團隊(Google Brain Team)的研究人員和工程師開發。該系統設計的初衷是為了便於機器學習研究,能夠更快更好地將科研原型轉化為生產項目。

相關推薦:《Python視頻教程》

Web框架

1.Tornado

訪問:http://www.tornadoweb.org/en/stable/

2.Flask

訪問:http://flask.pocoo.org/

3.Web.py

訪問:http://webpy.org/

4.django

https://www.djangoproject.com/

5.cherrypy

http://cherrypy.org/

6.jinjs

http://docs.jinkan.org/docs/jinja2/

GUI 圖形界面

1.Tkinter

https://wiki.python.org/moin/TkInter/

2.wxPython

https://www.wxpython.org/

3.PyGTK

http://www.pygtk.org/

4.PyQt

https://sourceforge.net/projects/pyqt/

5.PySide

http://wiki.qt.io/Category:LanguageBindings::PySide

科學計算

教程

https://docs.huihoo.com/scipy/scipy-zh-cn/index.html#

1.numpy

訪問

http://www.numpy.org/

講解

https://blog.csdn.net/lm_is_dc/article/details/81098805

2.sympy

sympy是一個Python的科學計算庫,用一套強大的符號計算體系完成諸如多項式求值、求極限、解方程、求積分、微分方程、級數展開、矩陣運算等等計算問題

訪問

https://docs.sympy.org/0.7.1/guide.html#guide

講解

https://www.jianshu.com/p/339c91ae9f41

解方程

https://www.cnblogs.com/zyg123/p/10549354.html

3.SciPy

官網

https://www.scipy.org/

講解

https://blog.csdn.net/wsp_1138886114/article/details/80444621

4.pandas

官網

http://pandas.pydata.org/

講解

https://www.cnblogs.com/linux-wangkun/p/5903945.html

5.blaze

官網

http://blaze.readthedocs.io/en/latest/index.html

密碼學

1.cryptography

https://pypi.python.org/pypi/cryptography/

2.hashids

http://www.oschina.net/p/hashids

3.Paramiko

http://www.paramiko.org/

4.Passlib

https://pythonhosted.org/passlib/

5.PyCrypto

https://pypi.python.org/pypi/pycrypto

6.PyNacl

http://pynacl.readthedocs.io/en/latest/

爬蟲相關

requests

http://www.python-requests.org/

scrapy

https://scrapy.org/

pyspider

https://github.com/binux/pyspider

portia

https://github.com/scrapinghub/portia

html2text

https://github.com/Alir3z4/html2text

BeautifulSoup

https://www.crummy.com/software/BeautifulSoup/

lxml

http://lxml.de/

selenium

http://docs.seleniumhq.org/

mechanize

https://pypi.python.org/pypi/mechanize

PyQuery

https://pypi.python.org/pypi/pyquery/

creepy

https://pypi.python.org/pypi/creepy

gevent

一個高並發的網路性能庫

http://www.gevent.org/

圖像處理

bigmoyan

http://scikit-image.org/

Python Imaging Library(PIL)

http://www.pythonware.com/procts/pil/

pillow:

http://pillow.readthedocs.io/en/latest/

自然語言處理

1.nltk:

http://www.nltk.org/

教程

https://blog.csdn.net/wizardforcel/article/details/79274443

2.snownlp

https://github.com/isnowfy/snownlp

3.Pattern

https://github.com/clips/pattern

4.TextBlob

http://textblob.readthedocs.io/en/dev/

5.Polyglot

https://pypi.python.org/pypi/polyglot

6.jieba:

https://github.com/fxsjy/jieba

資料庫驅動

mysql-python

https://sourceforge.net/projects/mysql-python/

PyMySQL

https://github.com/PyMySQL/PyMySQL

PyMongo

https://docs.mongodb.com/ecosystem/drivers/python/

pymongo

MongoDB庫

訪問:https://pypi.python.org/pypi/pymongo/

redis

Redis庫

訪問:https://pypi.python.org/pypi/redis/

cxOracle

Oracle庫

訪問:https://pypi.python.org/pypi/cx_Oracle

SQLAlchemy

SQL工具包及對象關系映射(ORM)工具

訪問:http://www.sqlalchemy.org/

peewee,

SQL工具包及對象關系映射(ORM)工具

訪問:https://pypi.python.org/pypi/peewee

torndb

Tornado原裝DB

訪問:https://github.com/bdarnell/torndb

Web

pycurl

URL處理工具

smtplib模塊

發送電子郵件

其他庫暫未分類

1.PyInstaller:

是一個十分有用的第三方庫,它能夠在Windows、Linux、 Mac OS X 等操作系統下將 Python 源文件打包,通過對源文件打包, Python 程序可以在沒有安裝 Python 的環境中運行,也可以作為一個 獨立文件方便傳遞和管理。

2.Ipython

一種互動式計算和開發環境

講解

https://www.cnblogs.com/zzhzhao/p/5295476.html

命令

ls、cd 、run、edit、clear、exist

④ python怎麼創建模塊

當前文件下面創建一個__init__.py的文件,當前文件就是一個模塊了

⑤ python自定義模塊

答: 在Python當中,每一個Python文件都是一個模塊,在該模塊你可以定義自己想要的函數,它的具體介紹如下。

Python模塊介紹

同時你編寫完這個py文件之後,不管你放在哪個文件夾都是可以的,比如說你放在file文件夾下,同時模塊命名為MathApi,那麼導入語句就可以是from file import mathApi。

在導入之後就可以使用自定義模塊的各種方法,但是我覺得當你要寫項目時,還是得把這個模塊添加進去,因為你講的那個turtle實際上屬於Python內置模塊,當然可以在任何地方引用。

⑥ 如何創建和使用Python模塊。

創建一個.py文件,放在pythonpath裡面有的目錄,比如同目錄(目錄里需要有__init__.py,空文件也可以),其他程序就可以將其導入,至於導入什麼,你自己寫了。
導入就直接
import 模塊名
就可以了,如果你自己寫的,沒有特殊情況就是py文件的名字,可以是目錄名字。

⑦ python中的模塊,庫,包有什麼區別

1.python模塊是:

python模塊:包含並且有組織的代碼片段為模塊。

表現形式為:寫的代碼保存為文件。這個文件就是一個模塊。sample.py 其中文件名smaple為模塊名字。

關系圖:

3.庫(library)

庫的概念是具有相關功能模塊的集合。這也是Python的一大特色之一,即具有強大的標准庫、第三方庫以及自定義模塊。

⑧ 如何創建和使用Python模塊。

精華答案 模塊可以從其他程序 輸入 以便利用它的功能。這也是我們使用Python標准庫的方法. 輸入:#!/usr/bin/env python # Filename: using_sys.pyimport sysprint 'The command line arguments are:' for i in sys.argv:print iprint '\n\nThe PYTHONPATH is',sys.path,'\n'輸出:$ python using_sys.py we are arguments The command line arguments are: using_sys.pyweareargumentsThe PYTHONPATH is ['/home/swaroop/byte/code', '/usr/lib/python23.zip', '/usr/lib/python2.3', '/usr/lib/python2.3/plat-linux2', '/usr/lib/python2.3/lib-tk', '/usr/lib/python2.3/lib-dynload', '/usr/lib/python2.3/site-packages', '/usr/lib/python2.3/site-packages/gtk-2.0'] 首先,我們利用import語句 輸入 sys模塊。基本上,這句語句告訴Python,我們想要使用這個模塊。sys模塊包含了與Python解釋器和它的環境有關的函數。 當Python執行import sys語句的時候,它在sys.path變數中所列目錄中尋找sys.py模塊。如果找到了這個文件,這個模塊的主塊中的語句將被運行,然後這個模塊將能夠被你 使用 。注意,初始化過程僅在我們 第一次 輸入模塊的時候進行。另外,「sys」是「system」的縮寫。 sys模塊中的argv變數通過使用點號指明——sys.argv——這種方法的一個優勢是這個名稱不會與任何在你的程序中使用的argv變數沖突。另外,它也清晰地表明了這個名稱是sys模塊的一部分。 sys.argv變數是一個字元串的 列表 (列表會在後面的章節詳細解釋)。特別地,sys.argv包含了 命令行參數 的列表,即使用命令行傳遞給你的程序的參數。 如果你使用IDE編寫運行這些程序,請在菜單里尋找一個指定程序的命令行參數的方法。 這里,當我們執行python using_sys.py we are arguments的時候,我們使用python命令運行using_sys.py模塊,後面跟著的內容被作為參數傳遞給程序。Python為我們把它存儲在sys.argv變數中。 記住,腳本的名稱總是sys.argv列表的第一個參數。所以,在這里,'using_sys.py'是sys.argv[0]、'we'是sys.argv[1]、'are'是sys.argv[2]以及'arguments'是sys.argv[3]。

⑨ python中怎麼import自己寫的模塊

(1)主程序與模塊程序在同一目錄下:
如下面程序結構:
?

1
2
3

`-- src
|-- mod1.py
`-- test1.py

若在程序test1.py中導入模塊mod1, 則直接使用import mod1或from mod1 import *;
(2)主程序所在目錄是模塊所在目錄的父(或祖輩)目錄
如下面程序結構:
?

1
2
3
4
5

`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
`-- test1.py

若在程序test1.py中導入模塊mod2, 需要在mod2文件夾中建立空文件__init__.py文件(也可以在該文件中自定義輸出模塊介面); 然後使用 from mod2.mod2 import * 或import mod2.mod2.
(3)主程序導入上層目錄中模塊或其他目錄(平級)下的模塊
如下面程序結構:
?

1
2
3
4
5
6
7

`-- src
|-- mod1.py
|-- mod2
| `-- mod2.py
|-- sub
| `-- test2.py
`-- test1.py

若在程序test2.py中導入模塊mod1和mod2。首先需要在mod2下建立__init__.py文件(同(2)),src下不必建立該文件。然後調用方式如下:
下面程序執行方式均在程序文件所在目錄下執行,如test2.py是在cd sub;之後執行python test2.py
而test1.py是在cd src;之後執行python test1.py; 不保證在src目錄下執行python sub/test2.py成功。
?

1
2
3
4

import sys
sys.path.append("..")
import mod1
import mod2.mod2

(4)從(3)可以看出,導入模塊關鍵是能夠根據sys.path環境變數的值,找到具體模塊的路徑。這里僅介紹上面三種簡單情況。
評論:
win下面cmd當前目錄上運行python交互的時候, 當前目錄如果是個python包,要在當前交互引入它, 也需要 sys.path.append(".."), 不過我個人的做法通常是sys.path.insert(0,"..")
?

1
2
3
4
5
6

c:/py25>cd sub
c:/py25>python
>>>#import sub #這里提示找不到
>>>import sys
>>>sys.path.insert(0,'..') #或者sys.path.append("..")
>>>import sub #這里引入成功

貌似是大蛇的當前目錄是"能識兒子不識父親"的,
也就是要引入當前包的父包的話,要sys.path.insert(0,'../..')了...

熱點內容
迅雷阻止上傳 發布:2024-05-05 21:26:19 瀏覽:913
資料庫運維題 發布:2024-05-05 21:21:47 瀏覽:961
RM魔塔編程 發布:2024-05-05 21:21:47 瀏覽:285
matlab獲取文件夾 發布:2024-05-05 21:12:24 瀏覽:291
一根式演算法 發布:2024-05-05 21:12:23 瀏覽:955
php無刷新 發布:2024-05-05 21:08:11 瀏覽:982
搭建一個流媒體伺服器 發布:2024-05-05 20:40:59 瀏覽:667
2017中超資料庫 發布:2024-05-05 20:37:25 瀏覽:379
編程包游戲 發布:2024-05-05 20:25:00 瀏覽:609
系統鎖屏忘記密碼如何設置 發布:2024-05-05 20:18:07 瀏覽:760