python之day5下半场

迭代器

python中的 for

 

 

递归:函数的传递

 

def func(n):
    n += 1
    if n >=4:
        return 'end'
    else:
        return func(n)

r = func(4)
print(r)

 

 

li = []
def func(n):
    li.append(n)
    if n == 1:
        num = 1
        for i in li:
            num *= i
        print(num)
        return 'end'
    else:
        n -=1
        return func(n)

func(7)

 

模块:

Py:模块

其他:类库

先导入后使用

import t2,lib.t3

t2.login()
lib.t3.go()

 

为什么要有模块?

将代码归类

导入模块的依据?

Import sys

Sys.path

导入模块

 

单模块:

Import

嵌套在文件夹下的:

From XXX import xxx

From XXX import xxx as XXX

 

import sys
sys.path.append('E:\\') #导入E盘位置,sys.path 是模块列表

 

第三方模块

安装:

Pip3 pip3 install request  python -m pip install requests

源码 python3 setup.py install

 

 

序列化相关

 

Import json

 

Import pickle

 

通过loads反序列化时 一定要用 “”

 

Loaddump

import json
r = json.dumps([11,22,33])
li = '["alex","eric"]'
ret = json.loads(li)
print(ret,type(ret))

li = [11,22,33]
json.dump(li,open('db','w'))

li = json.load(open('db','r'))
print(type(li),li)

 

import pickle
li = [11,22,33]
r = pickle.dumps(li)
print(r)

ret = pickle.loads(r)
print(ret)

li = [11,22,33]
pickle.dump(li,open('db','wb'))

li = pickle.load(open('db','rb'))
print(li)

 

Pickle 只能python使用

Json只支持python的基础类型(字典列表)

Json / pickle

#json更适合跨语言,字符串,基本数据类型

#pickle,python复杂类型的序列化操作。仅适用于python

而且不能版本的python也会有问题

 

 

时间模块:

time:

import time
import datetime

print(time.time())
print(time.ctime())
print(time.ctime(time.time()-86640))
print(time.gmtime(time.time()-86640))
print(time.localtime(time.time()-86640))
print(time.mktime(time.localtime()))
print(time.strftime("%Y-%m-%d %H:%M:%S",time.gmtime()))
print(time.strptime("2016-01-28","%Y-%m-%d"))


print("__________________________________\n\n")


print(datetime.date.today())
print(datetime.date.fromtimestamp(time.time()-864400))
current_time = datetime.datetime.now()
print(current_time)
print(current_time.timetuple())
print(current_time.replace(2014,9,12))
str_to_date = datetime.datetime.strftime("21/11/06 16:30","%d/%m/%y %H:%M")
new_date = datetime.datetime.now() + datetime.timedelta(days=10) #比现在加10天
new_date = datetime.datetime.now() + datetime.timedelta(days=-10) #比现在减10天
new_date = datetime.datetime.now() + datetime.timedelta(hours=-10) #比现在减10小时
new_date = datetime.datetime.now() + datetime.timedelta(seconds=120) #比现在+120s
print(new_date)

 

日志模块:

Logger:

Logger

局部logger级别 要高于全局,如果低于全局,则按照全局来。

如果全局是info  局部是error 就是按照error

如果全局是info  局部是 debug 就是 info

 

 

作业:

 

调用信用卡接口结账

 

信用卡提现 不能超过一半

 

免费试用 48

 

信用卡转账算提现   

 

 

posted @ 2016-06-06 10:15  Aaron.shen  阅读(98)  评论(0编辑  收藏  举报