一、内置函数
# input()
# type()
# len()
# print()
# enumerate()
# list()
# dict()
# tuple()
# set()
# str()
# int()
# float()
# bool()
# print(max([1,2,3,4,7,8,9]))
# print(min(1,2,3,4,7,8,9))
# print(round(3.1323432,2)) #取几位小数
# sorted([5,6,7,343])
s='1223423423'
# print(sorted(s,reverse=True))
# print(ord('a'))#字母转成阿斯克码表里面的值
# print(chr(97))#把数字转成阿斯克码表里面的字母
res = any([1,1,0]) #如果这个list里面有一个为真,就返回true
# print(res)
res = all([1,1,1,1,1]) #如果这个list里面全部为真,就返回true
print(res)
# import hashlib
# print(dir(hashlib))
# m = hashlib.md5('abcd'.encode())
# print(dir(m))
# print(m.hexdigest())
# f = open('a.txt').read()
# print(type(f))
# res = eval(f) #执行简单的python代码
# print(res)
# print(type(res))
my_code= '''
def my():
print('运行my,xioaojun')
my()
'''
# exec(my_code) #执行python代码的
# map()
# filter()
# l2 = []
# def bl(i):
# return str(i).zfill(2)
#
# l='12345677'
# res = set(map(bl,l)) #map是循环帮你调用函数,然后保存函数的返回值的,放到一个list里面
# print(res)
l='12345677'
def bl(i):
# return str(i).zfill(2) # '01'
if i>'3':
return True
# m = list(map(bl,l))
f = list(filter(bl,l)) #filter也是循环调用函数的,如果函数返回的值是真,那么就保存这个值
# print(m)
print(f)
二、导入模块
新建py文件m1.py
name = 'm1'
def f1():
print('我是m1文件里面的f1')
print('我在m1文件里面的print')
f = open('nhy.txt','w')
f.write('m2')
print('hhhhh2222')
新建py文件m2.py
# import m1
# m1.f1()
# print(m1.name)
#
# import random
# print(random.randint(1,9))
import sys
# import nhy
# nhy.say()
# print(nhy.name)
# sys.path.insert(0,r'C:\Users\nhy\PycharmProjects\jnz\day6')
# # sys.path.append(r'C:\Users\nhy\PycharmProjects\jnz\day6')
#
# print(sys.path)#python的环境变量目录
#
# import 加密的模块 as m
# # res = m.my_md5('123456')
# # m.my_md5()
# # m.password
# # print(res)
# import 读Excel as e
from day6 import m2
from day2.a import words2
from day3.list练习 import *
# print(ip)
print(words2)
导入模块的实质就是把py文件运行一次
导入模块的顺序是1、先从当前目录下找这个模块
2、再去环境变量里面找
三、发送邮件
import yagmail
user='uitestp4p@163.com'
password='houyafan123'
m = yagmail.SMTP(host='smtp.163.com',user=user,
password=password,
)
#smtp.qq.com
#smtp_ssl=True 如果是qq邮箱的话加这个参数
m.send(to=['511402865@qq.com','a961813439@163.com'],
cc=['1336537096@qq.com','13714866626@163.com'],
subject='明天不上课',contents='明天不上课,在家好好休息。。。',
attachments=['笔记.txt',r'C:\Users\nhy\Desktop\金牛座.xls'])
四、写日志
# error
# waring
# info
# debug
import nnlog
log = nnlog.Logger('my.log',level='info',backCount=5,when='D')
log.info('xiaojun登陆...')
log.error('数据连接失败!')
log.surprise()
五、操作redis
import redis
ip = '118.24.3.40'
password='HK139bc&*'
r = redis.Redis(host=ip,password=password,port=6379,db=1,
decode_responses=True)
# decode_responses这个参数的意思是,返回的二进制数据直接decode一下
print(r.get('python:lyos'))
print(r.hgetall('jnz_stus'))
# r.flushdb() #删除这个数据库里面所有的key
# print(res.decode()) #decode是bytes类型,转成字符串
#string
# res = r.get('nhy2')
# r.set('nhy','acb123',24*60*60) #新增和修改都是它
# r.delete('nhy') #删除指定的key
# r.set('python:os','listdir,path')
# res = r.get('python:os')
# print(res)
# print(r.keys('session*')) #获取所有的key
#哈希类型 hash类型
#二层字典
# r.hset('jnz_stus','yangfan','sdfsdfsdfsdf')
# res = r.hget('jnz_stus','cm') #指定获取里面小key的值
# r.delete('jnz_stus') #删除大key
# r.hdel('jnz_stus','cm') #删除指定的小key
# res = r.hgetall('jnz_stus') #获取到大key里面所有的数据
# print(res)
# new = {}
# for k,v in res.items():
# new [k.decode()] = v.decode()
# print('======下面是转完之后的')
# print(new)
# 1、先循环res
# 2、k和v decode一下 然后放到new这个字典里面
# session = {
# "nhy":{'sex':18,'age':18},
# "nhy2":{'sex':18,'age':18},
# }
#
# token = {
# "nhy2":{'x':'x'}
# }
# 0 1
0 - 127
124-125
# 阿斯克码表
# gb2312 #
# gbk #
# JP123 #
# 1123 - 牛
# 1233 - 哈
# unicode 字符集 万国码
#python2
#python3 unicode
# utf-8
# a 1
# 牛 2
# s='水电费水电费' #JP231
# s2= s.encode('JP231') #先按照之前的字符集解码
# s2.decode('utf-8') #然后再编码,编成你要的字符集
#两种不同类型的字符集要互相转的话,先转成unicode