検索

Python モジュールの関連紹介

Jun 14, 2019 pm 03:12 PM
pythonモジュール

モジュールとは何ですか?

関連する推奨事項: 「Python ビデオ

Python モジュールの関連紹介

コンピュータ プログラム開発の過程で, プログラム コードが作成されるにつれて、ファイル内のコードはますます長くなり、メンテナンスがますます容易ではなくなります。メンテナンス可能なコードを作成するために、多くの関数をグループ化し、それらを別のファイルに配置します。このようにして、各ファイルに含まれるコードは比較的少なくなります。多くのプログラミング言語では、コードを編成するこの方法が採用されています。Python では、.py ファイルはモジュールです。

モジュールを使用すると、どのような利点がありますか?

1. 最大の利点は、コードの保守性が大幅に向上することです。第 2 に、コードを書くときに最初から始める必要がありません。モジュールを作成すると、そのモジュールを参照できるようになります。プログラムを作成するとき、Python の組み込みモジュールやサードパーティのモジュールを含む他のモジュールを参照することがよくあります。
2. モジュールを使用すると、関数名と変数の間の競合を回避できます。 各モジュールは独立した名前空間を持ちます。 、同じ名前です 関数と変数は異なるモジュールに存在することができるため、自分でモジュールを作成する場合、名前が他のモジュールと競合することを考慮する必要はありません;

モジュールの分類

モジュールは 3 つのカテゴリに分類されます:

1. 組み込みの標準モジュール (別名: 標準ライブラリ)、実行 (help'modules') してすべてのモジュールのリストを表示します。 Python 組み込みモジュール;
2. サードパーティのオープン ソース モジュールは、pip install モジュール名を通じてオンラインでインストールできます;
3. カスタム モジュール;

モジュールの呼び出し

import modulefrom module 
import xxfrom module.xx.xx 
import xx as rename
from module.xx.xx import *

注: モジュールの呼び出しは、別の py ファイル内のコードを実行することと同じです;

time module

time.localtime([ secs]): タイムスタンプを次のように変換します。 現在のタイム ゾーンの struct_time および secs パラメータが指定されていない場合は、現在の時刻が優先されます;

time.gmtime([secs]): localtime() と同様ですgmtime() メソッドは、タイムスタンプを UTC タイム ゾーン (0 タイム ゾーン) の struct_time に変換します。

time.time(): 現在時刻のタイムスタンプを返します。

time.mktime(): struct_time をタイムスタンプに変換します。

time.sleep(secs):スレッドは指定された時間 (秒単位) だけ実行を遅延します。

tiem.asctime([t]): 時刻タプルまたは struct_time を次の形式で表します: sun oct 1 12:04:38 2017 (パラメーターがない場合) time.localtime() はパラメータとして渡されます;

time.ctime([secs]): パラメータが指定されていない場合、タイムスタンプ (秒) を time.asctime() の形式に変換します。 、または None の場合、time.time() はデフォルトでパラメータとして使用されます。その関数は time.asctime(time.localtime(secs))

time.strftime(format[,t ] ): 時間を表すタプルまたは struct_time (time.localtime() や time.gmtime() によって返されるものなど) をフォーマットされた時間文字列に変換します。t が指定されていない場合、time.localtime が ()

に渡されます。

datetime モジュール

time モジュールと比較して、datetime モジュールは直感的なインターフェイスを備えており、呼び出しが簡単です。
datetime モジュールは次のクラスを定義します:

datetime.date: 日付を表すクラスです。一般的に使用される属性は、年、月、日です。datetime.time: 時間を表すクラスです。一般的に使用される属性は、時、分、秒、マイクロ秒です。datetime.datetime: 日付を表します

datetime.timedelta: 時間間隔、つまり 2 つの時点間の長さを表します

datetime.tzinfo タイム ゾーンに関する関連情報

What覚えておく必要があります:

1.d=datetime.datetime.now() は現在の日時日付型

import datetime
d=datetime.datetime。now()
print(d)
print(d.year)
print(d.today())
print(d.timestamp())
print(d.timetuple())

を返し、他のメソッドは
2.datetime.formtimestamp(322222) を呼び出すことができます。 ) タイムスタンプを変換する datetime 日付型です;

datetime.date.fromtimestamp(time.time())

3. 時間操作:

datetime.datetime.now()+datetime.timedelta(4)#当前时间+4天
datetime.datetime.now()+datetimetimedelta(hours=4)#当前时间+4小时

4. 時刻置換

d=datetime.datetime.now()
d.replace(year=2999,month=11,day=30)
datetime.date(2999,11,30)

random 乱数

Web サイトにログインするための確認コードなど、プログラム内にはランダム文字を使用する必要がある場所が数多くありますが、ランダム文字列はランダム モジュール

random を使用して簡単に生成できます。 randrange(1,10)# 1 ~ 10 の範囲の乱数を返します 10random.randint(1,10)# 10random.randrange(0,100,2)# を含む 1 ~ 10 の範囲の乱数を返します。 0 と 100。random()#ランダムな浮動小数点数を返しますrandom.choice('abc#$@1')#指定されたデータセット内のランダムな文字を返しますrandom.sample('abcdefghij',3)#複数から選択します文字列 特定の文字数
#ランダムな文字列を生成する
import string''.json(random.sample(string.ascii_ lowercase string.digits,6))
#Shuffle
a=[0 ,1,2,3,4,5,6,7,8,9]random.shuffle(a)print(a)

