Pythonの基本的な拡張モジュール

1.日時モジュール

1.1 主要モジュール 

datetime.date() #処理日(年、月、日)
datetime.time() #処理時間(時、分、秒、ミリ秒)
datetime.datetime() #処理日+時刻
datetime.timedelta() #処理期間(時間間隔)
#获取今天的时间
print(datetime.date.today())
print(datetime.datetime.now())

print(datetime.date.today().strftime("%Y-%m-%d %H-%M-%S"))
print(datetime.datetime.now().isoformat())

  1.2 タイムスタンプ 

 タイムスタンプは、1970 年 1 月 1 日の 00:00:00 GMT から現在までの合計秒数を指します。

1.2.1 日付からタイムスタンプへの変換、およびタイムスタンプから日付への変換

timetuple 関数: 日付を struct_time 形式に変換します

time.mktime 関数: 時間を秒単位で表す浮動小数点数を返します。

import datetime,time

today = datetime.date.today()
print(today.timetuple())

print(time.mktime(today.timetuple()))

print(datetime.date.fromtimestamp(1668614400.0))

1.2.2 時間の加算と減算 

 timedelta() メソッドは 2 つの時点間の間隔を表します

import datetime
today = datetime.datetime.now()
print(today)

yesterday = today - datetime.timedelta(days=1)
print(yesterday)

hours = today - datetime.timedelta(hours=1)
print(hours)

2. カレンダーモジュール 

 カレンダーに関連するいくつかの関数とクラスは、テキスト形式でカレンダーを生成できます。

2.1 共通機能

import カレンダー
Calendar.calendar(<年>)        
Calendar.month(<年>,<月>) #return 複数行文字列
Calendar.prmonth(<年>,<月>) #print と同等(calendar.month(< Year>,<month>)) 
Calendar.prcal(<year>) #print(calendar.calendar(<year>)) と同等
import calendar

print(calendar.month(2022,11))
print(calendar.calendar(2022))

出力には次のことが示されます。 

E:\ProgramData\Anaconda3\python.exe C:/Users/dl/PycharmProjects/MyProjects/1.py
   November 2022
Mo Tu We Th Fr Sa Su
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

                                  2022

      January                   February                   March
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6          1  2  3  4  5  6
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       7  8  9 10 11 12 13
10 11 12 13 14 15 16      14 15 16 17 18 19 20      14 15 16 17 18 19 20
17 18 19 20 21 22 23      21 22 23 24 25 26 27      21 22 23 24 25 26 27
24 25 26 27 28 29 30      28                        28 29 30 31
31

       April                      May                       June
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3                         1             1  2  3  4  5
 4  5  6  7  8  9 10       2  3  4  5  6  7  8       6  7  8  9 10 11 12
11 12 13 14 15 16 17       9 10 11 12 13 14 15      13 14 15 16 17 18 19
18 19 20 21 22 23 24      16 17 18 19 20 21 22      20 21 22 23 24 25 26
25 26 27 28 29 30         23 24 25 26 27 28 29      27 28 29 30
                          30 31

        July                     August                  September
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
             1  2  3       1  2  3  4  5  6  7                1  2  3  4
 4  5  6  7  8  9 10       8  9 10 11 12 13 14       5  6  7  8  9 10 11
11 12 13 14 15 16 17      15 16 17 18 19 20 21      12 13 14 15 16 17 18
18 19 20 21 22 23 24      22 23 24 25 26 27 28      19 20 21 22 23 24 25
25 26 27 28 29 30 31      29 30 31                  26 27 28 29 30

      October                   November                  December
Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su      Mo Tu We Th Fr Sa Su
                1  2          1  2  3  4  5  6                1  2  3  4
 3  4  5  6  7  8  9       7  8  9 10 11 12 13       5  6  7  8  9 10 11
10 11 12 13 14 15 16      14 15 16 17 18 19 20      12 13 14 15 16 17 18
17 18 19 20 21 22 23      21 22 23 24 25 26 27      19 20 21 22 23 24 25
24 25 26 27 28 29 30      28 29 30                  26 27 28 29 30 31

2.2 カレンダーを一覧表示する 

カレンダー.monthcalendar()

特定の年の特定の月のカレンダーを返します。これはネストされたリストです。最も内側のリストには、週 (月曜日から日曜日) を表す 7 つの要素が含まれています。日付がない場合は 0。 

import calendar

print(calendar.monthcalendar(2022,11))

输出结果:

[[0, 1, 2, 3, 4, 5, 6], [7, 8, 9, 10, 11, 12, 13], [14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27], [28, 29, 30, 0, 0, 0, 0]]

 2.3 うるう年の判定

カレンダー.isleap(<年>)
import calendar

