1. 程式人生 > >(D12)Python-sys,time,math模組

(D12)Python-sys,time,math模組

系統模組 sys


Dir:

  1. 什麼是模組?
  2. 作用
  3. 模組兒的分類
  4. 模組匯入方式
    - import 模組名
    - from 模組名 import 1,2,3…
    - from 模組名 import *
  5. 三種常用模組以及資料
    - sys
    - time
    - math

什麼是模組?

模組兒是一個包含一系列資料,函式,類等組成的程式組
模組兒是一個檔案,模組檔案通常以.py結尾

作用:

1.讓一些相關的資料,函式,類等邏輯的組織在一起,使邏輯結束更加清晰
2.模組兒中的資料,函式和類等可提供給其他模組兒或程式呼叫

模組的分類:

1.內建模組兒,在解析器的內部可以直接呼叫
2.標準庫模組,安裝Python時已經安裝,可以直接使用
3.第三方模組(通常為開源),需要自己安裝
	pip install 模組名
4.用自己編寫的模組(可以作為其他人的第三方模組)

模組兒的匯入

import 語句

  語法:
    import 模組名1 [as 模組新名1],模組名2 [as 新名2]
  作用:
    將某模組整體匯入到當前模組
  示例:
    import math
    import sys, os
  用法:
    模組名.屬性名
    math.factorial(5)
    print(math.pi)  
  
  dir(obj) 函式,返回模組的所有屬性的字串列表
  help(obj) 函式,可以檢視模組相關的文件字串

from import 語句

  語法:
    from 模組名 import 模組屬性名1 [as 屬性新名1], \
          模組屬性名2 [as 屬性新名2], ....
	  作用:
	    將某模組內的一個或多個屬性匯入到當前模組的作用域
	  示例:
	    from math import sin,cos,tan
	    from math import pi
	    from math import factorial as fac
	    print(sin(pi/2)*fac(5)

from import * 語句

	  語法:
	    from 模組名 import *
	  作用:
	    將某模組的所有屬性匯入到當前模組
	  示例:
	    from math import *
	    print(factorial(5))
	    print(sin(pi / 2))

dir([物件]) 返回一個字串列表
dir函式的作用:

  • 如果沒有引數呼叫,則返回當前作用域內所有變數的列表
  • 如果給定一個物件作為引數,則返回這個物件所有變數的列表
    • 對於一個模組,返回這個模組的全部變數(屬性)
    • 對於一個類物件,返回類物件的所有變數,並遞迴基類物件的所有變數
    • 對於其它物件,返回所有變數,類變數和基類變數

數學模組 nath

數學模組  

時間模組 time

此模組提供了時間相關的函式,

系統模組 sys

 執行時系統相關的資訊

sys模組的資料

資料 描述
sys.path 模組搜尋路徑是當前指令碼程式的路徑名
sys.modules 已經載入的字典
sys.version 版本資訊命名元組
sys.version_info 版本資訊的命名元組
sys.platform 作業系統平臺的名稱資訊
sys.aragv 命令列引數argv[0]代表當前指令碼程式路徑名
sys.copyright 獲得python版權相關的資訊
sys.builtin_moudle_names 獲取Python內建模組的名稱

sys 模組的函式

資料名 描述
sys.exit([arg]) 退出程式,正常退出時sys.exit(0)
sys.getrecursionlimit() 得到遞迴巢狀層次限制(棧的深度)
sys.setrecursionlimit(n) sys.setrecursionlimit(n)

Time時間模組的資料

資料 描述
time.altzone 夏令時時間與UTC時間差(秒為單位)
time.daylight 夏令時校正時間
time.timezone 本地區時間與UTC時間差(秒為單位)
time.tzname 時區名字的元組, 第一個名字為未經夏令時修正的時區名,
第一個名字為經夏令時修正後的時區名

Time時間模組函式

函式名 描述
time.time() 返回從計算機元年至當前時間的秒數的浮點數(UTC時間為準)
time.sleep(secs) 讓程式按給定秒數的浮點數睡眠一段時間
time.gmtime([secs]) 用給定秒數轉換為用UTC表達的時間元組
(預設返回當前時間元組)
time.asctime([tuple]) 將時間元組轉換為日期時間字串
time.mktime(tuple) 將本地日期時間元組轉換為新紀元秒數時間(UTC為準)
time.localtime([secs]) 將UTC秒數時間轉換為日期元組(以本地時間為準)

Math 模組

函式名 描述
math.ceil(x) 對x向上取整,比如x=1.2,返回2
math.floor(x) 對x向下取整,比如x=1.2,返回1
math.sqrt(x) 返回x的平方根
math.factorial(x) 求x的階乘
math.log(x[, base]) 返回以base為底x的對數, 如果不給出base,則以自然對數e為底
math.log10(x) 求以10為底x的對數
math.pow(x, y) 返回 x**y (x的y次方)
math.fabs(x) 返回浮點數x的絕對值
math.sin(x) 返回x的正弦(x為弧度)
math.cos(x) 返回x的餘弦(x為弧度)
math.tan(x) 返回x的正切(x為弧度)
math.asin(x) 返回x的反正弦(返回值為為弧度)
math.acos(x) 返回x的反餘弦(返回值為為弧度)
math.atan(x) 返回x的反正切(返回值為為弧度)