代码改变世界

python学习_day04

2018-02-12 11:52  殇晨  阅读(134)  评论(0)    收藏  举报

----------内置函数---------------

bin(2) :将数字转成二进制

bool([]):判断真假

compile():编译字符串,变成可执行代码

exec():将字符串转为可执行代码,直接执行

dir():查看数据类型有什么方法

divmod(5,2):返回商和余数

eval():功能:将字符串str当成有效的表达式来求值并返回计算结果

exec():用来执行储存在字符串或文件中的Python语句

hex(255):将数字转为16进制

 

-----------json------------

json.dumps():序列化,将字典,列表等简单数据类型转为字符串,只dump一次

json.loads():反序列化,只loads一次

pickle() :支持所有数据类型序列化,只在python中使用,byte类型保存,用法与json一致

----------目录切换----------

import os,sys
#print(__file__) #打印相对路径
print(os.path.abspath(__file__)) #打印绝对路径
print(os.path.dirname(os.path.abspath(__file__))) #返回路径名,去除文件名
filepath = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #返回路径名,返回上级目录
sys.path.append(filepath) #将路径加入环境变量
from core import main
main.logs()

-------------模块----------------- 

模块定义:用来从逻辑上组织python代码,(变量,函数,类,逻辑:实现一个功能),本质就是.py结尾的python文件

包定义:用来从逻辑上组织模块,本质就是一个目录,(必须带有一个__init__.py的文件)

导入方法:import 模块名

本质:导入模块就是把python文件解释一遍,导入包就是执行包下的__init__文件

导入优化:from 模块名 import 方法名

 

模块分类

1:标准库。time与datetime、

  时间戳:从1970年开始计算

  格式化时间:Mon Feb  5 14:36:22 CST 2018

  元组形式(9个元素)

2:开源模块

3:自定义模块

random:取随机值

 hashlib:校验加密

 

import hashlib
#加密校验,创建对象
m=hashlib.md5()
#加密数据
m.update(b'shangchen')
print(m.hexdigest())

m2=hashlib.md5()
m2.update('商晨'.encode(encoding='utf-8'))
print(m2.hexdigest())

logging

日志级别:debug<info<warning<error<critical

import logging
#定义日志格式,日志级别
logging.basicConfig(filename='app.log',level=logging.INFO,
                    format='%(asctime)s %(filename)s - %(levelname)s - %(message)s ',datefmt='%m-%d-%Y %I:%M:%S %p')
logging.debug('test debug')
logging.info('test info')
logging.warning('test warning')
logging.error('test error')
logging.critical('test critical')