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是类名。