カスタムモジュールtime datetime random

5772 ワード

1.カスタムモジュール
import
インポート
import test       # test    
test.func()       # func()  test        

モジュール分類
1.内蔵モジュール
標準ライブラリ、python解釈器に付属しています.pyファイル(モジュール)
2.サードパーティモジュール
各種の大神が書いたものは、追加でダウンロードする必要があります(同時プログラミング開始説明)(pypi)
3.カスタムモジュール
自分で書いたので、追加でダウンロードする必要はありません
インポートプロセス
1.現在のネームスペースに新しいスペースを開く(test)
2.モジュール内のすべてのコードを実行する
3.モジュール名による関数の検索(ツール)
test  
def func():
    print("  test    func  ")
def foo():
    print("  test    foo  ")
print(123)
print(456)
name = "    "
import test
print(test.name)          
print(test.func())    
# 123
# 456
#     
#   test    func  
import test
import test
import test
import test
import test
import test
print(test.name)
# 123
# 456
#     

別名の使用
import test as t
print(t.name)
# 123
# 456
#     

互換性
test  
def func():
    print("  ")
    
meet  
def func():
    print("   ")
msg = """
1.  
2.   
"""
choose = input(msg)
if choose == "1":
    import test as t
elif choose == "2":
    import meet as t
t.func()

importとfromの違い
import test #        
from test import func   #       

importのメリットとデメリット
利点:現在のファイルで定義されている変数や関数と競合しません.
test  
name = "alex"
import test
name = "  "
print(test.name)
print(name)
# alex
#   

欠点:メモリの消費量が大きい
fromの長所と短所
利点:メモリ消費量が比較的小さい
欠点:現在のファイルで定義されている変数または関数と競合します.
test  
name = "alex"
name = "  "
from test import name
print(name)
# alex                

解決策
test  
name = "alex"
name = "  "
from test import name as n
print(name)
pirnt(n)
#   
# alex

fromモジュール名import*
test  
name = "alex"
def func():
    print("  test  func  ")
name = "  "
def func():
    print("123")

from test import *
print(name)
func()
# alex
#   test  func  
#          

__all__ = [[インポートする機能名]
メモリアドレス
test  
name = "alex"
def func():
    print("  test  func  ")
def foo():
    print("  test  foo  ")
from test import foo
print(foo)

import test
print(test.foo)

モジュールの使い方
1.スクリプト(cmdでpython test.pyを実行)
2.モジュール(使用またはインポートしない)
テストインタフェース
if __name__ == "__main__"
        __name__  "__main__"
         __name__         

パス
インポートパス
import meet
print(meet.name)

相対パスの使用
from day15.t1 import meet
print(meet.name)

絶対パスの使用
from sys import path
path.insert(0,"D:\\")
import meet
print(meet.name)

モジュールの検索順序
カスタムモジュール>組み込みモジュール>サードパーティ
2.time
time--時間(内蔵モジュール)
timeの方法
import time
   
print(time.time())
#            
print(time.time() + 5000)

  
time.sleep(3)
#         

    
print(time.strftime("%Y-%m-%d %H:%M:%S"))
#  - -   : : 
# 2019-07-25 16:43:24

     
       
print(time.gmtime()) / print(time.localtime())
# time.struct_time(tm_year=2019, tm_mon=7, tm_mday=25, tm_hour=8,
# tm_min=46, tm_sec=15, tm_wday=3, tm_yday=206, tm_isdst=0)
print(time.gmtime()[0]) / print(time.localtime()[0])
# 2019
print(time.gmtime().tm_year) / print(time.localtime().tm_year)
# 2019

         
print(time.strptime("2008-9-1 12:30:30","%Y-%m-%d %H:%M:%S"))

         
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(156156641.46854)))
# 1974-12-13 08:50:41

             
print(time.mktime(time.strptime("2008-9-1 12:30:30","%Y-%m-%d %H:%M:%S")))
# 1220243430.0

3.datetime
Datetime--オブジェクト
datetimeの方法
from datetime import datetime

      (   )
print(datetime.now())
# 2019-07-25 17:24:58.037219

      
print(datetime(2019,5,20,13,14,00) - datetime(2019,5,20,14,20,00))
# -1 day, 22:54:00

           
print(datetime.now().timestamp())
# 1564047101.042584

           
print(datetime.fromtimestamp(1564047101.042584))
# 2019-07-25 17:31:41.042584

        
print(str(datetime.now()))
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
# 2019-07-25 17:40:47

    (datetime  )
from datetime import datetime,timedelta
print(datetime.now() + timedelta(hours=30)) #      30   
# 2019-07-27 00:19:38.461757

まとめ:
用途:ログの記録時に使用
けいさんじかん
4.random
random--ランダム
randomの方法
import random

0-1    (   )
print(random.random())
# 0.04233141839466259

0-10    (   )
print(random.uniform(1,10))
# 1.0434503538907838

1-3    (  1 3)
print(random.randint(1,3))
# 1/2/3

randrange(  ,  ,  )(     )
print(random.randrange(1,5,2))
# 1/3 

        
print(random.choice([1,2,3,4,5]))
# 1/2/3/4/5

        (   )
print(random.choices([1,2,3,4,5],k=2))
#             (      ,  :[1,1])

        (    )
print(random.sample([1,2,3,4,5],k=2))
#             (       ,            ,  [1,1])

    
lst = [1,2,3,4,5,6,7,8,9,0]
random.shuffle(lst)
print(lst)
# [4, 3, 9, 5, 1, 2, 8, 7, 6, 0]
#     

転載先:https://www.cnblogs.com/beichen123/p/11253087.html