#sys モジュール#1.sys.argv

python3 test.py run web

执行结果:
['test.py','run','web']
这个意思就是有的脚本后边可以跟参数,如果跟run我们就执行run,如果跟web 我们就执行web
2.sys.exit(n)退出程序,正常退出
3.sys.version 获取当前解释器的版本
4.sys.maxint 最大的Int值
5.sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
6.sys.platform 返回操作平台的名称
7.sys.getrecursionlimit()获取递归的最大层数
8.sys.setrecursionlimit(1200) 设置最大递归层数
9.sys.getdefaultencoding() 获取解释器默认编码
10.sys.getfilesystemencoding 获取内存数据存到文件里的默认编码

shutil模块

高级的文件,文件夹,压缩包处理模块

shelve模块

json和pickle只能dump,load一次,假如我确实有好几种数据需要序列化,如果只能dump一次的话,这就意味着我自己要dump好几个文件,这个时候就感觉很low,难道没有办法允许我dump好几次吗?
shelve他是对pickle的封装,允许你dump多次,load多次,并且不会顺序乱,因为他是一种key-value的形式;(这个下去自己研究,这里不在多说了,因为它主要是对pickle封装的)shutil.copyfileobj(fsrc,fdst[,llength])将文件内容拷贝到另一个文件中,可以部分内容。

hashlib模块

Hash,一般翻译做“散列”,也有直接音译为”哈希”的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。HASH主要用于信息安全领域中加密算法,他把一些不同长度的信息转化成杂乱的128位的编码里,叫做HASH值.也可以说,hash就是找到一种数据内容和数据存放地址之间的映射关系。

MD5

输入任意长度的信息,经过处理,输出为128位的信息(数字指纹);不同的输入得到的不同的结果(唯一性);MD5算法的特点
1.压缩性:任意长度的数据,算出的MD5值的长度都是固定的
2.容易计算:从原数据计算出MD5值很容易
3.抗修改性:对原数据进行任何改动,修改一个字节生成的MD5值区别也会很大
4.强抗碰撞:已知原数据和MD5,想找到一个具有相同MD5值的数据(即伪造数据)是非常困难的。

以上がPython モジュールの関連紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Python:ゲーム、GUIなどPython:ゲーム、GUIなどApr 13, 2025 am 12:14 AM

PythonはゲームとGUI開発に優れています。 1)ゲーム開発は、2Dゲームの作成に適した図面、オーディオ、その他の機能を提供し、Pygameを使用します。 2)GUI開発は、TKINTERまたはPYQTを選択できます。 TKINTERはシンプルで使いやすく、PYQTは豊富な機能を備えており、専門能力開発に適しています。

Python vs. C:比較されたアプリケーションとユースケースPython vs. C:比較されたアプリケーションとユースケースApr 12, 2025 am 12:01 AM

Pythonは、データサイエンス、Web開発、自動化タスクに適していますが、Cはシステムプログラミング、ゲーム開発、組み込みシステムに適しています。 Pythonは、そのシンプルさと強力なエコシステムで知られていますが、Cは高性能および基礎となる制御機能で知られています。

2時間のPython計画:現実的なアプローチ2時間のPython計画:現実的なアプローチApr 11, 2025 am 12:04 AM

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Python:主要なアプリケーションの調査Python:主要なアプリケーションの調査Apr 10, 2025 am 09:41 AM

Pythonは、Web開発、データサイエンス、機械学習、自動化、スクリプトの分野で広く使用されています。 1)Web開発では、DjangoおよびFlask Frameworksが開発プロセスを簡素化します。 2)データサイエンスと機械学習の分野では、Numpy、Pandas、Scikit-Learn、Tensorflowライブラリが強力なサポートを提供します。 3)自動化とスクリプトの観点から、Pythonは自動テストやシステム管理などのタスクに適しています。

2時間でどのくらいのPythonを学ぶことができますか?2時間でどのくらいのPythonを学ぶことができますか?Apr 09, 2025 pm 04:33 PM

2時間以内にPythonの基本を学ぶことができます。 1。変数とデータ型を学習します。2。ステートメントやループの場合などのマスター制御構造、3。関数の定義と使用を理解します。これらは、簡単なPythonプログラムの作成を開始するのに役立ちます。

プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?プロジェクトの基本と問題駆動型の方法で10時間以内にコンピューター初心者プログラミングの基本を教える方法は?Apr 02, 2025 am 07:18 AM

10時間以内にコンピューター初心者プログラミングの基本を教える方法は?コンピューター初心者にプログラミングの知識を教えるのに10時間しかない場合、何を教えることを選びますか...

中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?中間の読書にどこでもfiddlerを使用するときにブラウザによって検出されないようにするにはどうすればよいですか?Apr 02, 2025 am 07:15 AM

fiddlereveryversings for the-middleの測定値を使用するときに検出されないようにする方法

Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Python 3.6にピクルスファイルをロードするときに「__Builtin__」モジュールが見つからない場合はどうすればよいですか?Apr 02, 2025 am 07:12 AM

Python 3.6のピクルスファイルのロードレポートエラー:modulenotFounderror:nomodulenamed ...

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。