随笔分类 -  python基础

摘要:设计模式 总共23种 分为三大类 创建型 结构性 行为性 """ 设计模式是前辈们发明的经过反复验证用于解决固定问题的固定套路 """ 单列模式 是一个类只能产生一个对象 节约资源 应用场景: 有一个类中有很多非常牛逼的绑定给对象的方法 我们需要在很多地方使用它 那么不同的程序员来用不知道有没有产生 阅读全文
posted @ 2022-04-12 22:49 末笙 阅读(21) 评论(0) 推荐(0) 编辑
摘要:反射实际案列 # 利用面向对象编写系统终端功能 class WinCmd(object): def ls(self): print('windows系统正在执行ls命令') def dir(self): print('windows系统正在执行dir命令') def cd(self): print( 阅读全文
posted @ 2022-04-11 22:02 末笙 阅读(28) 评论(0) 推荐(0) 编辑
摘要:继承的派生实际应用 import datetime import json class MyJsonEncoder(json.JSONEncoder): def default(self, o): # 形参o就是即将要被序列化的数据对象 # print('重写了', o) '''将o处理成json能 阅读全文
posted @ 2022-04-08 23:46 末笙 阅读(30) 评论(0) 推荐(0) 编辑
摘要:动态方法与静态方法 # 动态方法 1.绑定给对象的方法 class Student: def run(self): prtin(self) # 类调用绑定给对象的方法:有几个参数就需要传几个参数 Student.run(123) # 对象调用绑定给对象的方法:会自动将对象当做第一个参数传入 2.绑定 阅读全文
posted @ 2022-04-07 22:54 末笙 阅读(65) 评论(0) 推荐(0) 编辑
摘要:面向对象 # 小游戏:人与狗 # 人和狗的方式1:使用字典一个个描述 dog1 = { 'name': '小黑', 'type': '田园犬', 'attack_val': 30, 'life_val': 200 } person1 = { 'name': '小龙', 'type': '猛男', ' 阅读全文
posted @ 2022-04-06 18:55 末笙 阅读(24) 评论(0) 推荐(0) 编辑
摘要:### 日志模块的组成部分 ```pythonimport logging# 1.logger对象:产生日志logger = logging.getLogger('转账记录')# 2.filter对象:过滤日志 # 针对过滤功能完全可以不看 因为handler自带了基本的过滤操作# 3.handle 阅读全文
posted @ 2022-04-01 22:26 末笙 阅读(175) 评论(0) 推荐(0) 编辑
摘要:hashib加密模块 # 加密模块 1.什么是加密 将明文的数据通过一些手段变成能密文数据 密文数据的表现形式一般都是一串没有规则的字符串 2.加密算法 加密算法有很多>>>(讲文明变成密文的内部规则) 算法的难以程度可以根据秘钥长短判断 越长就越难解开 3.基本使用 import hashlib 阅读全文
posted @ 2022-03-31 17:48 末笙 阅读(45) 评论(0) 推荐(0) 编辑
摘要:os模块 import os 1.创建目录(文件夹) os.mkdir(r'a') # 相对路径 只能创建单级目录 os.makedirs(r'a\b') # 可以创建单级和多及目录 2.删除目录 os.mkdir(r'a') # 只能删除单级空目录 os.removedirs() # 可以删除单级 阅读全文
posted @ 2022-03-30 20:34 末笙 阅读(61) 评论(0) 推荐(0) 编辑
摘要:re模块补充说明 import re ret = re.findall('a(b)c', 'abcacbacb') print(ret) ret = re.findall('a(?:b)c', 'abcabcabc') print(ret) ret = re.findall('(a)(b)(c)', 阅读全文
posted @ 2022-03-29 19:50 末笙 阅读(27) 评论(0) 推荐(0) 编辑
摘要:正则表达式前戏 注册验证手机号 必须是11位的纯数字 并且必须是常规的手机号开头(13,15,17,18,19) phone_nnum = input('请输入手机号:').strip() if len(phone_nnum) == 11: if phone_nnum.isdigit(): if p 阅读全文
posted @ 2022-03-29 17:08 末笙 阅读(29) 评论(0) 推荐(0) 编辑
摘要:循环导入问题 # 两个文件彼此导入彼此 循环导入的时候极有可能出现某个名字还没有被创建就使用的情况导致报错 """在以后的编程生涯中 尽量去避免出现循环导入的问题""" 如果确实需要循环导入 那么需要确保双方使用的名字都必须'提前定义好' (一错再错的办法) 方式1:将导入模块的句式写在定义名字的下 阅读全文
posted @ 2022-03-25 19:26 末笙 阅读(33) 评论(0) 推荐(0) 编辑
摘要:生成器对象 # 本质其实还是迭代器 只不过是我们自己通过写代码产生 也是有__iter__和__next__方法 def index(): # print('你还记得我吗?') yield 123 yield 123, 111 print('是不是忘记我了!!!') yield 666 '''生成器 阅读全文
posted @ 2022-03-24 21:12 末笙 阅读(28) 评论(0) 推荐(0) 编辑
摘要:常见的内置函数 1.help() 查看注释信息 help(len) 2.id() 返回遗一串相当于内存地址的数字 print(id('bob')) 3.int() 类型转换机制 4.isinstance() 判断数据类型 print(type('bob')is str) print(isinstan 阅读全文
posted @ 2022-03-23 19:36 末笙 阅读(29) 评论(0) 推荐(0) 编辑
摘要:三元表达式 ''' 使用的方式:二选一的时候 推荐使用三元表达式 ''' def index(a, b): if a > b: return a else: return b res = a if a > b else b """ 三元表达式 值1 if 条件 else 值2 条件如果成立则使用值1 阅读全文
posted @ 2022-03-22 22:02 末笙 阅读(38) 评论(0) 推荐(0) 编辑
摘要:多层装饰器 '''语法糖会把紧挨着的被装饰对象的名字当作参数自动传入装饰器函数里面''' # 判断多个语法糖装饰器函数运行顺序 def outter1(func1): print('加载了outter1') def wrapper1(*args, **kwargs): print('执行了wrapp 阅读全文
posted @ 2022-03-21 18:33 末笙 阅读(30) 评论(0) 推荐(0) 编辑
摘要:user_dict = {} def userid(user_id, remark): if user_id in user_dict: input_code = input('请输入密码:').strip() if input_code == user_dict.get(user_id).get( 阅读全文
posted @ 2022-03-20 21:24 末笙 阅读(117) 评论(0) 推荐(0) 编辑
摘要:闭包函数 1.特征 闭:定义在函数的内部的函数 包:内部函数使用了外层函数数名空间中的名字 def outer(): x = 99 def inner(): print('from outer>>>inner',x) return inner x = 66 res =outer() res() 闭包 阅读全文
posted @ 2022-03-18 18:02 末笙 阅读(32) 评论(0) 推荐(0) 编辑
摘要:名称空间 1.名称空间 其实就是存放变量名与变量绑定关系的地方 类似于民政局、警察局 2.名称空间的分类 内置名称空间 1.python解释器提前给我们定义好的 len() print() open() 2.全局空间 在py文件中编写的代码运行产生的名字都会存到全局称空间name = 'jason' 阅读全文
posted @ 2022-03-17 16:38 末笙 阅读(47) 评论(0) 推荐(0) 编辑
摘要:函数的定义与调用 1.函数一定要遵循先定义后调用的原则 2.函数在定义阶段只能检测出语法错误 3.函数体代码只有在调用函数的时候才会执行 #调用函数的方式>>>:函数名加括号 4.函数其实相当于是变量名指向的是内存中函数体代码所在的位置 func() # 报错 name 'func' is not 阅读全文
posted @ 2022-03-16 18:08 末笙 阅读(136) 评论(0) 推荐(0) 编辑
摘要:文件内光标的移动 1.with open('ra.txt', 'r', enconding='utf8') as f: print(f.read(3)) # read在文本模式下 括号内数字表示是读取指定的字符个数 2.with open(r'a.txt', 'rb') as f: print(f. 阅读全文
posted @ 2022-03-15 18:03 末笙 阅读(38) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示