爬虫学习前记----Python
引言
1.语言:python
2.学习资源:【Python+爬虫】
3.爬虫日记:
python内容
1.字符串输出
(1)引号问题
print("python")
输出:pythonprint('python')
输出:pythonprint('python"学习"')
输出:python"学习"print("python\"学习\"") #转义
输出:python"学习"
(2)换行问题
-----print函数自动换行-----
----- \n 增加换行 -----输出:python学习【错误的示例】
print("python
学习") 【正确】
print("""python
学习""")
(3)字符串拼接
print("python"+"学习")
输出:python学习
(4)输出变量内容
hello="您好!"
print(hello + "我是李明")
输出:您好!我是李明
2.函数调用
在文件开头引用'库'
在调用时格式为:库名.库函数(参数)
import mathmath.sqrt(4)
3.注释
(1) #
# print(1)
# print(2)
# print(3)
注:多段代码被注释掉时,可以用快捷键[Ctrl+/]
(2)写入长注释时
'''
你好
你好
这是注释
'''"""
这也是
注释
"""
4.字符串
(1)len获取长度
a = len("\n") ---1
b = len("你好") ---2
c = len("hello") ---5
(2)字符串的某个字符
d = "abcdef"
print(d[1]) ---b
5.type数据类型
(1)type查看数据类型
print(type("abc")) ---<class 'str'>
print(type(True)) ---<class 'bool'>
(2)转换
str(123)
int("456")
6.输入
i = input("请输入")
注意:输入的为字符串格式
7.if
i = input("请输入")if int(i) == 1:print("接收到了1")
elif 1 < int(i) <= 10:print("接收到1<x<10")
else:print("没有接收到目标")
8.逻辑运算
[ 优先级:not > and > or ]
(1)or
if i == 1 or i == 2 or i == 3:print("接收到了{1,2,3}")
(2)and
if i == 1 and j == 0:print("i=1 j=0")
(3)not (只能接一个)
if not i == 1:print("没接收到1")
9.列表
''' 在列表末尾添加新的对象 '''
list1.append(1)
''' 统计某个元素在列表中出现的次数 '''
list1.count(1)
''' 拼接 '''
list1 = list1 + list2
''' 从列表中找出某个值第一个匹配项的索引位置 '''
list1.index(11)
''' 将100插入列表index=0 '''
list1.insert(0, 100)
''' 移除列表中100的第一个匹配项 '''
list1.remove(100)
''' 反向列表中元素 '''
list2.reverse()
''' 对原列表进行排序 '''
list1.sort()
''' 读取列表中第三个元素 '''
print(list1[2])
''' 读取列表中倒数第二个元素 '''
print(list1[-2])
''' 从第二个元素开始截取列表 '''
print(list1[1:])
10.字典
dict1={"1":"yi"}
dict1["2"]="er"
[ 注意 ] a:b键值对中: a是键,b是值 。
键还能是元组:
dict1={"1":"yi"}
dict1["2"]="er"
tuple1=("张伟",18)
tuple2=("张伟",19)
dict1[tuple1]="137000000"
dict1[tuple2]="180000000"
11.range
计算:1 + 2 + ... + 100
for i in range(1, 101): total = total + 1
等价于
for(int i=1;i<101;)total+=i;
12.while
while i >= 100:print("i>=100")
13.类
class Employee:def __init__(self, name, jd):self.name = nameself.id = iddef print_info(self):print(f"员工名字:{self.name},工号:{self.id}")class FullTimeEmployee(Employee):def __init__(self, name, id, monthly_salary):super().__init__(name, id)self.monthly_salary = monthly_salarydef calculate_monthly_pay(self):return self.monthly_salaryclass PartTimeEmployee(Employee):def __init__(self, name, id, daily_salary, work_days):super().__init__(name, id)self.daily_salary = daily_salaryself.work_days = work_daysdef calculate_monthly_pay(self):return self.daily_salary * self.work_days
(1)类构造
class name:
def __inti__(self,其他参数...):
构造函数操作...
(2)类继承
class A(B): #A是继承了B的子类
(3)子类继承且改编父类的构造函数
def __init__(self, name, id, daily_salary, work_days):
super().__init__(name, id)其他操作...
14.文件
(1)路径
绝对路径
/user/demo/data.txt
相对路径
../tmp
(2)open("a.txt","r",encoding="utf-8")
f = open("a.txt", "r", encoding="utf-8")
print(f.read())
f.close()
注:当前这次读完后,系统会记录读到的位置,然后下次调用read函数将返回继续增加的内容。读完后一定要close!
或者(with as 自动关闭):
with open("a.txt") as f:print(f.read())
读字节
print(f.read(10)) # 指定10字节
读一行 --可搭配while使用
print(f.readline())
全部读
lines=f.readlines()
for line in lines:print(line)
(2)open("a.txt","w",encoding="utf-8")
特点:
(1)区别于"r":只写模式下,若没找到指定文件,则创建文件。
(2)“w”模式下,write函数覆盖掉文件中所有内容!
(3)write函数不自动加换行,需手动\n
(4)不能读原本的内容(即read函数)
(3)open("a.txt","a",encoding="utf-8")
特点:
(1)区别于"w":附加模式下,write函数在文件内容的末尾写入
(2)write函数不自动加换行,需手动\n
(3)若没找到指定文件,则创建文件。
(4)不能读原本的内容(即read函数)
(4)open("a.txt","r+",encoding="utf-8")
(1)可读可写
(2)write函数不自动加换行
(3)若没找到指定文件,会报错!
15.捕捉异常
try:user_weight = float(input("请输入您的体重(单位:kg)"))user_height = float(input("请输入您的身高(单位: m):"))user_BMI =user_weight /user_height ** 2
except ValueError:print("输入不为合理数字,请重新运行程序,并输入正确的数字。")
except ZeroDivisionError:print("身高不能为零,请重新运行程序,并输入正确的数字。")
except:print("发生了未知错误,请重新运行程序。")
else:print("您的BMI值为:"+str(user_BMI))
finally:print("程序结束")
16.测试代码unittest
Python之unittest框架的介绍及使用_python unittest abc-CSDN博客
相关文章:

爬虫学习前记----Python
引言 1.语言:python 2.学习资源:【Python爬虫】 3.爬虫日记: python内容 1.字符串输出 (1)引号问题 print("python") 输出:pythonprint(python) 输出:pythonprint(python"学习") 输出&…...

详解Go语言中的Goroutine组(Group)在项目中的使用
背景(Why) Go语言通过其内置的goroutine和通道(channel)机制,提供了强大的并发支持。goroutine的开销非常低,一个goroutine仅占用几KB的内存,可以轻松创建成千上万个goroutine来处理并发任务。然而,随着并…...

Linux桌面环境手动编译安装librime、librime-lua以及ibus-rime,提升中文输入法体验
Linux上的输入法有很多,大体都使用了Fcitx或者iBus作为输入法的引擎。相当于有了一个很不错的“地基”,你可以在这个“地基”上盖上自己的“小别墅”。而rime输入法,就是一个“毛坯别墅”,你可以在rime的基础上,再装修…...

一文入门【NestJs】Providers
Nest学习系列 ✈️一文入门【NestJS】 ✈️一文入门【NestJs】Controllers 控制器 🚩 前言 在NestJS的世界里,理解“Providers”是构建健壮、可维护的后端服务的关键。NestJS,作为Node.js的一个现代框架,采用了Angular的一些核…...

云原生(Cloud native)
云原生(Cloud native) 一 定义 目前比较权威的定义主要来自Pivotal公司和云原生计算基金会(Cloud Native Computing Foundation,简称CNCF)。 1.1 Pivotal 4个要点: DevOps、持续交付、微服务、容器化。六…...

JVM OutOfMemoryError异常模拟
1.Java堆溢出 Java堆用于储存对象实例,我们只要不断地创建对象,并且保证 GC Roots 到对象之间有可达路径来避免垃圾回收机制清除这些对象,那么随着对象数量的增加,总容量触及最大堆的容量限制后就会 产生内存溢出异常。 限制Java …...

架构师机器学习操作 (MLOps) 指南
MLOps 是机器学习操作的缩写,是一组实践和工具,旨在满足工程师构建模型并将其投入生产的特定需求。一些组织从一些自主开发的工具开始,这些工具在每次实验后对数据集进行版本控制,并在每个训练周期后对检查点模型进行版本控制。另…...

【学习笔记】虚幻SkeletalMesh学习(一)基础介绍
文章目录 零、前言一、资源介绍1.1 骨架资源1.2 骨架网格体资源 二、UE4中的定义2.1 骨骼数据2.2 模型网格数据 三、渲染3.1 RenderData的初始化3.2 渲染对象的创建3.3 渲染对象的更新3.3.1 游戏线程的更新(*FSkeletalMeshObjectGPUSkin::Update*)3.3.2 …...

Apache防盗链、网页压缩、网页缓存
目录 网页压缩 类型 示例 动态添加模块操作步骤 重装Apache操作步骤 网页缓存 示例 操作步骤 隐藏版本信息 操作步骤 Apache防盗链 定义 原理 配置防盗链实验环境 实验环境 本地图片盗链示例 操作步骤 防盗链示例 操作步骤 网页压缩 网站的访问速度是由多个…...

LocalAI - 笔记
1.localAI https://localai.io/ 2 使用笔记本电脑搭建本地LLMs大模型环境 使用笔记本电脑搭建本地LLMs大模型环境 - 大模型知识库|大模型训练|开箱即用的企业大模型应用平台|智能体开发|53AI 3LocalAI视频 【LocalAI】(3):超级简单&…...

Windows图形界面(GUI)-SDK-C/C++ - 编辑框(edit)
公开视频 -> 链接点击跳转公开课程博客首页 -> 链接点击跳转博客主页 目录 编辑框(edit) 控件样式 创建控件 初始控件 消息处理 示例代码 编辑框(edit) 控件样式 编辑框(Edit Control)是Windows中最常用的控件之一,用于接收用户…...

区块链学习05-web3中solidity和move语言
Solidity 和 Move 语言的比较:Web3 开发中的两种选择 Solidity 和 Move 都是用于开发区块链平台智能合约的编程语言。它们具有一些相似之处,但也存在一些关键差异。 相似之处: Solidity 和 Move 都是图灵完备语言,这意味着它们可以表达计算…...

web滚动页面到指定位置
方法:scrollTo(x-coord,y-coord) 方法是Web API中Element接口的一部分,但它主要用于Window对象或可滚动的元素(如具有overflow属性为auto或scroll的<div>)。此方法用于将窗口滚动到文档中的特定位置,或者将某个元…...

操作系统真象还原:实现文件写入
14.7 实现文件写入 这是一个网站有所有小节的代码实现,同时也包含了Bochs等文件 本节要实现的 sys_write 是系统调用 write 的内核实现,咱们之前的 write 是个简易版,它是为了临时完成输出打印的功能,不支持文件描述符。如今要让…...

FastAPI 学习之路(四十九)WebSockets(五)修复接口测试中的问题
其实代码没有问题,但是我们忽略了一个问题,就是在正常的开发中,肯定是遇到过这样的情况,我们频繁的有客户端链接,断开连接,需要统一的管理这些链接,那么应该如何管理呢。其实可以声明一个类去管…...

STM32智能楼宇照明系统教程
目录 引言环境准备智能楼宇照明系统基础代码实现:实现智能楼宇照明系统 4.1 数据采集模块 4.2 数据处理与控制模块 4.3 通信与网络系统实现 4.4 用户界面与数据可视化应用场景:楼宇照明管理与优化问题解决方案与优化收尾与总结 1. 引言 智能楼宇照明系…...

【C语言】原码、反码、补码详解 -《码上有道 ! 》
目录 原码、反码、补码详解及其在C语言中的应用一、原码(Sign-Magnitude)1.1 定义与表示1.2 历史来源与作用1.3 示例1.4 C语言示例1.5 代码运行结果 二、反码(Ones Complement)2.1 定义与表示2.2 历史来源与作用2.3 示例2.4 C语言…...

C++找到错误的具体信息
fprintf(stderr, "Errno: %d, Error message: %s\n", errno, strerror(errno));为什么不用printf来打印输出? 使用 fprintf(stderr, …),将错误消息输出到标准错误流 stderr。这种做法是为了将错误信息输出到一个专门用于记录错误的流中&…...

Windows 安装Zookeeper
安装 下载地址:Apache ZooKeeper 我下载的版本:zookeeper-3.4.12 下载后,解压 配置 1、 在D:\zookeeper-3.4.12文件夹中创建一个“data”文件夹和“log”文件夹 2、 复制zoo_sample.cfg,改名:zoo.cfg 修改zoo.c…...

从人工巡检到智能预警:视频AI智能监控技术在水库/河湖/水利防汛抗洪中的应用
一、背景需求分析 近日,我国多省市遭遇连日暴雨,导致水库、湖泊、河道等水域水位暴涨,城市内涝频发。随着夏季汛期的到来,降雨天气频繁,水利安全管理面临严峻挑战。为保障水库安全、预防和减少洪涝灾害,采…...

【轻松拿捏 】Java-static关键字(面试)
Java-static关键字 1. 定义和基本概念 回答要点: 示例回答: 2. static 变量 回答要点: 示例回答: 代码示例: 3. static方法 回答要点: 示例回答: 代码示例: 4. static 代…...

【阶乘】个人练习-Leetcode-LCP 22. 黑白方格画
题目链接:https://leetcode.cn/problems/ccw6C7/description/ 题目大意:给出一块白方格面积为n*n,给出一个数字k,每一次操作可以把方格的某一整行或者某一整列涂黑,求使得黑色格子数字为k的【最终图案】的个数。 思路…...

十七、【文本编辑器(三)】图像坐标变换
目录 一、缩放功能 二、旋转功能 三、镜像功能 四、QMatrix简单介绍 一、缩放功能 (1)在头文件中添加 “protected slots:" 变量: void ShowZoomln( ); (2)在 createActionso函数的最后添力口事件关联&…...

生活中生智慧
【 圣人多过 小人无过 】 觉得自己做得不够才能做得更好,互相成全;反求诸己是致良知的第一步;有苦难才能超越自己,开胸怀和智慧;不浪费任何一次困苦,危机中寻找智慧,成长自己。 把困苦当作当下…...

2024第18届中国西部(成都)教育装备展12月14日举办
2025中国国际工业气体设备技术及应用展览会 2025 China International Industrial Gas Equipment Technology and Application Exhibition 时间:2025年3月18-20日 地点:北京全国农业展览馆(新馆) 展览前言 随着需求市场的持续…...

Webpack看这篇就够了
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…...

基于京东电商蓝牙耳机产品评论数据的情感分析与文本分析
摘要 随着电子商务的迅速发展,了解用户对产品的意见和情感倾向对企业至关重要。本研究旨在利用Python大数据技术对电商产品评论进行情感分析和主题建模,为企业提供有价值的市场洞察。 通过爬虫获取电商评论数据,使用pandas清洗和预处理数据&a…...

【Linux网络】poll{初识poll / poll接口 / poll vs select / poll开发多客户端echo服务器}
文章目录 1.初识pollpoll与select的主要联系与区别poll的原理poll的优点poll的缺点poll vs select 2.poll开发多客户端echo服务器封装套接字接口Makefile主函数日志服务聊天服务器 1.初识poll poll是Linux系统中的一个系统调用,它用于监控多个文件描述符(…...

数据库db文件损坏修复方法(sqlite3:database disk image is malformed)
参考博客: https://www.cnblogs.com/liuyangQAQ/p/18037546 sqlite3数据库提示database disk image is malformed 解决办法-CSDN博客 【SQL】sqlite数据库损坏报错:database disk image is malformed(已解决)-CSDN博客 一、第…...

Prometheus 云原生 - 微服务监控报警系统 (Promethus、Grafana、Node_Exporter)部署、简单使用
目录 开始 Prometheus 介绍 基本原理 组件介绍 下文部署组件的工作方式 Prometheus 生态安装(Mac) 安装 prometheus 安装 grafana 安装 node_exporter Prometheus 生态安装(Docker) 安装 prometheus 安装 Grafana 安装…...