#将时间格式化为当前的'年-月-日 时:分:秒'格式
In [42]: time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())
Out[42]: '2017-08-31 14:12:46'
#将时间格式化为当前的'星期 月份 日期 时:分:秒 年'格式
In [43]: time.strftime("%a %b %d %H:%M:%S %Y",time.localtime())
Out[43]: 'Thu Aug 31 14:15:15 2017'
# 将格式字符串转换为时间戳
timestr = 'Thu Aug 31 14:16:46 2017'
In [46]: time.mktime(time.strptime(timestr,'%a %b %d %H:%M:%S %Y'))
Out[46]: 1504160206.0
1.5 获取某月日历
Calendar模块内置函数:
Calendar模块有很广泛的方法用来处理年历和月历,例如打印某月的月历:
#打印某个月的日历
>>> import calendar
>>> moth201708 = calendar.month(2017,8)
>>> print moth201708
August 2017
Mo Tu We Th Fr Sa Su
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
>>>
1.6 拓展模块
使用datetime模块来获取当前的日期和时间
In [50]: import datetime
In [51]: ti = datetime.datetime.now()
In [52]: ti
Out[52]: datetime.datetime(2017, 8, 31, 14, 29, 43, 544916)
In [53]: ti.is
ti.isocalendar ti.isoformat ti.isoweekday
In [53]: ti.isoformat()
Out[53]: '2017-08-31T14:29:43.544916'
In [54]: ti.year
Out[54]: 2017
In [55]: ti.month
Out[55]: 8
In [56]: ti.day
Out[56]: 31
In [57]: ti.hour
Out[57]: 14
In [58]: ti.minute
Out[58]: 29
In [59]: ti.second
Out[59]: 43
2. 可更改(mutable)与不可更改(immutable)对象
在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。
不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a。
可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。
python 函数的参数传递:
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。比如在 fun(a)内部修改 a 的值,只是修改另一个复制的对象,不会影响 a 本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
In [62]: def mult(lst):
....: result = 1
....: for i in lst:
....: result *= i
....: return result
....:
In [63]: result = mult([1,2,3,4,5])
In [64]: result
Out[64]: 120