python模塊知識一 自定義模塊、time、datetime時間模塊

来源:https://www.cnblogs.com/Onlywang/archive/2019/07/27/11256040.html
-Advertisement-
Play Games

第五章 模塊 1.自定義模塊: 1. 模塊分類: 1. 內置模塊(標準庫) python解釋器自帶的.py文件(模塊) 2. 第三方模塊(各種大神寫的) 需要額外下載(併發編程pypi) 3. 自定義模塊(自己寫的) 不用額外下載 2. 每一個py文件就是一個模塊 import 導入模塊 模塊的好處 ...


第五章 模塊

1.自定義模塊:

  1. 模塊分類:

    1. 內置模塊(標準庫)-- python解釋器自帶的.py文件(模塊)
    2. 第三方模塊(各種大神寫的)-- 需要額外下載(併發編程pypi)
    3. 自定義模塊(自己寫的)--不用額外下載
  2. 每一個py文件就是一個模塊

    import #導入模塊

    模塊的好處:

    1. 避免些重覆代碼
    2. 可以多次利用
    3. 拿來主義
  3. 導入模塊發生的事情:

    1. 當前的名稱空間中開闢一個新空間(test)
    2. 將模塊中所有的代碼執行
    3. 通過 模塊名.函數名 進行查找函數
  4. 使用別名使文件名更短:

​ import test as t

print(locals())#查看當前空間的變數
i mport test
print(locals())
#調用導入模塊的函數
test.func()

#使用別名
import test as t
t.func()
  1. 不同模塊使用同一別名做相容性
msg = {1:"扳手",2:"螺絲刀"}
choose = input(msg)
if choose == 1:
    import meet as t
elif choose == 3:
    import test as t

t.func()
  1. from :

​ from 和import區別:

​ import:#將整個模塊運行

​ 缺點:占用記憶體大。

​ 優點:不會和當前文件定義的變數或者函數發生衝突

​ from:

​ 缺點:會與當前的文件定義的變數或者函數發生衝突,(可以用別名解決)

​ 優點:占用記憶體小

  1. from * :--拿模塊所有

    會出現覆蓋現象,不能解決,不建議使用

    __all__ = ["可被導入的函數名和變數名"]#寫在模塊中配合from * 使用指定要拿的

name = 'cc'
def func():
    print('is 666')
from test import *
print(name)
func()
name = "ww"
from test import name as n#別名
print(name)
print(n)
  1. 模塊導入的坑

    例如:不要三個py文件相互導入,會形成環路

  2. 模塊的兩種用法:

    腳本:(在cmd中執行 python text.py

    模塊:自測函數不會被導入

def func():
    print(1)
if __name__ == '__main__':#自測介面
    func()
  1. 導入路徑:

    1. 相對路徑:

      from day15.t1 import meet
      print(meet.name)
    2. 絕對路徑:

      #錯誤引用
      from r"D:\" import meet
      from ../
      #正確引用
      from sys import path
      print(sys.path)
      path.insert(0,"D:\\")
      import meet
      print(meet.name)

    sys.path中模塊的順序:自定義 > 內置 > 第三方

2.time --時間模塊

  1. time.time():--時間戳,浮點數,可運算
  2. time.sleep():--睡眠 #秒
import time
print(time.time() + 5000)
time.sleep(3)#睡眠3秒
  1. time.strftime("格式化","結構體時間"):將時間戳、結構體時間轉換成字元串時間
  2. time.gmtime():--元組形式 命名元組,結構體時間,格林尼治時間
  3. time.localtime():電腦當前時間,結構體時間
print(time.strftime("%Y-%m-%d %H:%M:%S"))

print(time.gmtime())
print(time.gmtime()[0])
print(time.gmtime().tm_year)

#將時間戳轉換成字元串時間
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime(15000)))
  1. time.strptiem():將字元串時間轉換成結構化時間
  2. time.mktime():將結構化時間轉換成時間戳
print(time.strptime("2024-3-16 12:03:30","%Y-%m-%d %H:%M:%S"))

#將字元串時間轉換成時間戳
print(time.mktime(time.strptime("2024-3-16 12:03:30","%Y-%m-%d %H:%M:%S")))
print(time.mktime(time.gmtime()))

3.datetime 模塊

​ 用處:記錄日誌使用,計算時間

from datetime import datetime,timedelta
print(datetime.now())#獲取當前時間
print(type(datetime.now()))#--對象

print(datetime(2019,5,20,13,14,00))#指定日期標準化

print(datetime(2019,5,20,13,14,00) - datetime(2019,5,20,13,14,00))

#將當前時間轉換成時間戳
t = datetime.now()
print(t.timestamp())
#將時間戳轉換成當前時間
import time
print(datetime.fromtimestamp(time.time()))
print(datetime.fromtimestamp(150000))

#字元串轉成對象
print(type(datetime.strptime("2019-10-10 22:23:24","%Y-%m-%d %H:%M:%S")))
#將對象轉成字元串
print(str(datetime.now()))
print(datetime.now().strftime("%Y-%m-%d %H:%M:%S"))

#timedelta 時間運算.加減
print(datetime.now() + timedelta(hours = 30 * 24 *12))


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 關於python單例模式是什麼,以及一些實現方法的整理與講解。 ...
  • 今天在刷題的時候用到了正則,用的過程中就感覺有點不太熟練了,很久沒有用正則都有點忘了。所以現在呢,我們就一起來review一下python中正則模塊re的用法吧。 今天是review,所以一些基礎的概念就不做介紹了,先來看正則中的修飾符以及它的功能: 修飾符 re.I 使匹配對大小寫不敏感 re.L ...
  • 題目 "The XOR Largest Pair" 解析 一年前聽學長講這道題,什麼01trie,好高級啊,所以沒學,現在一看。。。。 看到xor就應該想到二進位,一看數據$A_i using namespace std; const int N = 4e6 + 10; int n, a, num, ...
  • 一個大的系統,在代碼的復用肯定是必不可少的,它能解決: 1. 統一的響應處理(可以對外提供統一的響應對象包裝) 2. 統一的異常處理(可以將業務異常統一收集處理) 3. 通用代碼定義、配置定義(通用的配置信息放在統一的代碼管理中,便於維護和更新) 創建項目 POM文件 項目結構 vo (統一響應對象 ...
  • go中已經實現了int->bin的轉化函數,我這裡只是化過程邏輯的實現,至於原理我就假設大家都知道了 本案例只考慮 int->bin 的轉化 包含了正整數,負整數,0 的轉化 結果 : 比如-11111的轉化: 比如-1的轉化: ...
  • 一、Numpy簡介 NumPy(Numerical Python) 是 Python 語言的一個擴展程式庫,支持大量的維度數組與矩陣運算,此外也針對數組運算提供大量的數學函數庫。NumPy 是一個運行速度非常快的數學庫,主要用於數組計算,包含: NumPy 通常與 SciPy(Scientific ...
  • 花下貓語: Guido van Rossum 是 Python 的創造者,雖然他現在放棄了“終身仁慈獨裁者”的職位,但卻成為了指導委員會的五位成員之一,其一舉一動依然備受矚目。近日,他開通了 Medium 賬號,併發表了第一篇文章,透露出要替換 Python 的核心部件(解析器)的想法。這篇文章分析 ...
  • 一、在Spring中@RestController的作用等同於@Controller + @ResponseBody。 所以想要理解@RestController註解就要先瞭解@Controller和@ResponseBody註解。 二、@Controller註解 在一個類上添加@Controlle ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...