md5

import hashlib
import string

hash1 = hashlib.md5()
hash1.update(bytes("123",encoding = "utf-8"))
h = hash1.hexdigest()
n = int(h,base=16)

print(n)
print(h)
print(hex(n))


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:\Users\Administrator\AppData\Local\Programs\Python\Python36-32\python.exe “C:\Program Files\JetBrains\PyCharm 2017.2\helpers\pydev\pydevd.py” –multiproc –qt-support=auto –client 127.0.0.1 –port 6131 –file C:/Users/Administrator/PycharmProjects/py/md5test6.py
pydev debugger: process 5276 is connecting

Connected to pydev debugger (build 172.3757.67)
42767516990368493138776584305024125808
202cb962ac59075b964b07152d234b70
0x202cb962ac59075b964b07152d234b70

Process finished with exit code 0

正则表达式

import  re
n = re.findall("(\d+)(\w)*(\d+)","a2b3c45")
m = re.search("(\d+)(\w)*(\d+)","a2b3c45")
print(n)
print(m)


Connected to pydev debugger (build 172.3757.67)
[(‘2’, ‘4’, ‘5’)]
<_sre.SRE_Match object; span=(1, 7), match=’2b3c45′>

Process finished with exit code 0


模块

import sys
print(sys.argv)
if sys.argv[1]=='1':
print("this is right!!!")
else:
print("other")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

C:\Users\Administrator\PycharmProjects\py>python sysmo.py 1
[‘sysmo.py’, ‘1’]
this is right!!!




同一个目录下是可以导入的


C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages

存放所有第三方安装的模块


sys.exit(n)退出sys.exit(“GOODBYD”)=exit(“GOODBYE”)

sys.version 获取Python解释程序的版本信息

sys.maxint 最大的int值

sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform返回操作系统的平台名称

sys.stdout.write(“please”) stdout往屏幕上打印东西

val = sys.stdin.readline()[:-1]



pip.exe install django 安装第三方模块


import time

import sys

for i in range(100):

      sys.stdout.write(“#”)

      time.sleep(0.1)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

sys.stdin.read()

CTRL + Z 结束输入



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


sys.stdout.writelines("\n%s" % (100*"a"))

打印100个a


for i in range(101):
sys.stdout.writelines("\r")#清空这行
sys.stdout.writelines("%s%%|" % (i))#"█▏")
for j in range(i):
sys.stdout.writelines("#")
sys.stdout.flush()#刷新
time.sleep(0.1)



开放封闭原则 装饰器

对于函数内部是封闭的

@outer

1.执行outer函数,并且将其下面的函数名当作参数

2.将outer的返回值重新赋值给f1(相当于再定义一个f1,让f1=outer的返回值)

新f1函数=inner

原函数封装到其它函数里边

执行新的函数

只要函数应用装饰器,那么函数就被重新定义,重新定义为:装饰器的内层函数

image