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反序列化时 一定要用 “”
Load和dump
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天
信用卡转账算提现

浙公网安备 33010602011771号