爬虫学习前记----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博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870447.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[Qt] Qt Creator中,新建QT文件时选择界面模版下的各选项

在Qt Creator中&#xff0c;新建文件时选择界面模版下的各选项具有特定的意义&#xff0c;这些选项主要帮助开发者根据项目需求快速生成不同类型的文件。以下是对这些选项的详细解释&#xff1a; 0. Qt Item Model 意义&#xff1a;列表模型是Qt中用于表示和操作数据的强大抽…

C++多态中的构造函数和析构函数

常见问题 构造函数可以是虚函数吗&#xff1f; 答&#xff1a;构造函数不可以是虚函数。 原因&#xff1a; 构造对象时必须知道对象的实际类型&#xff0c;但是虚函数调用在运行时才能确定对象的实际类型&#xff0c;这会导致编译器无法确定对象的具体类型。 虚函数的执行依赖于…

Android 使用 Debug.startMethodTracing 分析方法耗时

参考 Generate Trace Logs by Instrumenting Your App 官网提供了 trace 工具来分析方法耗时。 生成 trace 文件 package com.test.luodemo.trace;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.os.Debug; import android.uti…

实体类:JavaBean

文章目录 什么是实体类&#xff1f;满足要求应用场景 什么是实体类&#xff1f; 就是仅仅只用来保存数据的Java类有getter setter 方法&#xff0c;就只能用它来存取数据 满足要求 成员变量都是private都有getter setter方法类中必须有public的无参构造函数 应用场景 实体…

js vue table单元格合并

实现效果 关键代码 <table classtable table-bordered><thead><tr><th>检测项目</th><th>详细说明</th><th>检测结果</th><th>检测说明</th></tr></thead><tbody><tr ng-repeatrow in…

【car】深入浅出学习机械燃油车知识、结构、原理、维修、保养、改装、编程

汽车的五大总成通常是指发动机、变速器、前后桥、车架和悬挂系统。 发动机&#xff1a;是汽车的动力来源&#xff0c;负责将燃料的化学能转化为机械能&#xff0c;驱动汽车行驶。常见的发动机类型有内燃机&#xff08;如汽油发动机、柴油发动机&#xff09;和电动机&#xff0…

解析.Bixi勒索病毒:威胁分析与防范策略

导言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒成为了网络安全的一大威胁。最近出现的.bixi勒索病毒引发了广泛关注和担忧。本文将介绍这种新型勒索病毒的特点和传播方式&#xff0c;并提供有效的应对策略&#xff0c;帮助您保护个人和组织的数据安全。如不幸感染这个…

asp .net core 避免请求body数据量过大

方法1&#xff0c; 全局避免 引入包 dotnet add package Microsoft.AspNetCore.Http.Features using Microsoft.AspNetCore.Http.Features;public void ConfigureServices(IServiceCollection services) {services.Configure<FormOptions>(options >{// 设置允许的最…

ant design pro多页签功能

效果&#xff1a; 原理&#xff1a; 1、所有需要页签页面&#xff0c;都需要一个共同父组件 2、如何缓存&#xff0c;用的是ant的Tabs组件&#xff0c;在共同父组件中&#xff0c;实际是展示的Tabs组件 3、右键&#xff0c;用的是ant的Dropdown组件&#xff0c;当点击时&…

【数理统计】2-随机变量及其概率分布

文章目录 一、随机变量的定义和分类二、离散概率分布2.1 二项分布 (Binomial Distribution)2.2 伯努利分布 (Bernoulli Distribution)2.3 几何分布 (Geometric Distribution)2.4 负二项分布 (Negative Binomial Distribution)2.5 超几何分布 (Hypergeometric Distribution)2.6 …

在linux中查找 / 目录下的以.jar结尾的文件(find / -name *.jar)

文章目录 1、查找 / 目录下的以.jar结尾的文件 1、查找 / 目录下的以.jar结尾的文件 [rootiZuf6332h890vozldoxcprZ ~]# find / -name *.jar /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.342.b07-1.el9_0.x86_64/lib/security/policy/limited/US_export_policy.ja…

【学习css2】grid布局-页面footer部分保持在网页底部

中间内容高度不够屏幕高度撑不开的页面时候&#xff0c;页面footer部分都能保持在网页页脚&#xff08;最底部&#xff09;的方法 1、首先上图看显示效果 2、奉上源码 2.1、html部分 <body><header>头部</header><main>主区域</main><foot…

在 Linux 上设置 RAID 阵列的全面指南

引言 在这篇博文中&#xff0c;我们将深入探讨如何在 Linux 上设置 RAID 阵列。本文将涵盖 RAID 的定义、架构、原理、应用场景、常见命令体系&#xff0c;并通过详细的实战模拟展示如何在 Linux 系统上实际操作。希望通过这篇文章&#xff0c;您能深入理解 RAID 技术&#xff…

Flutter实现局部刷新的几种方式

目录 前言 1.局部刷新的重要性 1.概念 2.重要性 2.局部刷新实现的几种方式 1.使用setState方法进行局部刷新 2.使用StatefulWidget和InheritedWidget局部刷新UI 3.ValueNotifier和ValueListenableBuilder 4.StreamBuilder 5.Provider 6.GetX 7.使用GlobalKey 前言 …

现在有什么副业可以让人快速上岸?可以试试这个行业上岸其实不难

人为什么要努力赚銭&#xff1f; 当你想结婚的时候&#xff0c; 你可以慢慢挑&#xff0c;不着急。 当父母年老遭遇大病的时候&#xff0c; 你有机会尽孝。 当孩子需要时&#xff0c;你不会囊中羞涩。 年轻时以为金钱最重要&#xff0c; 如今年纪大了&#xff0c;发现这…

CSS在页面中使用的三种方式:行内样式、内嵌式样式表、链接式样式表

CSS样式如何在页面中使用&#xff0c;包含三种方式&#xff1a;行内样式、内嵌式样式表、链接式样式表。 1、行内样式 行内样式是比较直接的一种样式&#xff0c;直接定义在 HTML 标签之内&#xff0c;并通过 style 属性来实现。这种方式比较容易学习&#xff0c;但是灵活性不…

【秋招突围】2024届秋招笔试-字节跳动笔试题-01-三语言题解(Java/Cpp/Python)

&#x1f36d; 大家好这里是清隆学长 &#xff0c;一枚热爱算法的程序员 &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 ✨ 本系列打算持续跟新 秋招笔试题 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x1f497; &#x1f4e7; 清隆这边最…

【Python 基础】控制流 - 2

程序执行 在第1篇的 hello.py 程序中,Python 开始执行程序顶部的指令,然后一条接一条往下执行。“程序执行”(或简称“执行”)这一术语是指当前被执行的指令。如果将源代码打印在纸上,在它执行时用手指指着每一行代码,你可以认为手指就是程序执行。 但是,并非所有的程…

Python基础知识——(004)

文章目录 P16——15. 布尔类型 P17——16. 类型转换函数 P18——17. eval函数 P19——18. 算数运算符 P20——19. 赋值运算符 P16——15. 布尔类型 布尔类型 用来表示 “真” 值或 “假” 值的数据类型在Python中使用标识符 True 或 False 表示布尔类型的值True表示整数1&…

【vue】下载 打印 pdf (问题总结)- 持续更新ing

这里是目录标题 一、pdf1.查看 下载一、pdf 1.查看 下载 样式 Code<template><div><el-table :data="pdfList" style="width: 100%" border ><el-table-columnprop="index"label="序号"width="80"ali…