Python3基础数据类型

1 字符串
1.1 使用单引号(')
用单引号括起来表示字符串,例如:
str='this is string';
print(str);
用双引号(")
1.2 双引号中的字符串与单引号中的字符串用法完全相同,
例如:
str="this is string";
print(str);
1.3 使用三引号(''')
利用三引号,表示多行的字符串,可以在三引号中自由的使用单引号和双引号,例如:
str='''this is string
this is pythod string
this is string'''
print(str);
1.5 字符串的内置方法
capitalize(首字母转变成大写,如果首子母已经是大写则还是输出首字母大写结果)
casefold(大写转小写针对所有内容)
center(内容居中)
count(统计出现的次数,返回一个正整数类型)
encode(编码修改)
endswith(判断是否以指定字符串结尾,返回bool值)
expandtabs(将字符串中的tab(\t)转换为空格,默认空格数tabsize是8个字符)
find(查找字符串所在的位置,可先参数start:起始位置,end:结束位置。结果将返回int类型。如果查找失败返回-1)
format(字符串格式化(可接收不限数量参数,使用‘{}’占位符))
index(返回索引位置;可先参数,start:起始位置,end:结束位置,返回一个整数类型(当字符串没有找到时,会提示报错信息))
join(返回通过指定字符分隔的新字符串)
lstrip(删除左边的空白或自定义的字符)
replace(使用新的字符串替换老的字符串(可选参数count 指定替换的次数,默认是全部))
strip (去除左边空白或自定义字符串)
splitlines(拆分多行字符串,以每行一个元素生成一个新的列表,如果是单行字符串,则返回原字符串)
split(与rsplit 相反,从左边开始操作)
rsplit(从右边开始拆分,返回一个列表类型,(可选参数maxsplit 每次+- 1 sep 的值默认是空格))

2 布尔类型
bool=False;
print(bool);
bool=True;
print (bool);
3 整数
int=20
print(int)
3.1 int内置方法
__abs__(返回绝对值)
n = -5
print(n.__abs__())
#输出:5
__add__(相加,运算符:+)
n = 3
print(n.__add__(5))
#输出:8
__and__(按位与运算,运算符:&)
n = 5
print(n.__and__(7))
#输出:5
# 00000110
#与运算
# 00000111
#等于 00000110
__bool__
#占位
__ceil__(返回自身)
n = 1234
print(n.__ceil__())
#输出:1234
__divmod__(返回除数和余数)
n = 13
print(n.__divmod__(5))
#输出:(2, 3)
__eq__(判断两数是否相等,运算符:==)
n = 5
print(n.__eq__(3))
#输出:False
__float__(转换成浮点型)
n = 5
print(n.__float__())
#输出:5.0
__floordiv__(取整除,返回商的整数部分,运算符://)
n = 9
print(n.__floordiv__(4))
#输出:2
__floor__
#占位
__format__
#占位
__getattribute__
#占位
__getnewargs__
#占位
__ge__(判断是否 >=)
n = 5
print(n.__ge__(3))
#输出:True
__gt__(判断是否 > )
n = 5
print(n.__gt__(3))
#输出:True
__hash__
#占位
__index__
#占位
__invert__(二进制按位取反,运算符:~)
n = 11
print(n.__invert__())
#输出:-12
#ps:二进制的负数表示方法:正数按位取反再加1
__le__(判断是否 <=)
n = 5
print(n.__le__(3))
#输出:False
__lshift__(二进制左移运算,运算符:<<)
n = 12
print(n.__lshift__(2))
#输出:48
#ps:二进制左移1位等于十进制乘2,右移一位等于十进制除2
__lt__(判断是否 <)
n = 5
print(n.__lt__(3))
# #输出:False
__mod__(取模-返回除法的余数,运算符:%)
n = 14
print(n.__mod__(3))
#输出:2
__mul__(相乘,运算符:*)
n = 3
print(n.__mul__(6))
#输出:18
__neg__(取反,正数变负数,负数变正数,运算符:-)
n = 5
print(n.__neg__())
#输出:-5
__new__
#占位
__ne__(判断两值是否不相等,运算符:!= )
n = 5
print(n.__ne__(3))
#输出:True
__or__(按位或运算,运算符:|)
n = 3
print(n.__or__(5))
#输出:7
# # 00000011
# #或
# # 00000110
# # 00000111
__pos__
# """ +self """ (不知道有啥意义)
__pow__(返回 x y [x的y次方] 的值)
n = 2
print(n.__pow__(3))
#输出:8
__radd__(相加,运算符:+)
n = 5
print(n.__radd__(3))
#输出:8
__rand__
#""" Return value&self. """
__rdivmod__
#""" Return divmod(value, self). """
__repr__(返回自身)
#""" Return repr(self). """
__rfloordiv__(取整除,返回商的整数部分,运算符://)
#""" Return value//self. """
__rlshift__(二进制左移运算,运算符:<<)
#""" Return value<<self. """
__rmod__(取模-返回除法的余数,运算符:%)
#""" Return value%self. """
__rmul__(相乘,运算符:*)
#""" Return value*self. """
__ror__
#""" Return value|self. """
__round__
#占位
__rpow__(返回 y x [y的x次方] 的值)
n = 3
print(n.__rpow__(2))
#输出:8
__rrshift__
#""" Return value>>self. """
__rshift__
#""" Return self>>value. """
__rsub__
#""" Return value-self. """
__rtruediv__
#""" Return value/self. """
__rxor__
#""" Return value^self. """
__sizeof__
#""" Returns size in memory, in bytes """
__str__
#""" Return str(self). """
sub(相减)
#""" Return self-value. """
__truediv__(相除)
#""" Return self/value. """
__trunc__
#占位
__xor__(按位异或,运算符:^)
#""" Return self^value. """
bit_length(返回二进制的最小长度)
>>> bin(37)
'0b100101'
>>> (37).bit_length()
6
conjugate
#占位
from_bytes
#占位
to_bytes
#占位
4 浮点数
float = 0.73
print(float)
5 数字
包括整数、浮点数。
5.1 删除数字对象引用,例如:
a = 1
b = 2
c = 3
del a
print(a) ##会报错,对象未定义

5.2 数字类型转换
int ()
x='11'
print(int(x,2))
注意:
x,为字符串
2位现在的进制
输出值 为转成十进制的数字
如果 x本来是 数字类型,可用x=str(x)
float(x)
转为浮点数
complex()
转为复数形式
print(complex(1))
print(complex('2+1j'))
print(complex(2, 5))
l = [1, 3]
for i in l:
print(complex(i, 5))
输出
(1+0j)
(2+1j)
(2+5j)
(1+5j)
(3+5j)
str()
是将数值转成字符串。
repr()
是将一个对象转成字符串显示
eval(str)
计算一个字符串,并返回一个对象。
tuple(s)
把s转换为一个元组。
list(s)
把s转换为一个列表。
set(s)
把s转换为一个集合。
dict(d)
创建一个字典。 d必须的(键,值)元组序列。
frozenset(s)
把s转换为冻结集。
chr(x)
整数转换为一个字符。
unichr(x)
整数转换为一个Unicode字符。
ord(x)
转换单个字符为整数值。
hex(x)
将整数转换为十六进制字符串。
oct(x)
将整数转换为以八进制的字符串
5.3 数学函数
abs(x) 返回数字的绝对值,如abs(-10) 返回 10
ceil(x) 会生成按顺序排在这个输入值之后的最小整数 math.ceil(6.6)返回7、math.ceil(-6.6)返回-6
trunc(x) 截断x小数点后的数字,只留下构成x整数部分的有效数字 math.trunc(6.6)返回6、math.trunc(-6.6)返回-6
floor(x) 将x转换为不大于它的最大整数 math.floor(6.6)返回6、math.floor(-6.6)返回-7
exp(x) 返回e(自然常数)的x次幂(e**x) math.exp(1)返回2.718281828459045
fabs(x) 返回x的绝对值 math.fabs(-10)返回10、math.fabs(6.6)返回6.6
log(x) log(x)计算以e为底数的x的自然对数 math.log(10)返回2.302585092994046
log(x,y) log(x,y)计算以y为底数的x的自然对数 math.log(27,3)返回3.0
log10(x) 返回以10为底数的x的自然对数,对等于log(x,10) math.log10(1000)返回3.0
modf(x) 返回一个tuple,其中包含x的小数和整数部分 math.modf(6.32)返回 (0.3200000000000003, 6.0)
pow(x,y) 返回x**y的值 math.pow(3,4)返回81.0
sqrt(x) 计算x的平方根,数字不能使复数 math.sqrt(9)返回3.0
max(x1,x2,…) 返回给定参数的最大值 max(3,2,1,4,5,6)返回6
min(x1,x2,…) 返回给定参数的最小值 min(3,2,1,4,5,6)返回1
round(x[,n]) 返回浮点数x的四舍五入值,如果给出n值,则代表舍入到小数点后的位数
round(3.1415926)返回3
round(3.1415926,3)返回3.142
5.4 随机数函数
随机数可以用于数学,游戏、安全领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性
choice(seq) 返回seq中的随机项,seq可以是列表、元组或字符串
random.choice(range(10))
randrange([x,]y[,a]) 从x到y之间,以a递增的范围内随机取一个数
random.randrange(5,10,2)
random() 随机生成一个实数,它在(0,1)范围内
random.random()
seed([x]) 改变随机数生成器的种子seed,x可以是任意可散列对象
random.seed(2)
shuffle(lst) 将lst里的所有元素重新排序
random.shuffle(list1)
uniform(x,y) 在x至y的范围内随机生成一个实数
random.uniform(1,10)
5.5 三角函数
acos(x) 返回x的反余弦弧度值
math.acos(0.64)返回0.8762980611683406
asin(x) 返回x的反正弦弧度值
math.asin(0.64)返回0.694498265626556
atan(x) 返回x的正切弧度值
math.atan(0.64)返回0.5693131911006619
atan2(x,y) 返回给定的x及y坐标值的反正切值
math.atan2(-0.50, -0.50)返回-2.356194490192345
cos(x) 返回x的弧度的余弦值
math.cos(3)返回-0.9899924966004454
hypot(x,y) 返回欧几里得范数sqrt(x*x+y*y)
math.hypot(3, 2)返回3.605551275463989
sin(x) 返回x的弧度的正弦值
math.sin(3)返回0.1411200080598672
tan(x) 返回x的弧度的正切值
math.tan(3)返回-0.1425465430742778
degrees(x) 将弧度转换为角度,如degrees(math.pi/2)返回90.0
math.degrees(3)返回171.88733853924697
radians(x) 将角度转换为弧度
math.radians(3)返回0.05235987755982989
6、列表
功能:将字符创转化为列表,例:
>>>messages = 'hello word'
>>>result = list(messages)
>>>print(result)
>>>['h', 'e', 'l', 'l', 'o', ' ', 'w', 'o', 'r', 'd']
6.1 元素赋值
list1 = [1,2,3]
print(list1)
list1[0] = 0
print(list1)
[1, 2, 3]
[0, 2, 3]
6.2 分片操作
2.1 显示序列
将显示列表的从list1[beg]到list1[end-1]的元素,list1[end]不会显示
2.2 修改序列
list1 = [1+1,'dsad','dsadasd']
list1[1:] = list('sjie')
print(list1)
2.3 插入序列
message = list('hello')
message.insert(0,'hel')
message[2:2] = [1,2,3]
print(message)
['hel', 'h', 1, 2, 3, 'e', 'l', 'l', 'o']
2.4 删除序列
message = list('hello')
message.insert(0,'hel')
message[2:] = []
print(message)
6.3 count函数(统计列表中某元素出现的次数)
message = list('hello')
message.insert(0,'hel')
result = message.count('l')
print(result)
2
6.4 len函数(统计列表中元素的个数)
message = list('hello')
message.insert(0,'hel')
result = len(message)
print(result)
6
6.5 append函数(往列表的最后一个位置插入(入栈)操作)
list1 = [1,2,3,3]
result = list1.append('3')
print(list1)
[1, 2, 3, 3, '3']
6.6 extend函数(修改原序列,链接两个序列产生新的序列)
a = [1,2,3]
b = ['a','b','c']
a.extend(b)
print(a)
[1, 2, 3, 'a', 'b', 'c']
6.7 insert函数(将元素插入到列表的指定位置)
message = list('hello')
message.insert(0,'hel')
print(message)
['hel', 'h', 'e', 'l', 'l', 'o']
6.8 pop函数(删除指定位置元素,默认从最后一个删除并打印删除的元素)
message = list('hello')
message.insert(0,'hel')
message.pop(0)
print(message)
['h', 'e', 'l', 'l', 'o']
6.9 remove函数(删除一个指定元素)
message = [1,2,3,3]
message.remove(3)
print(message)
[1, 2, 3]
message = [1,2,3,3]
while 3 in message:
message.remove(3)
print(message)
[1, 2]
6.10 index函数(从列表中找出与某个元素匹配的第一个匹配项的位置)
message = [1,2,3,3,3]
result = message.index(2)
print(result)
1
6.11 reverse函数(翻转列表)
message = [1,2,3,3,3]
print(message)
message.reverse()
print(message)
[1, 2, 3, 3, 3]
[3, 3, 3, 2, 1]
6.12 sort函数(对列表进行排序,sort函数修改了原序列)
message = [2,12,3,3,3]
message.sort()
print(message)
[2, 3, 3, 3, 12]
如果想不修改原序列
list1 = [1,2,1]
a = sorted(list1)
print(a)
print(list1)
[1, 1, 2]
[1, 2, 1]
关键字排序:key
list1 = ['dasd','da','dasdasd','dsasd']
list1.sort(key = len)
print(list1)
['da', 'dasd', 'dsasd', 'dasdasd']
关键字排序:reverse()
list1 = [321,12,3223,321312]
list1.sort(reverse=False)
print(list1)
[12, 321, 3223, 321312]
list1 = [321,12,3223,321312]
list1.sort(reverse=True)
print(list1)
[321312, 3223, 321, 12]
reverse = True 降序
reverse = False 升序
6.13 set集合(列出列表中不重复的元素(去重)集合)
tuple1=(1,2,3,4,1,2,3)
message = list(tuple1)
print(message)
new = set(message)
print(new)
[1, 2, 3, 4, 1, 2, 3]
{1, 2, 3, 4}
13.1 update(是把要传入的元素拆分成单个字符,存于集合中,并去掉重复的字符)
message=[1,2,1,3,1,31,31,1,2]
message1=set(message)
print(message1)
message1.update('hello')
print(message1)
13.2 add(是把要传入的元素作为一个整体添加到集合中)
message=[1,2,1,3,1,31,31,1,2]
message1=set(message)
print(message1)
message1.add('hello')
print(message1)
{1, 2, 3, 31}
{1, 2, 3, 'hello', 31}
13.3 remove(集合删除)
sTest = ['e', 'two', 'o', 'n', '1', '3', '2']
set1 = set(sTest)
print(set1)
set1.remove('1')
print(set1)
{'1', 'o', 'two', '3', 'e', 'n', '2'}
{'o', 'two', '3', 'e', 'n', '2'}
13.4 集合的遍历
第一种方法:
st = set([1,2,'a','c',4,'d'])
for i in st:
print(i)
第二种方法:
st = set([1,2,'a','c',4,'d'])
for idx,i in enumerate(st):
print(idx,i)
13.5 pop()方法
删除并返回set类型的s中的一个不确定的元素,如果为空引发KeyError错误。
st = set([1,2,'a','c',4,'d'])
st.pop()
print(st)
13.6 clear()方法
清空集合中的所有元素
st = set([1,2,'a','c',4,'d'])
print(st)
st.clear()
print(st)
{1, 2, 'c', 4, 'a', 'd'}
set()
13.7 集合的一些操作符
1.交集:Python中求集合的交集使用的符号是“&”,返回连个集合的共同元素的集合,即集合的交集
st1 = set('Python')
st2 = set('htc')
result = st1 & st2
print(result)
{'t', 'h'}
2.并集:Python中求集合的并集用的是符号“|”,返回的是两个集合所有的并去掉重复的元素的集合
st1 = set('Python')
st2 = set('htc')
result = st1 | st2
print(result)
{'n', 'P', 'h', 'y', 'o', 'c', 't'}
3.差集:Python中差集使用的符号是减号“-”,返回的结果是在集合st1中但不在集合st2中的元素的集合
st1 = set(['1', '3', '2', '5', '4', '7', '6'])
st2 = set(['9', '8', '5', '4'])
result = st1 - st2
print(result)
{'7', '3', '1', '2', '6'}
13.8 集合的拷贝函数是:copy()
st1 = set(['1', '3', '2', '5', '4', '7', '6'])
st2 = st1.copy()
print(st2)
{'5', '2', '3', '4', '1', '7', '6'}
13.9 求集合的关系: issuperset(),issubset()
判断s1集合是否是集合s2的父集,是返回True,否则返回False
st1 = set([1, 2, 3, 4])
st2 = set([1, 2, 3, 4, 5])
result = st2.issuperset(st1)
print(result)
判断s2集合是否是集合s1的子集,是返回True,否则返回False
st1 = set([1, 2, 3, 4])
st2 = set([1, 2, 3, 4, 5])
result = st1.issubset(st2)
print(result)
13.10 不可变集合frozenset
Python中还有一种不可改变的集合,那就是frozenset,不像set集合,可以增加删除集合中的元素,该集合中的内容是不可改变的,类似于字符串、元组。

> ---------------------------------------------------------------------

7、元组(元组和列表几乎一样,元组的元素不可修改,但是元组元素的元素是可以修改的),tuple(iterable),可以存放所有可迭代的数据类型
7.1.count(用于计算元素出现的个数)
T = ('a','b','c','d',1,2,2,3,4)
result = T.count(2)
print(result)
2
7.2.index(获取元素在元组中的索引值,对于重复的元素,默认获取从左起第一个元素的索引值)
T = ('a','b',2,'c','d',1,2,3,4)
result = T.index(2)
print(result)
2
7.3.元组支持切片操作
#取所有元素
T = ('a','b','c','d','e','f','g','h')
result = T[:]
print(result)
('a','b','c','d','e','f','g','h')
#取从索引2开始到末尾的元素
T = ('a','b','c','d','e','f','g','h')
result = T[2:]
print(result)
('c', 'd', 'e', 'f', 'g', 'h')
#取索引2到6的所有元素,不包含索引6
T = ('a','b','c','d','e','f','g','h')
result = T[2:6]
print(result)
('c', 'd', 'e', 'f')
#从索引2到6,每隔一个元素取一个
T = ('a','b','c','d','e','f','g','h')
result = T[2:6:2]
('c', 'e')
print(result)
7.4.tuple元祖常用的内置方法
cmp(tuple1, tuple2)比较两个元组元素
len(tuple)计算元组元素个数
max(tuple)返回元组中元素最大值
min(tuple)返回元组中元素最小值
tuple(seq)将列表转换为元组

> ---------------------------------------------------------------------
8、字典:字典是可变的,并且可以存储任意数量的Python对象,包括其他容器类型另一个容器类型。字典包括键对(称为项目)及其相应的值
8.1 字典的内置方法
8.1.1 dict.clear()删除字典dict中的所有元素
dict = {'Name': 'Sjie', 'Age': 7}
print("Start Len : %d" % len(dict))
dict.clear()
print("End Len: %d" %len(dict))
Start Len : 2
End Len: 0
8.1.2 dict.copy()返回字典dict的浅表副本
dict1 = {'Name': 'Zara', 'Age': 7}
dict2 = dict1.copy()
print("New Dictinary : %s" % str(dict2))
print("Old Dictinary : %s" % str(dict1))
New Dictinary : {'Name': 'Zara', 'Age': 7}
Old Dictinary : {'Name': 'Zara', 'Age': 7}
8.1.3 dict.fromkeys()创建一个新的字典,设置键为seq 和值为value,seq -- 这是将用于字典的键准备的值的列表。value -- 这是可选的,如果提供的话则值将被设置为这个值
seq = ('name', 'age', 'sex')
dict = dict.fromkeys(seq)
print("New Dictionary : %s" % str(dict))
dict = dict.fromkeys(seq, 10)
print("New Dictionary : %s" % str(dict))
New Dictionary : {'name': None, 'age': None, 'sex': None}
New Dictionary : {'name': 10, 'age': 10, 'sex': 10}
8.1.4 dict.get(key, default=None)
对于键key,返回键,如果不是在字典的值或默认
dict = {'Name': 'Zara', 'Age': 27}
print("Value : %s" % dict.get('Age'))
print("Value : %s" % dict.get('Sex', "Never"))
Value : 27
Value : Never
8.1.5 dict.items()
返回字典的(键,值)元组对的列表
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" % dict.items())
Value : dict_items([('Name', 'Zara'), ('Age', 7)])

8.1.6 dict.keys()
返回字典的键的列表
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" % dict.keys())
Value : dict_keys(['Name', 'Age'])

8.1.7 dict.setdefault(key, default=None)
类似get(),但会设定dict[key]=default如果key不是已经在于字典中
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" % dict.setdefault('Age', None))
print("Value : %s" % dict.setdefault('Sex', None))
8.1.8 dict.update(dict2)
增加字典dict2的键值对到字典中
dict = {'Name': 'Zara', 'Age': 7}
dict2 = {'Sex': 'female' }
dict.update(dict2)
print("Value : %s" % dict)
8.1.9 dict.values()
返回字典dict的值列表
dict = {'Name': 'Zara', 'Age': 7}
print("Value : %s" % dict.values())
8.2 字典的迭代
# 迭代
for key in d # 迭代key
for value in d.values() # 迭代value
for k, v in d.items() # 迭代key和value
8.3 字典的交换key和value
{value:key for key, value in a_dict.items()}
8.4 列表转换为字典
dic = {}
list1 = [11,22,33,44,55,66,77,88,99]
for i in list1:
if i > 66:
if "k1" in dic.keys():
dic['k1'].append(i)
else:
dic['k1'] = [i,]
else:
if "k2" in dic.keys():
dic['k2'].append(i)
else:
dic['k2'] = [i,]
print(dic)

9、日期
9.1 time(时间模块)
time.time() 返回当前时间戳
time.asctime() 返回当时时间的ascii表式形势
time.ctime() 当前时间的字符串形式跟asctime()一样
time.localtime() 返回当前时区的内部time格式struct_time格式
time.gmtime() 将时间戳转变成UTC时区(0时区)的struct_time结构
time.mktime(t)将内部time格式转换成时间戳,接受truct_time结构
time.strftime("%Y-%m-%d",time.localtime(time.time()))将内部 time结构转变成我们人为可读的指定的字符串格式 '2014-3-12'
time.strftime("%Y-%m-%d%H:%M:%S",time.localtime())将当前时间格式化指定的字符串格式
time.clock()返回当前CPU时间为几秒钟的浮点数。以测量不同方法的计算成本,time.clock的值比time.time()更有用
time.sleep(secs)暂停secs秒钟调用线程
time.strptime()将字符串格式的时间转变成内部time格式
time.strptime("Sat Mar 28 22:24:25 2009","%a %b %d %H:%M:%S %Y")
python中时间日期格式化符号:
%y 两位数的年份表示(00-99)
%Y 四位数的年份表示(000-9999)
%m 月份(01-12)
%d 月内中的一天(0-31)
%H 24小时制小时数(0-23)
%I 12小时制小时数(01-12)
%M 分钟数(00=59)
%S 秒(00-59)
%a 本地简化星期名称
%A 本地完整星期名称
%b 本地简化的月份名称
%B 本地完整的月份名称
%c 本地相应的日期表示和时间表示
%j 年内的一天(001-366)
%p 本地A.M.或P.M.的等价符
%U 一年中的星期数(00-53)星期天为星期的开始
%w 星期(0-6),星期天为星期的开始
%W 一年中的星期数(00-53)星期一为星期的开始
%x 本地相应的日期表示
%X 本地相应的时间表示
%Z 当前时区的名称
%% %号本身
9.2 calendar(日历模块)
#打印2017的日历
import calendar
result = calendar.calendar(theyear=2017,w=2,l=1,c=6)
print(result)
#判断是否为闰年
calendar.isleap(year)
#打印指定的年跟月的日历
result = calendar.month(2017,6,w=2,l=1)
#返回给定日期的星期代码
calendar.weekday(2016,6,9)
9.3 datetime(处理日期时间模块)
datetime模块定义了下面这几个类:
datetime.date:表示日期的类。常用的属性有year, month, day;
datetime.time:表示时间的类。常用的属性有hour, minute, second, microsecond;
datetime.datetime:表示日期时间。
datetime.timedelta:表示时间间隔,即两个时间点之间的长度。
datetime.tzinfo:与时区有关的相关信息。

9.3.1 date对象表示由年,月,日组成的简单日期
date(year,month,day)
此函数创建一个新的日期对象,year是范围在datetime.MINYEAR和datetime.MAXYEAR之间的整数。month是在一个范围在1到12直接的整数,而day是一个范围在1到指定月份天数之间的整数。返回的date对象是不可变的
date.today()
返回对应当前日期的date对象
date.fromtimestamp(timestamp)
返回对应时间戳timestamp的date对象。timestamp是time.time()函数的返回值
date.fromordinal(ordinal)
返回对应从允许的最小日期开始的ordinal天的date对象(例如,1年1月1日的序数值为1,而2006年1月1日的序数值为732312)
date.min()
表示能够表示的最早日期(datetime.date(1,1,1))
date.max()
表示可能的最晚日期(datetime.date(9999,12,31))
from datetime import *
d = date(year=2013,month=4,day=13)
d.ctime #返回一个字符串,表示日期格式与time.ctime()函数一般使用的格式相同
d.isocalendar() #以元祖(iso.year,iso_week,iso_weekday)的形式返回日期
d.isoformat() #返回表示日期的iso 8601格式的字符串
d.isoweekday() #返回一周的一天,范围在1(星期一)到7(星期日)之间
d.replace() #返回一个新的date对象,并使用新值代替其中一个,例如:d.replace(month=1)
d.strftime(format("%Y-%m-%d")) #返回一个字符串,表示日期格式与time.strftime()函数相同
d.timetuple() #返回适合函数在time模块中使用的time.struct_time对象
d.toordinal() #将d转化为一个序数值
d.weekday() #返回一周内的时间,范围在0(星期一)到6(星期日)之间
9.3.2 time对象用于表示包含小时,分,秒,微秒的时间
time.min() #表示可表示的最小时间(datetime.time(0,0))
time.max() #表示可表示的最大时间(datetime.time(23,59,59,999999))
t.isoformat() #返回一个字符串,表示时间格式为"HH::MM:SS.mmmmmm"
t.strftime(format) #返回自定义格式化字符串表示时间

9.3.3 datetime对象用于表示日期和时间
datetime(year,month,day,hour,minute,second,microsecond,tzinfo) #创建一个新的datetime的对象,它同时包含date和time对象的所有特性
datetime.today() #返回一个表示当前本地时间的 datetime 对象
datetime.now(tz=None) #返回一个表示当前本地时间的datetime对象;如果提供了参数tz,则获取tz参数所指时区的本地时间
datetime.utcnow() #返回一个当前UTC时间的datetime对象
datetime.fromtimestamp(timestamp, tz=None) #根据时间戮创建一个datetime对象,参数tz指定时区信息
datetime.utcfromtimestamp(timestamp) #根据时间戮创建一个UTC时间的datetime对象
datetime.combine(date, time) #根据参数date和time,创建一个datetime对象
9.3.4 timedelta对象表示两个日期之间或时间之间的差值
timedaelta(days,seconds,microseconds) #例如:
import datetime
today = datetime.datetime.now()
t = today.ctime()
print(t)
oneday = datetime.timedelta(days=1)
tomorrow = today + oneday
print(tomorrow.ctime())
Fri Jun 9 17:14:46 2017
Sat Jun 10 17:14:46 2017

posted @ 2017-06-22 14:49  孤鸟的悲歌丶  阅读(135)  评论(0编辑  收藏  举报