Python3小白日記
python3 類詳解 + self注意點 + __init__()構造函數 + 類庫調用
系統:Python 3.6.5 + windows7 + 自帶time/datetime庫
首先寫一個時間函數類,有2個方法
#python 3.6.5
#coding = UTF-8
import time
import datetime
class GetTime(object):
#get_timeStamp不加self
def get_timeStamp():
#擷取時間,并轉化格式
nowtime = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
#将時間按照格式轉化成元祖
timeArray = time.strptime(nowtime,'%Y-%m-%d %H:%M:%S')
#将元祖轉化成時間戳,因為是浮點型,是以是1234.0格式,轉化整形消除0
timestamp = time.mktime(timeArray)
timeStamp = int(timestamp)
return timeStamp
#get_crrentTime加self
def get_crrentTime(self):
nowtime = datetime.datetime.now().strftime('%Y%m%d%H%M')
return nowtime
接下來我們調用下。
from lib.getTime import GetTime
#注意,這個調用GetTime沒有帶()
timeStp = GetTime.get_timeStamp()
print(timeStp)
#1528388419
#注意,這個GetTime()是帶了()的
timecurrent = GetTime().get_crrentTime()
print(timecurrent)
#201806080020
分析結論:
1、定義類的時候,class GetTime(): #object可以省略,這個object是類的基類,說白了就是定義class類的函數。
2、類下面第一個函數
def __init__(self,A,B):
self.a = A
self.b = B
#這個是類的構造函數,也叫初始化函數。
#self.a表示class類有一個a是屬性,也就是公用變量
#(self,A,B) 這個AB是執行個體化類的時候需要2參數
3、類下面的其他方法
get_timeStamp() 裡面沒有(self),可是可以的。在調用的時候,GetTime.get_timeStamp()去調用,
因為self和()在調用的時候都會預設是一個參數。
如果定義方法加了(self),那麼調用的時候一定要用 類().方法() 。
如果定義方法沒加(self),那麼調用的時候直接用 類.方法() 。
4、類的調用
python沒有命名空間,是以調用自定義類挺麻煩。
先說個簡單的,pyCharm,隻要在同級目錄下,建立封包件,自帶一個__init__.py檔案。這個引用就很簡單。
from 包.類名 import 類。
lib是我的包目錄,getTime.py是py檔案名,GetTime是類名。