随笔分类 - python语法
python语言的用法
摘要:python模块之beautifulsoup —— html文件解析以及提取 beautifulsoup简称bs4,能够帮助我们处理html等超标记文本的标签,提取其中的文字,常用于爬虫领域等。 bs4及相关模块的安装 安装bs4: pip install bs4 -i https://pypi.t
阅读全文
摘要:线程理论及threading模块 线程理论 线程和进程在使用方式和调度策略上十分的相似,两者的本质区别在于 进程:进程是资源单位,表示一块内存空间 线程:线程是执行单位,真正的执行代码指令 一个进程中可以有多条线程,就像一个车间中可以有多条作业线,一个进程中至少有一个线程。 开设进程所要消耗的资源更
阅读全文
摘要:内置模块之多进程模块multiprocessing 代码创建进程的方式 同步与异步的区别 from multiprocessing import Process import time def task(name): print('task is running', name) time.sleep
阅读全文
摘要:设计模式及单例模式 设计模式简介 前人通过大量的验证,所创建出来的解决一些问题的固定高效方法 IT行业的设计模式 IT行业的设计模式一共有23种,分为:创建型、结构型、行为型 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装
阅读全文
摘要:python 面向对象之元类 type方法的应用 1.查看数据类型 s1 = 'hello world' # str() l1 = [11, 22, 33, 44] # list() d1 = {'name': 'jason', 'pwd': 123} # dict() t1 = (11, 22,
阅读全文
摘要:面向对象之魔法方法(双下方法) 魔法方法指类中定义的一些双下方法,不需要人为调用,在特定的条件下回自动触发运行。 类中的双下方法常常是类产生的对象的一些行为所触发的。 类的常用魔法方法 | 双下方法 | 自动触发条件 | | | | | __init__ | 对象添加独有数据的时候自动触发 | |
阅读全文
摘要:python 面向对象之反射 反射这个术语在很多语言中都存在,并且存在大量的运用,什么是反射,反射主要是指程序可以访问、检测和修改它本身状态或行为的一种能力,在python中一切皆对象(类,实例,模块等等都是对象),那么我们就可以通过反射的形式操作对象相关的属性。 何为反射 简单的理解就是:利用字符
阅读全文
摘要:python 面向对象三大特性之封装与多态 在上一篇中,我们将继承这一重要的面向对象的特性进行了介绍。 这一篇是对剩下的封装和多态进行讲解。 面向对象之封装 封装:就是将数据和功能'封装'起来。 隐藏:将数据和功能隐藏起来不让用户直接调用,而是开发一些接口间接调用从而可以在接口内添加额外的操作。 伪
阅读全文
摘要:python 类的继承、多继承与派生 继承的概念与本质 继承是指类与类之间名称空间的传递关系,如果一个类A可以全数访问另一个类B的所有名称,或者说类A拿到了类B所有属性的访问权限,那么就称类A继承了类B。 被继承的类被称之为父类、基类、超类 继承的类被称为子类、派生类 继承的方式如下: class
阅读全文
摘要:python面向对象编程思想及语法基础 面向过程与面向对象 面向过程编程 过程即流程,面向过程就是按照固定的流程解决问题。 如我们在ATM+购物车实战项目里面中的: 注册功能 登录功能 转账功能。。。 需要列举出每一步的流程,并且随着步骤的深入,问题的解决越来越简单。 以流程为轴编程就是面向过程的编
阅读全文
摘要:logging模块--日志模块 日志就是记录行为举止的文件,在程序中可以在执行到某些情况时对其进行自动记录。 而logging模块就给我们提供了一套记录体系。 它有五层记录等级:debug|info|warning|error|critical 日志组成 产生日志 logger = logging.
阅读全文
摘要:subprocess模块--子进程 我们可以通过subprocess模块模拟系统终端(命令行),去执行命令获取结果 import subprocess res = subprocess.Popen( 'ipconfig', # 操作系统要执行的命令 shell=True, # 固定配置 stdin=
阅读全文
摘要:hashlib模块 hashlib铺垫知识 hash指加密,我们将一串字符串明文加密为密文,使这段密文难以被识别,也无法倒推成明文,这就是加密。 hashlib模块所提供的加密,如我们最常用的md5加密方式,其加密效果就是:传入相同的一段明文,加密后会输出相同的一段密文。 应用场景 而加密常用于密码
阅读全文
摘要:网络爬虫小案例 网络爬虫模块之requests模块 requests模块能够模拟浏览器发送网络请求: import requests # 朝指定网址发送请求获取页面数据 res = requests.get('http://www.redbull.com.cn/about/branch') # 红牛
阅读全文
摘要:# 内置模块之re模块 ## 正则表达式应用场景 在很多网页中,要求输入手机号、邮箱等,会在我们还没输完的情况下就提示我们在“请输入正确的手机号”“邮箱格式不正确”等信息,这用到了文字匹配的功能: 其逻辑用python代码实现是这样的: ```py 案例:京东注册手机号校验 基本需求:手机号必须是1
阅读全文
摘要:内置模块之json模块、pickle模块 json模块 json在编程语言中拥有重要的地位,它可以将数据类型存储为文本格式,也可以沟通每个语言中共有的数据类型。json模块就是帮助我们将python文件的数据类型和json数据类型相互转换的模块。 除了python中的数据可以转换成json,其他的编
阅读全文
摘要:内置模块之os、sys模块 os与sys模块的区别 os模块主要与操作系统打交道 sys模块主要与python解释器打交道 os模块 os模块主要用于对接我们的操作系统。 os模块主要有以下功能,这些功能都需要导入os模块使用。 import os | 语句 | 功能 | | | | | os.mk
阅读全文
摘要:内置模块之随机数模块——random Python random 模块主要用于生成随机数。 要使用 random 函数必须先导入: import random 这里整理几条常用的功能: | 函数名 | 功能 | | | | | random() | 随机得到0到1之间的小数 | | uniform(
阅读全文
摘要:内置模块之时间模块 在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是fl
阅读全文
摘要:内置模块之collections 具名元组:nametuple 具名元组就是对元组和元组元素都命名了。 命名后,除了更好辨识,还可以通过元组元素的名字来取值了(可以不限于索引取值了) from collections import namedtuple # 导入具名元组方法 应用场景:二维坐标系 p
阅读全文