print(calendar.isleap(2022))
print(calendar.isleap(2000))

输出结果:
False
True

  2.4 月数と曜日の判断

ある月の曜日を計算するとき、日数の合計がある場合、0から始まり、月曜日、火曜日…となります。

曜日を計算すると、月曜日から日曜日に対応する 0 ~ 6 が返されます。

import calendar

print(calendar.monthrange(2022,11))
print(calendar.weekday(2022,11,18))

输出结果:
(1, 30)
4

3、タイムモジュール 

3.1 タイムスタンプの取得 

time.time() 方法

プログラムの実行時間を計算する

import time

t1 = time.time()
a = 0
for i in range(10000):
    a += i
print(a)
t2 = time.time()
print(t2-t1)

 3.2 日付形式の取得

3.2.1 現在時刻を取得する 

import time

t1 = time.asctime()
t2 = time.ctime()
print(t1)
print(t2)

 3.2.2 タプルデータを日付に変換する

import time

t = (2022,11,18,11,8,30,0,0,0)
print(time.asctime(t))

输出结果:
Mon Nov 18 11:08:30 2022

 3.3 インデックスを使用して時刻情報を取得する

import time

print(time.localtime())
t = time.localtime()
year = t[0]
print(year)

4. 算術モジュール 

  4.1ランダムモジュール

 擬似乱数: コンピュータ内のランダム関数は特定のアルゴリズムに従ってシミュレートされ、結果は決定的で予測可能です。

乱数シード: 乱数シードは同じであり、乱数列も同じです。

ランダム.シード(a = なし)

random() #範囲[0,1)のランダムな実数を生成します。

uniform() #指定された範囲内のランダムな浮動小数点数を生成します

randint(m,n) #指定された範囲内の整数を生成 [m,n]

randrange(a,b,n) #[a,b)の範囲内でnずつ増加する数値をセットからランダムに選択できます

getrandbits(k) #k ビットの 2 進ランダム整数を生成

Choice() # 指定されたシーケンスから要素をランダムに選択します

Sample() #毎回ランダムな要素の数を指定できます

shuffle() #変数シーケンス内のすべての要素をランダムに並べ替えます

import random
colors = ['red','green','blue','yellow','black']
print(random.choice(colors))
print(random.sample(colors,3))
random.shuffle(colors)
print(colors)

输出结果:
black
['black', 'blue', 'green']
['red', 'blue', 'green', 'yellow', 'black']

5. ファイルテキストの読み書きモジュール 

5.1 ファイルを開く

open() 関数:

f = open(ファイル名[,モード[,バッファリング]])

f: open() によって返されるファイル オブジェクト

filename: ファイルの文字列名

モード: オプションのパラメータ、オープンモードとファイルタイプ 

バッファリング: オプションのパラメータ、ファイルのバッファ、デフォルトは -1

ファイルのオープンモード:

モードの最初の文字は、そのモードに対する操作を示します。

'r': 読み取りモードを示します

'w': 書き込みモードを示します

'x': ファイルが存在しない場合は、ファイルが新規に作成されて書き込まれることを示します。

'a': コンテンツがファイルの最後に追加されることを示します

「+」: 読み取りおよび書き込みモードを示します

mode の 2 番目の文字はファイルの種類です。

't': テキストの種類を示します

'b': バイナリファイルを示します

5.2 ファイルの読み取り、書き込み、およびアクセス 

ファイル書き込み操作:

f.write(str)

f.writelines(strlist): 文字列のリストを書き込みます。

ファイル読み取り操作:

 f.read()

f.readline(): 行を返します

f.readlines(): すべての行を返し、リストを返します。

f = open('mytxt','w')
f.writelines(['apple\n','orange\n'])
f.close()
f = open('mytxt','r')
print(f.readlines())
f.close()

 ファイルを開いた後は、必ずファイルを閉じる必要があります。クローズとは、外部ファイルとの接続を終了し、同時にキャッシュ領域のデータをハードディスクに更新することです。

5.3 構造化テキストファイル:CSV 

ファイル読み取り—リーダー

re = csv.reader()

反復可能なオブジェクト (csv ファイルなど) を受け入れ、コンテンツを解析できるジェネレーターを返します。

ファイル読み取り—DictReader

 リーダーと同様に、ヘッダー付きの CSV ファイルに適しており、返された各セルはタプル値に配置されます。

ファイル書き込み操作:
w = csv.writer()

w.writerow(行)

ファイルが存在しない場合は自動生成され、単一行書き込みと複数行書き込みをサポートします。

辞書データは次のように書き込まれます。

w = csv.DictWriter()

w.writeheader()

w.writerow(行)

おすすめ

転載: blog.csdn.net/m0_51769031/article/details/127900008