函数
python变量没有声明变量,赋值与声明都是同一个语句
可在函数里声明
global iterable
将变量设为全局属性
密码加密
函数嵌套:节约内存,安全(隐含调用的局部函数,如隐含加密算法)
1.工具类
公共工具类
私有工具类
内部函数如何更改外部函数变量的值(存在该全局变量的情况下)
nonlocal,global(nonlocal只可用于内部函数当中)
全局变量最后才回收内存,如果函数包含也要最后回收。
将变量指向none,则垃圾回收机制大概率会回收变量内存
2.功能类
函数装饰器
后期维护几乎不能修改原有重要函数代码
装饰器先于被装饰函数的执行
装饰器通过if else 控制可以用作拦截器
传参:
先传参到装饰器,再传参到函数
日志:时间+操作
动态日志+装饰器
模块
业务数据库不仅是使用sql语句
import as
from import
init.py初始化
控制器 参数与方法都是全局的,init.py
java里使用的this就是python中的self
self.name=name
self.sex=sex
python里实例化不需要new,直接利用函数名和参数就可以
:python做建议用
isintance
if __name__=='__main__':#主程序
正则表达式
模糊查询
语法规则:re只能解决字符串正则表达式问题
re.findall('%d+',s)
先编译,再用规则
rule=re.compile()
result=re.findall(rule,object..)
rule=re.compile(object,flags=re.ignorecase)
()表示范围?:取消获取
中括号[]字符集,集合中元素不需要用分隔符隔开,中间是集合类型的,不重复的元素
字典可以嵌套
调用嵌套的字典时可以利用字典的两个[][]就可以调用嵌套中的字典
连接数据库
以上两种只能导入模块
有init.py(_ _双下划线)
小括号表示范围
\s表示任何空格符,*表示0 or 1
表达式贪婪匹配与非贪婪匹配,默认使用贪婪匹配
*, + ,{n,m},{n,}
中文
利用正则表达式取出中文
加上?可以改成非贪婪匹配
字符串 | 语法 |
---|---|
截掉前i个字符串 | str.substring() |
截取从i到j个字符串(字符串从0开始数,包括不包括j) | str.substring |