![](https://img-blog.csdnimg.cn/20190918140213434.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Python
文章平均质量分 51
Python学习
还是记不住
记录学习
展开
-
爬虫-4-bs4
Beautiful Soup 4原创 2021-12-02 14:03:18 · 563 阅读 · 0 评论 -
Scrapy 框架的基础介绍
Scrapy 框架介绍Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。Scrapy框架:用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。Scrapy 使用了Twisted(其主要对手是Tornado)多线程异步网络框架来处理网络通讯,可以加快我们的下载速度,不用自己去实现异步框架,并且包含了各种中间件接口,可以灵活的完成各种需求。Scrapy架构图Scrapy主要包括了以下组件: Scrapy原创 2021-12-02 14:08:36 · 184 阅读 · 0 评论 -
Python协程与进程
协程协程,又称微线程,纤程。英文名Coroutine。首先我们得知道协程是啥?协程其实可以认为是比线程更小的执行单元。为啥说他是一个执行单元,因为他自带CPU上下文。这样只要在合适的时机,我们可以把一个协程切换到另一个协程,只要这个过程中保存或恢复CPU上下文那么程序还是可以运行的。通俗的理解:在一个线程中的某个函数,可以在任何地方保存当前函数的一些临时变量等信息,然后切换到另外一个函数中执行,注意不是通过调用函数的方式做到的,并且切换的次数以及什么时候再切换到原来的函数都由开发者自己确定。协程原创 2021-12-02 13:33:21 · 254 阅读 · 0 评论 -
Python线程 一
多线程在介绍Python中的线程之前,先明确一个问题,Python中的多线程是假的多线程!为什么这么说,我们先明确一个概念,全局解释器锁(GIL)什么是GILPython代码的执行由Python虚拟机(解释器)来控制,同时只有一个线程在执行。对Python虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同时只有一个线程在运行。为什么要GIL为了线程间数据的一致性和状态同步的完整性GIL的影响只有一个线程在运行,无法使用多核。在多线程环境中,Python虚拟机按照以下方式执行原创 2021-12-02 13:32:10 · 145 阅读 · 0 评论 -
测试&网络编程
一、unittest功能:def one_equation(a,b): """ :param a: :param b: :return: ax + b = 0 的解 x = -(b/a) """ if a == 0: raise ValueError("被除数不能为零") else: return -(b/a)def two_equation(a,b,c): """原创 2021-03-26 11:10:39 · 93 阅读 · 1 评论 -
异常&test
一、name作用 if __name__ == __main__:1. 可以避免模块被引入到其他文件中,可以阻挡一些被引入文件代码的执行2. 当前文件的程序入口的标示二、第三库安装安装的第三方包都在:C:\ProgramData\Anaconda3\Lib\site-packages安装命令: pip install pkg -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com三、异常需求: 当原创 2021-03-04 15:57:23 · 87 阅读 · 1 评论 -
time&异常&import
一、高阶函数1.1 filter 过滤函数: filter(function or None, iterable) --> filter objectl = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]# 判断一个元素是否为偶数def is_odd(x): if x % 2 == 0: return True第一种方式:f_l = filter(is_odd,l第二种方式: f_l = filter(lambda x:x%2==1原创 2021-03-04 15:56:47 · 416 阅读 · 1 评论 -
类中方法辨识和作用
面向对象一、@staticmethod 和 @classmethodPython中有3个方法,即静态方法(staticmethod),类方法(classmethod)和实例方法如下:class B(object): # 实例方法 def foo(self,x): print("executing foo(%s,%s)"%(self,x)) # 类方法 @classmethod def class_foo(cls,x): print("exe原创 2021-03-04 15:56:13 · 120 阅读 · 1 评论 -
面向对象继承
面向对象继承一、回顾class ATM: __info = {123456:{"name":"md","money":1},345678:{"name":"dennis","money":2}} # 输入卡号验证是否有一个私有方法,保证账号的正确性 def __check_idcard(self): self.id_card = eval(input("请输入您的卡号:")) info = self.__info.get(self.id_card)原创 2021-03-04 15:55:40 · 92 阅读 · 1 评论 -
面向对象
面向对象1. 概念**类(Class)**用来描述具有相同属性和方法的对象集合。它定义了该集合每个对象共有的属性和方法。对象则是类的实例类变量 类变量在整个实例化对象中是公用的。类变量定义在类中但是在函数体外。类变量通常不作为实例变量使用。数据成员 类变量或者实例变量用于处理类及实例对象的相关数据方法 类定义的函数实例变量 定义在方法中的变量,只作用于当前实例的类继承 一个派生类(derived class)继承基类(base class)的字段和方法。方法重写 如果父类的继承的方法不能满原创 2021-03-04 15:55:10 · 46 阅读 · 1 评论 -
函数&装饰器
一、给类绑定属性类名.属性名 = 属性值二、类/对象的属性操作# 给类设置属性setattr(obj,"name",20)# 是否有age属性hasattr(Stu,"age")# 获取属性getattr(Stu,"name")# 如果一个属性不存在 返回默认值getattr(Stu,"age",404)三、给对象和类绑定方法# 对象绑定方法from types import MethodType class Stu(): # 构造方法 def __ini原创 2021-03-04 15:54:44 · 44 阅读 · 1 评论 -
面向对象
面向对象1. 概念**类(Class)**用来描述具有相同属性和方法的对象集合。它定义了该集合每个对象共有的属性和方法。对象则是类的实例类变量 类变量在整个实例化对象中是公用的。类变量定义在类中但是在函数体外。类变量通常不作为实例变量使用。数据成员 类变量或者实例变量用于处理类及实例对象的相关数据方法 类定义的函数实例变量 定义在方法中的变量,只作用于当前实例的类继承 一个派生类(derived class)继承基类(base class)的字段和方法。方法重写 如果父类的继承的方法不能满原创 2021-03-04 15:54:08 · 52 阅读 · 1 评论 -
正则表达式
一、正则表达式正则表达式(Regular Expession 简称re),又称规则表达式使用字符组合成规则来描述、匹配一系列符合条件的字符串用途: a. 用来文本搜索和替换 b. 查询指定数据 c. 分割比较复杂的字符串(爬虫获取图片、音频等内容)函数含义re.compile(pattern,flags=0)编译正则表达式模式,返回一个对象。可以把常用的正则表达式编译成正则表达式对象,方便后续调用及提高效率。re.match(pat原创 2021-03-04 15:53:33 · 77 阅读 · 1 评论 -
OS
1. 文件重命名和删除import os# 文件的重命名os.rename("t1.txt","t2.txt")# 绝对路径 就是从盘符(如:C\D\E\F盘开始~~一路找到底)# r是转义os.remove(r"C:\Users\Administrator\PycharmProjects\day01\firstStu\day12\t2.txt")# 相对路径,基于当前文件写路径,t2.txt和当前开发文件同一个路径os.remove("t2.txt")2. 创建目录# 相对路径原创 2021-03-04 15:53:03 · 142 阅读 · 1 评论 -
IO
IO1. 打印到屏幕def print(self, *args, sep=' ', end='\n', file=None)*args 不定长参数 例如: "py is the best","modeng tea","六期学生最幸福"sep 输出不定长参数的分隔符 例如: sep = ":"end 控制输出后的格式:"\n"," ","..."file 可以控制数据输出到控制台还是文件夹中2. 读取键盘的输入def input(*args, **kwargs)# 常规输原创 2021-03-04 15:52:38 · 75 阅读 · 1 评论 -
函数四
函数回顾变量作用域num = int(10) # 内置变量 B# num = 20 # 全局变量 Gdef outer(): # num = 30 # 闭包变量 E def inner(): # num = 40 # 局部变量 L print(num) return inneri = outer()i()注意: 访问顺序 LEGB列表中元素大小写转换l = ["pY","IS","eASY原创 2021-03-03 20:24:30 · 197 阅读 · 1 评论 -
函数三
一、函数作用: 封装一段功能函数定义关键字: def1. 不定长参数概述: 传入参数个数不固定(1) 不确定参数名,以元组形式去接收如: def print(self, *args, sep=’ ‘, end=’\n’, file=None)def func(*args): print(args)func(1,2,3,4,5,6,7,8,9,10)输出结果: (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)def func(a,b,*args): pri原创 2021-03-03 20:23:59 · 134 阅读 · 1 评论 -
函数二
函数1. 什么函数可以实现一些特定功能的方法优点:简化代码结构,增加代码的复用度提高代码可读性,方便维护2. 函数定义def 函数名(): 函数体函数名: 遵循标示符命名规则注意: 函数调用,先定义,后调用 同一个模块里, 函数可以重名,但是会被覆盖 函数区分大小写def speaker(): print("你们是最棒的~")3. 函数定义方式普通定义方式:def speak(): prin原创 2021-03-03 20:23:28 · 70 阅读 · 1 评论 -
函数一
一、简介在 Python 中,函数是一等对象。编程语言理论家把“一等对象”定义为满足下述条件的程序实体:在运行时创建能赋值给变量或数据结构中的元素能作为参数传给函数能作为函数的返回结果在 Python 中,所有函数都是一等对象,是面向对象程序设计最基本的单元二、什么叫函数1、定义函数就是把完成特定功能的一段代码封装起来。给该功能起一个名字(函数名)在一个完整的项目,某些特定的功能如果被返回使用,那么我们就可以把这些代码封装成函数,当我们要去使用的时候直接调用函数即可2、优原创 2021-03-03 20:21:52 · 98 阅读 · 1 评论 -
流程控制
一、流程控制1. if语句如果属于一个条件控制语句2. 使用2.1 简单if语句语法: if 表达式: 语句说明:单分支,要么执行语句,要么不执行,执行与否取决于表达式是否成立工作原理:当程序执行到if语句的时候,首先判断表达式的值是否为真,如果为真,则执行语句,否则跳过整个if语句代码继续向下执行何为真假?假:False 0 0.0 None “”2.2 if-else语句语法: if 表达式: 语句1 else: 语句2说明:原创 2021-03-03 20:20:00 · 94 阅读 · 1 评论 -
数据类型
数据类型1.Number[整型,浮点型,复数]2.String:字符串3.Boolean:布尔值[True,False]4.None:空值5.List:列表6.Set:集合7.Tuple:元组8.Dict: 字典可变数据类型:Dict\Set\List不可变数据类型: Boolean\Tuple\String\Number以内存的值是否可以修改,来判定是否可变Boolean布尔值使用场景: 主要用于分支和循环语句中True:1 False:0b1 = Trueb2 =原创 2021-03-03 20:13:28 · 112 阅读 · 1 评论 -
基础认知笔记
一、回顾1.软件开发 简单命令行的时候2.Python简介 特点 优缺点3.数据的存储 内存 进制【进制转换】 原码反码补码4.开发前的准备工作 Python环境 软件【PyCharm,eclipse,MyEclipse】5.第一个Python程序 print(“fshghsj”)二、Python的编码规范1.分号:尽量不加分号2.尽量不要多条语句出现在同一行代码中 错误演示:print()print()3.括号:不能省略必要的括号4.缩进:原创 2021-03-03 20:12:08 · 113 阅读 · 1 评论 -
Python简介
1.什么是软件按照一系列特定顺序组织起来计算机数据和指令常见软件:系统软件:wiindows,linux,android,ios,unix等应用软件 :qq,微信,播放器等2.什么是开发定义: 制作软件的过程使用方式:交互式图形界面3.DOS命令打开dos环境 wins+r,输入cmdcd 进入指定目录cls 清除控制台md 创建目录rd 删除目录作业:把文件夹中文件复制到另一个文件夹,利用copycopy 拷贝文件路径的地址 目的文件夹rd 只能删除空文原创 2021-03-03 20:09:22 · 111 阅读 · 1 评论