08 2018 档案

摘要:一. 约束 Python: - 抽象类 + 抽象方法,编写上麻烦。- 人为主动抛出异常- 多个类,内部都必须有某些方法时,需要使用基类+异常进行约束。 一般的约束方法 抽象类和抽象方法:见得不多 Java、C#: 接口,接口中不允许在方法内部写代码,只能约束继承它的类必须实现接口中定义的所有方法。接 阅读全文
posted @ 2018-08-31 19:48 NachoLau 阅读(199) 评论(0) 推荐(0)
摘要:一.issubclass / type / isinstance issubclass: 检查第一个参数是否是第二个参数的子类或子类的子类 type: 获取当前对象是由那个类创建 isinstance: 检查第一个参数(对象)是否是第二个参数(类及父类)的实例 二.方法和函数 对象.xxx --> 阅读全文
posted @ 2018-08-29 21:23 NachoLau 阅读(227) 评论(0) 推荐(0)
摘要:一. 类的成员共分为三类: 字段, 方法, 属性 一. 字段: 静态字段, 普通字段 通过类创建对象时,如果每个对象都具有相同的字段,那么就使用静态字段 静态字段访问方法 静态字段属于类, 静态字段通过类访问, 静态字段在内存中只保存一份 print(Foo.country) 普通字段访问方法 普通 阅读全文
posted @ 2018-08-28 20:22 NachoLau 阅读(207) 评论(0) 推荐(0)
摘要:一. 面向对象的编写 面向对象编写的方法 方式一:归类+提取公共值 方式二:在指定类中编写和当前类相关的所有代码 + 提取公共值 二. 面向对象的三大特性:封装/继承/多态 封装: 将相关功能封装到一个类中: 将数据封装到一个对象中: 继承: 原则:现在自己类中找,没有就去父类找. 父类和子类是相对 阅读全文
posted @ 2018-08-27 18:15 NachoLau 阅读(134) 评论(0) 推荐(0)
摘要:一. 模块的导入 已经写好的一组函数 变量 方法 放在一个文件里 (这个文件可以被我们直接使用)这个文件就是个模块 模块有py dll文件 zip文件 自己写一个模块 创建一个py文件,给它起一个 符合变量名命名规则的名字,这个名字就是模块名 导入一个模块就是执行一个模块 import的命名空间,模 阅读全文
posted @ 2018-08-23 22:24 NachoLau 阅读(180) 评论(0) 推荐(0)
摘要:一. 异常处理 IndexError [][1] KeyError {}['key'] pickle.load() EOFError FileNotFoundError open('aa') ModuleNotFoundError import aaaaaaaaaaa ValueError int('sdjkhf') NameError name SyntaxError 语法错误 多行报错:... 阅读全文
posted @ 2018-08-22 19:44 NachoLau 阅读(133) 评论(0) 推荐(0)
摘要:一. 序列化模块json 把其他的数据类型 转换成 字符串 bytes 是序列化的过程 能存在文件和在网上传输的只能是bytes, 所以要转化成字符串 json模块只支持字符串, 字典(key不能是数字, 数字会变成字符串), 列表, 数字 json的对象不能含有元组, 集合, 字典的键不能是数字, 阅读全文
posted @ 2018-08-21 19:46 NachoLau 阅读(142) 评论(0) 推荐(0)
摘要:import 模块 一. random模块 ret = random.random() # 取0-1之间的小数 ret = random.uniform(1, 2) # 取1-2之间的小数 ret = random.randint(1,2) # 随机输出1到2的整数 ret = random.ran 阅读全文
posted @ 2018-08-20 18:19 NachoLau 阅读(183) 评论(0) 推荐(0)
摘要:一. re模块 import re findall ret = re.findall('\d+', '3ser54gsd43sd5') print(ret) 是一个列表, ['3', '54', '43', '5'] ret = re.findall(pattern, s, re.S) print( 阅读全文
posted @ 2018-08-17 18:59 NachoLau 阅读(220) 评论(0) 推荐(0)
摘要:一. 正则表达式 正则表达式是一种独立的规则 只处理字符串 字符组: 写在[]中的内容, 只要出现其中的一个都是符合内容的 普通字符表示一个正常的字符 [a-zA-Z1234567890_企稳阿萨德自行车] 元字符: \d \w \s \n \t \b \W \D \S . ^ $ [] [^] | 阅读全文
posted @ 2018-08-16 19:14 NachoLau 阅读(112) 评论(0) 推荐(0)
摘要:一. lambda() a = lambda n: n ** 2 a = lambda x, y: (x, y) a = lambda x, y: x, y 这个需要两个变量名来接收, 把y赋值给第二个变量名 fn = lambda *args: max(args) lambda有返回值 二. so 阅读全文
posted @ 2018-08-15 18:50 NachoLau 阅读(151) 评论(0) 推荐(0)
摘要:一. 推导式 列表, 字典, 集合有推导式, 元组没有推导式 列表推导式: lst = [i for i in range(10) if i % 2 == 0] 字典推导式: dic = {k:v for k,v in func() if k>v} # def func(): yield 2,1 y 阅读全文
posted @ 2018-08-13 16:54 NachoLau 阅读(590) 评论(0) 推荐(0)
摘要:一. 如果这个地方执行了break, 会脱出while 1的循环, 而不是for的循环 阅读全文
posted @ 2018-08-11 20:05 NachoLau 阅读(122) 评论(0) 推荐(0)
摘要:一. 函数名 函数名是一个特殊变量, 加了()可以执行函数. 函数名的命名规范和变量是一样的. 函数名可以赋值给其他变量, 其它变量加上()也可以运行函数, 其他变量也可以赋值给函数名, 打应函数名会输出其他变量名 函数名可以存在列表中lst = [func1, func2], 可作为参数传递给函数 阅读全文
posted @ 2018-08-10 18:16 NachoLau 阅读(137) 评论(0) 推荐(0)
摘要:一, 动态传参 1. *args 接收到的是元组 先用位置参数进行传参, 剩下的位置参数用*args进行传参 2. **kwargs 接收到的是一个字典 先用关键字参数进行传参, 剩下的参数用**kwargs进行传参 位置参数, *args, 默认值参数, **kwargs 形参的**kwargs后 阅读全文
posted @ 2018-08-09 15:45 NachoLau 阅读(193) 评论(0) 推荐(0)
摘要:一. 函数 函数是对功能的封装 def abc(形参列表): 代码块 abc(实参列表) def a(name, age = '24', gender = '男'): # 默认值参数写在最后 with open(name, mode = 'a', encoding = 'utf-8') as f: 阅读全文
posted @ 2018-08-08 18:03 NachoLau 阅读(95) 评论(0) 推荐(0)
摘要:一. 文件读取 f = open("123456", mode = "r", encoding = "utf-8") "123456": 文件路径 1. 绝对路径 c:/abc/123.txt https://www.xxxxx.com/qwe.jpg 2.相对路径 ../../abc/def (用 阅读全文
posted @ 2018-08-06 19:25 NachoLau 阅读(137) 评论(0) 推荐(0)
摘要:一. set集合 空集合 a = set() set集合内的元素必须可哈希(不可变), int, str, bool, tuple set3 = {'1','alex',2,True,(1,2,[2,3,4])} 这会报错 set可去重, 用set(lst)去重. lst = list(set(ls 阅读全文
posted @ 2018-08-03 17:49 NachoLau 阅读(146) 评论(0) 推荐(0)
摘要:一. is和== is比较的是两个变量的内存地址. ==比较的是两个变量的值. is 小数据池: -5 ~ 256 在这个范围中的两个变量内存地址相同, print(a is b) 输出为True, 超出范围输出为False. 在pycharm中和终端中不一样, pycharm中, 超过256也输出 阅读全文
posted @ 2018-08-02 16:11 NachoLau 阅读(260) 评论(0) 推荐(0)
摘要:一. 字典 字典的键必须是不可变的, 是可哈希的, 可以用数字, 字符串, 元组, 布尔值, 不可用列表, 字典, 集合. 值可以取任何数据类型. 键必须是唯一的. 字典的元素是按照哈希表的顺序保存的, 而哈希表不是连续的, 字典不能切片, 只能通过键来获取. 二. 字典的操作: dic = {1: 阅读全文
posted @ 2018-08-01 11:03 NachoLau 阅读(628) 评论(0) 推荐(0)