摘要: 1.如果存在数据极端,则可以单独处理 需求: 求素数(质数): 只能被 1 和自身整除 1 不是素数 输出 1~100 的素数 程序: def is_sushu(int_num): # 判断输入的数是否为质数 if int_num == 1: return False if int_num == 2 阅读全文
posted @ 2020-04-12 17:34 Hany47315 阅读(194) 评论(0) 推荐(0)
摘要: 1.协程,微型进程: yield 生成器 yield 会保存声明的变量,可以进行迭代 使用 接收函数返回的对象.__next__() next(接收函数返回的对象) .send() 方法 传递给函数中 yield 声明的对象 x = yield i 会发送给 x 变量 如果一直没有使用 send() 阅读全文
posted @ 2020-04-12 17:13 Hany47315 阅读(114) 评论(0) 推荐(0)
摘要: 1.全局锁 GIL 在任意一个指定的时间中,有且仅有一个线程在运行 -> 线程比较安全 2.线程复杂度较高,通常不建议使用 3.使用在 数据库线程池,数据库连接池, 4.不要大量使用线程,修改难度稍大 mlock = threading.Lock() 5.互斥锁 加锁 acquire mlock.a 阅读全文
posted @ 2020-04-12 16:47 Hany47315 阅读(138) 评论(0) 推荐(0)
摘要: 1.进程在运行时会创建一个主线程,每一个进程只有一个主线程 2.子进程 pid 唯一标识符 3.任意时间里,只有一个线程在运行,且运行顺序不能确定(全局锁限制) 4.threading.Thread(target = test,args = [i]) target = 函数名 ,args = [ 参 阅读全文
posted @ 2020-04-12 16:21 Hany47315 阅读(92) 评论(0) 推荐(0)
摘要: 1.with open("文件路径","模式") as fp: 操作 进入时 调用 __enter__ 方法 def __enter__(self): print("开始执行 with 方法") 退出时 调用 __exit__ 方法 def __exit__(self,type,value,trac 阅读全文
posted @ 2020-04-12 12:56 Hany47315 阅读(92) 评论(0) 推荐(0)
摘要: import logging logger = logging.getLogger() # 获取日志对象 logfile = 'test.log' hdlr = logging.FileHandler('senging.txt') # 存储文件日志 formatter = logging.Forma 阅读全文
posted @ 2020-04-12 12:40 Hany47315 阅读(245) 评论(0) 推荐(0)
摘要: 1.找到可能会抛出异常的地方,仅对这几行代码进行异常处理 2.明确会出现的异常类型 缩进,类型,语法,索引等等 3.捕获出现的异常 import sys exc = sys.exc_info() exc[1] 为问题出现的原因 4.日志 logging 模块 import logging logge 阅读全文
posted @ 2020-04-12 12:32 Hany47315 阅读(105) 评论(0) 推荐(0)
摘要: 1.索引异常 IndexError: list index out of range 2.语法异常 SyntaxError 3.缩进异常 IndentationError: unexpected indent 4.try 语句完整形态:try except else finally 5.try 内的 阅读全文
posted @ 2020-04-12 12:04 Hany47315 阅读(119) 评论(0) 推荐(0)
摘要: 1.import 模块名(文件) 导入模块 2.查看模块内的方法 dir(模块名) 3.if __name__ == "__main__": 需要测试的语句 4.from 模块名 import 方法/属性/* 再使用时 使用 方法即可 不再使用模块名.方法 5.使用 __all__ = ["方法1" 阅读全文
posted @ 2020-04-12 11:43 Hany47315 阅读(119) 评论(0) 推荐(0)
摘要: ''' 1.当方法具有结构时,使用 class 比函数要好 2.类中定义的 方法 或 属性 如果没有声明权限 在类外使用实例化对象可以直接访问 3.类中的方法,第一个参数一定要写上 self ,self 是约定好的 4.析构方法通常调用不到,垃圾回收机制中引用计数后会自动销毁 5.写程序之前: 伪代 阅读全文
posted @ 2020-04-12 11:09 Hany47315 阅读(153) 评论(0) 推荐(0)
摘要: 大家可以看看菜鸟教程,里面已经很全面了。 https://www.runoob.com/ 类: https://www.runoob.com/python/python-object.html https://www.runoob.com/python3/python3-class.html 异常: 阅读全文
posted @ 2020-04-12 10:21 Hany47315 阅读(112) 评论(0) 推荐(0)
摘要: lst = [1,2,3] lst2 = [1,2,3,5,1] lst3 = [1,2] lst4 = [1,2,3,65,8] lst5 = [1,2,3,59,5,1,2,3] def length(*args): # 返回长度 lens = [] lens = [len(i) for i i 阅读全文
posted @ 2020-04-12 10:17 Hany47315 阅读(150) 评论(0) 推荐(0)
摘要: 1.匿名函数: 一个表达式,没有 return 没有名称,执行很小的功能,不可以在内部写条件语句 2.判断参数是否存在 如果不存在会怎样->给出解决办法 3.可以使用 filter 和 lambda 进行使用 如果不进行 list 转换,则只返回 filter 对象 4.参数: 位置匹配: func 阅读全文
posted @ 2020-04-12 09:26 Hany47315 阅读(125) 评论(0) 推荐(0)
摘要: 1.考虑可维护性 一行代码尽量简单 列表推导式 lambda 匿名函数 2.断言语句用于自己测试,不要写在流程控制中 assert 不要写在 for 循环中 3.程序的异常处理 参数处理 try 异常处理 ,参数类型是什么 4.函数->尽量不要在特定环境下使用 5.断言就是异常->出错了就会抛出异常 阅读全文
posted @ 2020-04-12 08:56 Hany47315 阅读(136) 评论(0) 推荐(0)
摘要: 1 ''' 2 两数相加: 3 给出两个 非空 的链表用来表示两个非负的整数 4 各自的位数是按照逆序的方式存储的 每一个节点只能保存 一位数 5 示例: 6 输入:(2->4->3) + (5->6->4) 7 输出:7->0->8 8 原因:342 + 465 = 807 9 10 ''' 11 阅读全文
posted @ 2020-04-11 22:51 Hany47315 阅读(141) 评论(0) 推荐(0)
摘要: 1 1.指定 eval()调用一个代码对象会提高性能 2 2.在进行模式匹配之前,正则表达式的模式必须编译为正则表达式对象 3 匹配时需要进行多次匹配,进行预编译可以提升速度 4 re.compile(pattern,flags = 0) 5 3.消除缓存 6 re.purge() 7 4.使用 r 阅读全文
posted @ 2020-04-11 20:27 Hany47315 阅读(162) 评论(0) 推荐(0)
摘要: 2020-04-11 阅读全文
posted @ 2020-04-11 19:13 Hany47315 阅读(100) 评论(0) 推荐(0)
摘要: False:布尔类型,假。当条件判断不成立时,返回False。 # == 判断两个对象的值是否相等 print('' == False)# Falseprint(None == False)# Falseprint([] == False)# Falseprint(() == False)# Fal 阅读全文
posted @ 2020-04-11 18:39 Hany47315 阅读(2587) 评论(0) 推荐(0)
摘要: Python异常及异常处理: 当程序运行时,发生的错误称为异常 例: 0 不能作为除数:ZeroDivisionError 变量未定义:NameError 不同类型进行相加:TypeError 异常处理: ''' try: 执行代码 except: 发生异常时执行的代码 执行 try 语句: 如果发 阅读全文
posted @ 2020-04-11 18:38 Hany47315 阅读(171) 评论(0) 推荐(0)
摘要: 1.在循环中不要使用 排序函数 2.解决问题先要有正确的思路 写出伪代码 第一步做什么 第二步做什么 ... 慢慢实现 3.使用 filter 函数 当函数中参数类型为 int 时才进行比较 def func(*num): num = filter(lambda x:isinstance(x,int 阅读全文
posted @ 2020-04-11 18:36 Hany47315 阅读(127) 评论(0) 推荐(0)
摘要: 1.print "a>b" if a>b else pass 出错问题 pass 不可以被输出,导致报错 2.定义函数: def 函数名(): return 可选 3.print 输出时会运行函数 print func_name() 注:func_name 中有 print 后,最好不要再使用 pr 阅读全文
posted @ 2020-04-11 17:29 Hany47315 阅读(109) 评论(0) 推荐(0)
摘要: 1.特征向量 每一个有效词汇在邮件中出现的次数(使用一维列表方法) word 词汇出现的次数 一维列表.count(word) 2.将列表转换为数组形式 array(参数) 创建垃圾邮件,正常邮件训练集 array(列表对象 或 表达式) 3.使用 朴素贝叶斯算法 model = Multinomi 阅读全文
posted @ 2020-04-11 16:52 Hany47315 阅读(1013) 评论(0) 推荐(0)
摘要: 1.使用 chain 对 allwords 二维列表进行解包 from itertools import chain allwords = [] allwords.append(列表) 解包: chain(*allwords) 将 allwords 里面的子列表解出来 2.使用 next 对 cha 阅读全文
posted @ 2020-04-11 16:12 Hany47315 阅读(398) 评论(0) 推荐(0)
摘要: 原理: 1.使用足够多的垃圾邮件和非垃圾邮件的内容作为训练集 2.读取全部训练集 删除其中的干扰字符 【 】 ,* 。 进行分词 删除长度为 1 的单个字符 3.统计全部训练集中每个有效词汇的出现次数,截取出现次数最多的前 N 个 注:N 可以自己指定 4.根据每个经过第 2 步预处理后的垃圾邮件和 阅读全文
posted @ 2020-04-11 15:36 Hany47315 阅读(1031) 评论(0) 推荐(0)
摘要: import pandas as pd unrate = pd.read_csv("unrate.csv") 1.转换日期时间 unrate["date"] = pd.to_datetime(unrate["DATE"]) import matplotlib.pyplot as plt 2.画图操作 阅读全文
posted @ 2020-04-11 13:26 Hany47315 阅读(173) 评论(0) 推荐(0)
摘要: 1.创建 Series 对象 fandango = pd.read_csv("xxx.csv") series_rt = fandango["RottenTomatoes"] rt_scores = series_rt.values series_film = fandango["FILM"] # 阅读全文
posted @ 2020-04-11 10:38 Hany47315 阅读(494) 评论(0) 推荐(0)
摘要: import pandas as pd import numpy as np food_info = pd.read_csv('food_info.csv') 1.处理缺失值(可使用平均数,众数填充) 查看非缺失值的数据: price_is_null = pd.isnull(food_info["P 阅读全文
posted @ 2020-04-11 10:02 Hany47315 阅读(192) 评论(0) 推荐(0)
摘要: 1.导包 import pandas as pd 2.数据读取,文件在该代码文件夹内 food_info = pd.read_csv('food_info.csv') 3.查看类型 food_info.dtypes 4.查看前五条数据 food_info.head() 查看前三条数据 food_in 阅读全文
posted @ 2020-04-10 19:40 Hany47315 阅读(173) 评论(0) 推荐(0)
摘要: 1. /b 和 /B # /bthe 匹配任何以 the 开始的字符串 # /bthe/b 仅匹配 the # /Bthe 任何包含但并不以 the 作为起始的字符串 2. [cr] 表示 c 或者 r [cr][23][dp][o2] 一个包含四个字符的字符串,第一个字符是“c”或“r”, 然后是 阅读全文
posted @ 2020-04-10 18:23 Hany47315 阅读(169) 评论(0) 推荐(0)
摘要: 1 ''' 2 1.查看列上最大索引的位置 3 data.argmax(axis = 0) 4 2.输出索引位置上的元素 5 data[index,range(data.shape[1])] 6 使用 range 输出几个元素 7 3.对numpy 对象进行扩展 8 a = np.array([4, 阅读全文
posted @ 2020-04-10 12:41 Hany47315 阅读(241) 评论(0) 推荐(0)
摘要: ''' 1.b = a b 发生变化 a 也会发生变化 2.浅复制 c = a.view() c.shape 发生变化,a.shape 不会发生变化 c 和 a 共用元素值,id 指向不同 c[1,0] = 1234 , a 的值也会发生变化 3.深复制 d = a.copy() d[0,0] = 阅读全文
posted @ 2020-04-10 12:18 Hany47315 阅读(174) 评论(0) 推荐(0)
摘要: 1 程序要点:import numpy as np 2 1.查看 e 的 多少次方 3 np.exp(参数) 4 2.查看参数的平方根 5 np.sqrt(参数) 6 3.生成三维四列的随机值(-1,1)之间 7 np.random.random((3,4)) 8 4.向下取整 9 a = np.f 阅读全文
posted @ 2020-04-10 12:04 Hany47315 阅读(354) 评论(0) 推荐(0)
摘要: ''' KNN 近邻算法,有监督学习算法 用于分类和回归 思路: 1.在样本空间中查找 k 个最相似或者距离最近的样本 2.根据这 k 个最相似的样本对未知样本进行分类 步骤: 1.对数据进行预处理 提取特征向量,对原来的数据重新表达 2.确定距离计算公式 计算已知样本空间中所有样本与未知样本的距离 阅读全文
posted @ 2020-04-10 11:28 Hany47315 阅读(853) 评论(0) 推荐(1)
摘要: ''' 1.将所有样本都看作各自一类 2.定义类间距离计算公式 3.选择距离最小的一堆元素合并成一个新的类 4.重新计算各类之间的距离并重复上面的步骤 5.直到所有的原始元素划分成指定数量的类 程序要点: 1.生成测试数据 sklearn.datasets.make_blobs 2.系统聚类算法 s 阅读全文
posted @ 2020-04-10 10:46 Hany47315 阅读(2766) 评论(0) 推荐(0)
摘要: ''' a = 10 b = 8 print("a>b") if a>b else pass pass 为何报错问题: 第一部分:print 第二部分:("a>b") if a>b else pass 第一种情况 print ("a>b") 第二种情况 print(pass) pass 关键字,不用 阅读全文
posted @ 2020-04-07 13:36 Hany47315 阅读(186) 评论(0) 推荐(0)
摘要: 1 ''' 2 编程完成一个简单的学生管理系统,要求如下: 3 (1)使用自定义函数,完成对程序的模块化 4 (2)学生信息至少包括:姓名、性别及手机号 5 (3)该系统具有的功能:添加、删除、修改、显示、退出系统 6 设计思路如下: 7 (1) 提示用户选择功能序号 8 (2) 获取用户选择的能够 阅读全文
posted @ 2020-04-07 13:35 Hany47315 阅读(315) 评论(0) 推荐(0)
摘要: 1 ''' 2 分析: 3 参数->指定整数范围,最大次数 4 在指定范围内随机产生一个整数,让用户猜测该数 5 提示,猜大,猜小,猜对 6 给出提示,直到猜对或次数用尽 7 ''' 8 import random 9 10 def fail(os_num): 11 '''输入数字范围错误,没有猜数 阅读全文
posted @ 2020-04-07 09:59 Hany47315 阅读(248) 评论(0) 推荐(0)
摘要: Python重命名和删除文件: rename(当前的文件名,新文件名): 将当前的文件名修改为新文件名 程序: # os.rename('旧名字',’新名字‘) import os os.rename('test_2.txt','修改的名字.txt') remove(文件名): 删除文件 程序: i 阅读全文
posted @ 2020-02-14 12:57 Hany47315 阅读(1383) 评论(0) 推荐(0)
摘要: Python里的目录_文件、目录相关的方法: mkdir(目录名): 在当前目录下创建新的目录 程序: import os # 创建新的目录-包结构 os.mkdir('新目录-test') getcwd()方法: 显示当前的工作目录。 程序: import os print(os.getcwd() 阅读全文
posted @ 2020-02-14 12:34 Hany47315 阅读(192) 评论(0) 推荐(0)
摘要: PythonFile对象的属性: 一个文件被打开后,使用对象进行接收,接收的对象即为 File 对象 示例: ''' file.closed 返回true如果文件已被关闭,否则返回false file.mode 返回被打开文件的访问模式 file.name 返回文件的名称 ''' 程序: file 阅读全文
posted @ 2020-02-14 11:55 Hany47315 阅读(462) 评论(0) 推荐(0)