当前位置: 首页 > news >正文

python语言总结(持续更新)

本文主要是总结各函数,简单的函数不会给予示例,如果在平日遇到一些新类型将会添加

基础知识

输入与输出

print([要输出的内容])输出函数

input([提示内容]如果输入提示内容会在交互界面显示,用以提示用户)输入函数

注释

#

单行注释符,加在语句后面,或者单独为一行均不会被python程序解释

三引号(eg.'''    """)

多行注释,这里与字符区分就是仅用三引号引起来,而不赋值,这就仅是一个注释

变量

变量就是一个名字,需要先定义(或者赋值)再使用。变量的命名要符合标识符的命名规范,标识符相当于名字,包括变量名/函数名/类名

标识符的命名规范:

  1. 可以由字母,数字(数字不能作为标识符的开头),下划线组成
  2. 区分大小写
  3. 不能使用关键字和保留字

    关键字:if,while,for,as,import

    保留字:input,print,range

  4. 没有长度限制
  5. 最好是能根据名字明白意思,eg.数字就用num或者number
  6. 大小写:

  1. 包名:全小写,例如 time ;
  2. 类名:每个单词的首字母大写,其他的小写,简称大驼峰命名,例如 HelloWorld ;
  3. 变量名/函数名:第一个单词的首字母小写,后面的单词的首字母大写,简称小驼峰命名,例如 helloWorld ;
  4. 常量:全大写,例如 HELLO 。

数据类型分类

  1. 整型:整数,int
  2. 浮点型:小数,float
  3. 复数:包含实数也包含虚数,complex(real[,imag]){这里的real是复数的实部,imag是复数的虚部}
  4. 字符串:字符 ,str        表现形式:‘xxx’,“xxx”,"""xxx""",'''xxx'''
  5. 布尔类型:bool,返回值分为Flase,Ture。1为真,0为假
  6. None是一个单独的数据类型,标识空或者不存在的值。若将变量赋值为None,标识该变量没有实际的值

    不存在的值:如果一个变量尚未赋值或其值是未知的,则将它设置为 None。

    空集合:None 可以用于表示空集合、空列表或空字典。

    函数返回值:当函数没有要返回的明确值时,可以使用 None 作为返回值。

  7. 列表,元组,字典,集合(这四个类型后续详讲)

类型转换(仅常见的)

字符串转数字

int(str)[转为整数]   /    float(str)[转为浮点数]

其中的str只可以由数字组成

浮点型与整型互换

浮点转整型

int(float)  直接去掉小数部分,保留整数部分

整型转浮点型

float(int)未表明精确度,默认为一位小数

数字转字符

str(int)[整型转字符]   /   str(float)[浮点转字符]

 获取类型

type()函数

type(对象[可以先将对象赋值给一个变量再type;也可以直接将对象放在圆括号中])

 type()函数返回的是对象的类型

>>> a=123
>>> type(a)
<class 'int'>
>>> type([1,23,4,5])
<class 'list'>

如果不是在交互型中的,仅仅只是一个type()不会有输出,所以我们需要print()配合嵌套使用,即print(type(对象)),或者将type(对象)赋值给一个变量再print(变量)

isinstance()函数

isinstance(对象,class)class是种类的意思

返回的值是布尔值,即这个函数是自己猜测类型,再用这个函数来确定类型是否正确(这个函数不常用)

运算符

一般运算符

+(加), -(减), *(乘), /(除)

// (整除,去掉小数部分) , %(取模,或者说是取余),**(幂运算)

比较运算符

返回的是布尔值,即False和True

符号意义
==等于
!=不等于
>大于
<小于
>=大于等于
<=小于等于

赋值运算符

=(简单的赋值符号,eg.a=c+v,就是将c+v的结果赋值给a)

<变量1>[算数运算符]=<变量2>   eg.a+=5,这个等效于a=a+5。也就是算数运算的简写方法,不用重新再赋值,而是将算后的结果直接赋值给前面的变量

位运算符

运算符意义/描述
&按位与运算:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0
|按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1。
^按位异或运算符:当两对应的二进位相异时,结果为1
~按位取反运算符:将二进制表示中的每一位取反,0 变为 1,1 变为 0。~x 类似于 -x-1
>>右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,>> 右边的数字指定了移动的位数
<<左移动运算符:运算数的各二进位全部左移若干位,由 << 右边的数字指定了移动的位数,高位丢弃,低位补0。

成员运算符

判断是不是在序列里

in(在)    not in(不在)

身份运算符

判断二者的标识符是不是引用自同一个对象

is(是)   is not(不是)

逻辑运算符

and     与          两者同时为真才为真,一假为假

or        或          两者任一为真就为真,全假为假

not       非         非真,非假

注意运算先后

数字运算函数

abs(x)  绝对值函数,取x的绝对值

divmod(x,y)   商余函数。表示(x//y,x%y) 二元组形式输出,含括号

pow(x,y[,z])如果仅有x和y就仅仅只是x**y,y是指数,如果有三个参数,就是x**y%z(模幂运算)

round(x[,d])计算保留函数。对x取舍,保留d位小数“四舍五入”,没有d就四舍五入为整数

max( , , , , )在一堆数中取最大的

min( , , , , )在一堆数中取最小的

字符串操作

len(x)返回字符串x的长度,或者组合数据类型的元素个数

str(x)任意类型x转字符类型

chr(x)返回Unicode编码对应的单字符

ord(x)返回单字符的Unicode编码

range的语法:

range(start,end,step=num)

start和end可以为空,start就是字符串开始,end就是字符串结尾,step可以为负数,为负就代表反向获取字符

如果是遍历字符串的话:

start和end可以是顺次的索引,也可以是逆向的索引,但是start所索引的字符的位置必须在end所索引的位置之前

for i in range(start,end,step):
<tab>[语句块]

step如果不设置就表示步长为1,直接依次遍历;如果有步长,就从start到end-1的字符串中提取步长为n的字符

流程控制

条件判断

顺次往下进行,不返回进行

if(单分支)

if [需要进行的条件判断,布尔表达式]:
<一个tab>[语句块]

当条件判断后为真,就进行语句块的执行

if else(双分支)

if [布尔表达式,条件判断]:
<tab>[语句块]
else:
<tab>[语句块]

if条件判断为真就进行if下面的语句块的执行,否则执行else的语句块

if elif else(多分支)

if [条件判断表达式]:
<tab>[语句块]
elif [条件判断表达式]:
<tab>[语句块]
.
.
.
elif [条件判断表达式]:
<tab>[语句块]
else:
<tab>[语句块]

当if语句为真,就执行其下方的语句块(后面的判断就不会经历),否则就往后进行条件判断,直到为真时停【一旦在if或各elif语句实现了判断为真就跳出这个结构,直接进行else的语句块以后的程序;如果前方的都不满足,就执行else的语句块】

条件判断的嵌套使用

s = int(input("请输入分数:"))
if 80 >= s >= 60:print("及格")
elif 80 < s <= 90:print("优秀")
elif 90 < s <= 100:print("非常优秀")
else:print("不及格")if s > 50:print("你的分数在60分左右")else:print("你的分数低于50分")

循环结构

for循环(遍历循环)

知道遍历次数,或者有需要遍历的对象进行提取其中的东西

range

遍历n次,i从0到n-1

for i in range(n):
<tab>[语句块]

遍历字符串
for i in s:
<tab>[语句块]

逐一提取字符串s中的字符并赋给i

enumerate()
for index,char in enumerate(x):
<tab>[语句块]

 利用enumerate函数遍历字符串x,并获取字符串x的每一个字符及其对应的索引

遍历列表
for item in ls:
<tab>[语句块]

 遍历列表ls里的每一个元素

遍历文件f
for line in f:
<tab>[语句块]

 逐一提取文件f的每一行

whlie循环(条件循环)

不知道需要循环的次数。条件循环是只要满足条件就一直循环下去,知道条件为False后才会结束

while [条件]:
<tab>[语句块]

 循环控制

break

跳出最内层的循环,仅是跳出当前层的循环,外层循环将会继续

continue

结束当前当次的尚未执行的语句,但不跳出当前循环。

对于while循环:遇continue将返回,继续判断循环条件

对于for循环:遇continue将返回,程序继续遍历下一个元素

for s in "dasgfsasdgadgs":

        if s=="s":

                countinue

        print(s,end='')

#dagfadgadg

for s in "dasgfsasdgadgs":

        if s=="s":

                break

        print(s,end='')

#da

continue与break的区别

continue仅结束本次循环

break直接结束整个循环过程

 字符串(str)

字符串的特点:

1. 字符串不可变类型
2. 字符串是可迭代对象
3. 字符串支持索引和切片操作
4. 支持操作符;

字符串的操作

       拼接:+   #字符串a与字符串b连接起来
        重复操作符:*   #将字符串重复
        比较运算符: > < <= >= == !=
        逻辑运算符:not and or
        成员关系: in    not in       

字符串的处理

格式化输出

格式化输出有多种表达方式,且在日常经常会遇见吗,常用的方法有 format 和 $% 。

format

仅有{}占位,无下标的对应

顺序是前后对应的

a='python'
b='easy'
print("{} is {}".format(a,b))
#python is easy

用{}数字(小标)占位

以format内的顺序为下标来对应前面的数字,此处b的下标为1,a的下标为1,所以就得是b,a

a='python'
b='easy'
print("{1} is {0}".formate(b,a))
#输出:python is easy

用{}字母(标识符)占位

将需要加入的内容在format中写出,其标识符在输出字段里占位

print("{a} is {b}".format(a='python',b='easy'))
#python is easy

%s

常见的是参数可以为任意值

for i in range(1, 10):for j in range(1, i + 1):print("%s * %s = %s" % (i, j, i * j), end="\t")print()

转义字符

\n 换行

\\  反斜杠

\'   单引号

\"   双引号

\t    制表符

列表(List)

列表是可以存放任何数据,包括整型,浮点型,字符串,布尔型等等,是常用的数据类型之一。

列表也是一个可迭代对象
1. 普通形式
        l = [1,2,3,4,5] ---整型列表
        l = ["a","b","c"] ---字符串列表
        l = [True,False,1>2,5<6]---布尔列表
2. 混合列表
        l = [1,2.5,"a",True]
3. 空列表
        l = []

创建列表

  • 先定义一个空列表,再用函数加入元素
l=[]
l.append()
  • 列表中含有元素直接创建
l=[1,23,43,'adf',True]
  • 用list函数
l=list(一个组合类型的数据)

获取列表元素

for循环

l=['a',1,23,'sdf']
for i in l:print(i,end='')#a123sdf

下标提取

这个的下标与字符串的相同

l=[12,23,354,56]
print(l[1])#23

添加元素

交换元素的位置

l = [1, 2, 3, 4, 5]  # 下标/索引:0开始
l[2], l[3] = l[3], l[2]
print(l)

改值

l[a:b]=['希望改后的结果s1',‘希望改后的结果s2’.......]#这里的a,b是l列表的将被改动的区域的下标,如果后面的不满足前面的个数,遵循“多增少减”(也就是以后面的为准)

删除元素

列表元素重新排序

l.sort(reverse=False)    默认将列表从小到大排列

字典

字典用于储存数据,其中的数据以映射关系存储(key:value)

特点

1. 字典是Python中唯一的映射类型
2. 字典是无序的
3. 字典是可迭代对象
4. 字典的构成
    键:key
    值:value
    映射:键映射值
    键-值:键值对,又叫 项

创建字典

直接创建

d={}
#d={}  空列表
#d = {"name":"不良人","apple":"苹果"}

dict()函数

d=dict()  得到空列表
d=dict(key1=value1,key2=value2...)  得到列表d{key1:value1,key2:value2...}

dict(可迭代对象)

将可以有对应关系的转为字典

d3 = dict([("one",1),("two",2)])
print(d3)
#{one:1,two:2}

字典的访问

<dict>['key']

变量名[键名] #输出键所对应的值

d = {"name":"不良人","apple":"苹果"}
print(d["name"])
#输出:不良人

字典的一些处理

1.添加一个键值对
        变量名[键名]=值
2.修改一个键值对的值
        变量名[已有的键名]=值

字典的for循环

1. 字典可以使用for循环

    for i in d2:
        print(i) #键,不包含值

2. 输出一个键值对

    for i in d2.items():
        print(i)

3. 成员关系操作符

    in/not in

        只能查询键

函数

print(r.recvall())

‌ 是使用 Python 的 requests 库发送网络请求时,用于接收服务器响应的全部内容。

这种在pwn的exp中可以运用到,用于连接服务器后将所有都输出

eval()函数

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

字符串表达式可以包含变量、函数调用、运算符和其他 Python 语法元素。

语法:

eval(expression[, globals[, locals]])
  • expression -- 表达式。
  • globals -- 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
  • locals -- 变量作用域,局部命名空间,如果被提供,可以是任何映射对象。

eval() 函数将字符串转换为相应的对象,并返回表达式的结果。

注意: eval() 函数执行的代码具有潜在的安全风险。如果使用不受信任的字符串作为表达式,则可能导致代码注入漏洞,因此,应谨慎使用 eval() 函数,并确保仅执行可信任的字符串表达式。

自定义函数

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()
  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
def sum(a,b):sum=a+bprint(sum)
sum(3,5)
#输出8

自定义函数后的调用,就直接用自己定义的函数名就行了,比如上面的例子就是定义了一个函数sum用来求和;然后一个sum(3,5)实现了调用sum函数,并且将3传给形参a,5传给形参b

函数运行机制

1. 从函数调用开始执行
2. 通过函数名字找到函数定义的位置(创建函数的位置)
3. 执行函数体
4. 执行完毕之后,返回到函数的调用处

函数变量机制

分为两个变量:局部变量和全局变量

1. 局部变量
        定义在函数内部的变量
        先赋值在使用
        从定义开始到包含他的代码结束
        在外部无法访问
2. 全局变量
        1. 定义在源文件的开头
        2. 作用范围:整个文件
        3. 局部变量和全局变量发生命名冲突时,以局部变量优先

3.global:

        声明全局变量

4.nonlocal

        声明局部变量

这里的global需要理清楚

在函数中,可以访问全局变量,并使用其值。但是如果不对变量进行global宣言,则不会改变全局变量的值。

a=1
def sum(x):a=12print(x+a)
sum(3)
print(a)
#15
#1

如果需要在函数中改变全局变量的值,需要在函数中先定义global,用例如下。

a=1
def sum(x):global aa=12print(x+a)
sum(3)
print(a)
#15
#12

函数的参数:

  • 形式参数:形参

        在定义函数的时候传递的参数

  •  实际参数:实参    

        在调用函数时传递的参数

  •  无参

        没有任何参数

  • 地址参数

        实参的位置与形参的位置一一对应,不能多也不可少这个例子中3和5既是实参,也是地址参数

  • 默认参数:

        给了默认值的参数--形

  如果传递了新的值,那么默认值就被覆盖了

def sum(a=1,b=2):sum=a+bprint(sum)
sum()
sum(10,5)
#3
#15

if __name__ == '__main__':

这个在本次开学考中有所遇见,但是当时不太懂,现在补一下

用于判断当前运行的脚本是否是主程序,而不是被其他脚本导入的模块。这是Python的一种约定俗成的用法,用于控制脚本的执行流程。这个条件判断确保了,只有当该脚本被直接运行时,紧随其后的代码块才会被执行。如果该文件被其他Python脚本通过import语句导入,那么这部分代码将不会执行。

通常是先用def()函数实现了自定义函数,再通过该语句来判断是否为主函数(没有被导入其他脚本),如果是主函数就执行

def main():print("This is the main program.")if __name__ == "__main__":main()

例如这个代码,只有当这个自定义的main函数没有被导入一个脚本时会被执行

百度安全验证

Python 运算符 | 菜鸟教程

相关文章:

python语言总结(持续更新)

本文主要是总结各函数&#xff0c;简单的函数不会给予示例&#xff0c;如果在平日遇到一些新类型将会添加 基础知识 输入与输出 print([要输出的内容])输出函数 input([提示内容]如果输入提示内容会在交互界面显示&#xff0c;用以提示用户)输入函数 注释 # 单行注释符&…...

UI自动化测试 —— web端元素获取元素等待实践!

前言 Web UI自动化测试是一种软件测试方法&#xff0c;通过模拟用户行为&#xff0c;自动执行Web界面的各种操作&#xff0c;并验证操作结果是否符合预期&#xff0c;从而提高测试效率和准确性。 目的&#xff1a; 确保Web应用程序的界面在不同环境(如不同浏览器、操作系统)下…...

【CXX】6.6 UniquePtr<T> — std::unique_ptr<T>

std::unique_ptr 的 Rust 绑定称为 UniquePtr。有关 Rust API 的文档&#xff0c;请参见链接。 限制&#xff1a; 目前仅支持 std::unique_ptr<T, std::default_delete>。未来可能会支持自定义删除器。 UniquePtr 不支持 T 为不透明的 Rust 类型。对于在语言边界传递不…...

【网络协议安全】任务10:三层交换机配置

CSDN 原创主页&#xff1a;不羁https://blog.csdn.net/2303_76492156?typeblog三层交换机是指在OSI&#xff08;开放系统互连&#xff09;模型中的第三层网络层提供路由功能的交换机。它不仅具备二层交换机的交换功能&#xff0c;还能实现路由功能&#xff0c;提供更为灵活的网…...

C语言每日一练——day_4

引言 针对初学者&#xff0c;每日练习几个题&#xff0c;快速上手C语言。第四天。&#xff08;连续更新中&#xff09; 采用在线OJ的形式 什么是在线OJ&#xff1f; 在线判题系统&#xff08;英语&#xff1a;Online Judge&#xff0c;缩写OJ&#xff09;是一种在编程竞赛中用…...

文件系统调用(上) ─── linux第17课

目录 linux 中man 2和man 3的区别 文件内容介绍 C语言文件接口 示例: 输出信息到显示器&#xff0c;你有哪些方法 总结: 系统文件I/O 文件类的系统调用接口介绍 示例 open 函数具体使用哪个,和具体应用场景相关&#xff0c; write read close lseek ,类比C文件相关接…...

在 Spring Boot 中实现基于 TraceId 的日志链路追踪

1 前言 1.1 什么是 TraceId? TraceId 是一个唯一的标识符,用于跟踪分布式系统中的请求。每个请求从客户端发起到服务端处理,再到可能的多个微服务调用,都会携带这个 TraceId,以便在整个请求链路中进行追踪和调试。 1.2 日志链路追踪的意义 日志链路追踪可以帮助开发者…...

STM32 HAL库 CAN过滤器配置

之前在STM32 f407 CAN收发 基于HAL库和Cubemx配置_stm32f407can收发程序-CSDN博客这篇博文里写了一下配置CAN收发的方法&#xff0c;当时由于并没有使用过滤器的现实需求&#xff0c;所以就也没仔细研究。现在工作中确实需要用到过滤器了&#xff0c;有些项目中控制器和发动机E…...

C++ 控制结构与函数全面解析

引言 在 C 编程中&#xff0c;控制结构和函数是构建程序逻辑的关键要素。控制结构能够决定程序的执行流程&#xff0c;而函数则可以将代码模块化&#xff0c;提高代码的复用性和可维护性。本文将深入介绍 C 中的控制结构和函数的相关知识。 一、控制结构 1. if - else 语句 …...

基于django+pytorch(Faster R-CNN)的钢材缺陷识别系统

一、训练数据来源以及数据标注 数据来源于阿里云天池实验室公开数据集中的铝型材缺陷检测数据集APDDD 数据标注通过labelme进行标注&#xff0c;图片所有标注以转化为矩形标注&#xff0c;存放成json格式。 二、模型训练方式及结果 缺陷识别模型基于Faster R-CNN ResNet5…...

C++多态

多态 多态分为:静态多态(函数重载,运算符重载)和动态多态(派生类、虚函数) 二者区别:静态多态是在地址编译时绑定,而动态多态是在地址运行时绑定 动态多态的特点: 1.有继承关系 2.子类重写父类虚函数(就是跟父类行为函数名称一样&#xff0c;但是是作为子类的行为) 动态多态的…...

【一句话经验】ubuntu vi/vim 模式自动设置为paste

从centos过来&#xff0c;发现ubutun有些地方不习惯&#xff0c;尤其是vi的粘贴&#xff0c;默认自动进去了代码模式&#xff0c;导致每次粘贴必须得set paste&#xff0c;否则会出现问题。 解决办法非常简单&#xff0c;按照下面命令执行即可&#xff1a; cd ~ echo "…...

MongoDB 触发器实现教程

在传统的关系型数据库&#xff08;如 MySQL&#xff09;中&#xff0c;触发器是一种强大的工具&#xff0c;它可以在特定的数据库操作&#xff08;如插入、更新或删除&#xff09;发生时自动执行一段代码。然而&#xff0c;MongoDB 并没有原生内置的触发器概念。不过&#xff0…...

ESP8266 NodeMCU 与 Atmega16 微控制器连接以发送电子邮件

NodeMCU ESP8266 AVR 微控制器 ATmega16 的接口 Atmega16 是一款低成本的 8 位微控制器,比以前版本的微控制器具有更多的 GPIO。它具有所有常用的通信协议,如 UART、USART、SPI 和 I2C。由于其广泛的社区支持和简单性,它在机器人、汽车和自动化行业有广泛的应用。 Atmega1…...

《算法笔记》8.1小节——搜索专题->深度优先搜索(DFS)问题 C: 【递归入门】组合+判断素数

题目描述 已知 n 个整数b1,b2,…,bn 以及一个整数 k&#xff08;k&#xff1c;n&#xff09;。 从 n 个整数中任选 k 个整数相加&#xff0c;可分别得到一系列的和。 例如当 n4&#xff0c;k&#xff1d;3&#xff0c;4 个整数分别为 3&#xff0c;7&#xff0c;12&#xf…...

重生之我在学Vue--第8天 Vue 3 UI 框架(Element Plus)

重生之我在学Vue–第8天 Vue 3 UI 框架&#xff08;Element Plus&#xff09; 文章目录 重生之我在学Vue--第8天 Vue 3 UI 框架&#xff08;Element Plus&#xff09;前言一、Element Plus 基础&#xff1a;从安装到组件革命1.1 安装与两种引入模式全量引入&#xff08;适合快速…...

从前端视角理解消息队列:核心问题与实战指南

消息队列&#xff08;Message Queue&#xff09;是现代分布式系统的核心组件之一&#xff0c;它在前后端协作、系统解耦、流量削峰等场景中发挥着重要作用。本文从前端开发者视角出发&#xff0c;解析消息队列的关键问题&#xff0c;并结合实际场景给出解决方案。 一、为什么要…...

Mysql配置文件My.cnf(my.ini)配置参数说明

一、my.cnf 配置文件路径&#xff1a;/etc/my.cnf&#xff0c;在调整了该文件内容后&#xff0c;需要重启mysql才可生效。 1、主要参数 basedir path # 使用给定目录作为根目录(安装目录)。 datadir path # 从给定目录读取数据库文件。 pid-file filename # 为mysq…...

Docker 安装成功后,安装 Dify 中文版本的步骤

Docker 安装成功后&#xff0c;安装 Dify 中文版本的步骤如下1&#xff1a; 克隆 Dify 代码仓库&#xff1a;在终端中执行以下命令&#xff0c;将 Dify 源代码克隆至本地环境。 bash git clone https://github.com/langgenius/dify.git进入 Dify 的 docker 目录&#xff1a; b…...

Spring(4)——响应相关

一、返回静态页面 1.1**RestController和Controller** 想返回如下页面&#xff1a; 如果我们依旧使用原来的**RestController** 可以看到的是仅仅返回了字符串。 此时将**RestController改为Controller** 可以看到这次返回的是html页面。 那么**RestController和Controller…...

LPDDR5x电源使用Si电容对PI和PSIJ影响分析

SoC可能包含许多高速接口&#xff0c;其中LPDDR5X目前因为高带宽、低功耗、大容量等性能优势开始逐渐在AI计算、5G通信、视频处理等领域开始使用。LPDDR5X目前的速率高达8.533 GT/s&#xff0c;以及多个为这些接口供电的IO电压轨&#xff0c;而这些IO轨的PDN需要提供低阻抗&…...

[网络爬虫] 动态网页抓取 — Selenium 介绍 环境配置

&#x1f31f;想系统化学习爬虫技术&#xff1f;看看这个&#xff1a;[数据抓取] Python 网络爬虫 - 学习手册-CSDN博客 0x01&#xff1a;Selenium 工具介绍 Selenium 是一个开源的便携式自动化测试工具。它最初是为网站自动化测试而开发的&#xff0c;类似于我们玩游戏用的按…...

MySQL数据库操作

目录 SQL语句 1、SQL的背景 2、SQL的概念 SQL的分类 SQL的书写规范 MySQL数据库 1、MySQL数据库的编码 &#xff08;1&#xff09;utf8和utf8mb4的区别 &#xff08;2&#xff09;MySQL的字符集 &#xff08;3&#xff09;MySQL默认编码为 latin1 &#xff0c;如何更改…...

java之uniapp实现门店地图

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、后台实现1. 获取门店的经纬度2.api查询对应的sql 二 、小程序实现 前言 实现查询门店地址的功能&#xff0c;可以按照距离排序。使用技术&#xff1a;java…...

Git基本概念及使用

目录 一、git安装 二、git仓库基本概念 1. 远程仓库&#xff08;Remote&#xff09;&#xff1a; 2. 本地库&#xff08;Repository&#xff09;&#xff1a; 3. 分支&#xff08;Branch&#xff09;&#xff1a; 4.本地库和远程库的关系 三、git仓库的工作流程 四、gi…...

游戏引擎学习第147天

仓库:https://gitee.com/mrxiao_com/2d_game_3 上一集回顾 具体来说&#xff0c;我们通过隐式计算来解决问题&#xff0c;而不是像数字微分分析器那样逐步增加数据。我们已经涵盖了这个部分&#xff0c;并计划继续处理音量问题。不过&#xff0c;实际上我们现在不需要继续处理…...

docker私有仓库配置

基于 harbor 构建docker私有仓库 1、机器准备 os&#xff1a;openEuler 、rockylinux mem&#xff1a;4G disk&#xff1a;100G 2、关闭防火墙、禁用SELinux 3、安装docker和docker-compose yum install docker-ce -y配置加速 vim /etc/docker/d…...

PostgreSQL 18新特性之虚拟生成列

PostgreSQL 12 提供了生成列&#xff08;GENERATED ALWAYS AS STORED&#xff09;功能&#xff0c;但是只能支持存储型的生成列&#xff0c;需要占用存储空间&#xff0c;更新成本高。 为此&#xff0c;PostgreSQL 18 即将引入一个新的增强&#xff1a;虚拟生成列。这种类型的…...

燃气对我们生活的重要性体现在哪里?

燃气在我们的生活中有 多方面的重要性 &#xff0c;以下是燃气对我们生活的重要性的详细说明&#xff1a; 烹饪和热水供应 &#xff1a; 燃气是家庭烹饪的主要能源&#xff0c;能够快速、高效地加热食物&#xff0c;使家庭聚餐更加便捷和愉快。 燃气热水器能够在短时间内提供…...

简易分析 uni.chooseImage 拍照上传的基本知识点(附Demo)

目录 前言1. 基本知识2. Demo 前言 &#x1f91f; 找工作&#xff0c;来万码优才&#xff1a;&#x1f449; #小程序://万码优才/r6rqmzDaXpYkJZF 基本的介绍也可看官网&#xff1a;uni.chooseImage(options) 以下知识点主要用于学习了解&#xff0c;从实战中出发 1. 基本知识…...

私域流量时代的创新实践:以定制开发开源AI智能名片与S2B2C商城小程序源码为例的深度研究

摘要&#xff1a;在数字化转型的浪潮中&#xff0c;私域流量已成为企业获取用户、增强品牌影响力及实现销售转化的关键路径。本文首先概述了私域流量的概念及其重要性&#xff0c;随后通过分析故宫文创、B站跨年晚会及美妆品牌“完美日记”的成功案例&#xff0c;深入探讨了私域…...

preloaded-classes裁剪

系统预加载了哪些class类&#xff1f;system/etc/preloaded-classes 修改源代码&#xff1f; frameworks\base\config\preloaded-classes 默认位置&#xff0c;如果改了不生效&#xff0c;可能有其它模块的mk文件指定了preloaded-classes覆盖了framework模块&#xff0c;例如…...

JavaScript性能优化实战

在 JavaScript 开发中&#xff0c;性能优化是一个至关重要的方面&#xff0c;它可以提升应用的响应速度、减少资源消耗&#xff0c;从而提供更好的用户体验。以下是从多个方面进行 JavaScript 性能优化的详细实战内容&#xff1a; 1. 代码加载优化 1.1 异步加载脚本 使用 as…...

文件和异常

从文件中读取数据 读取整个文件 读取整个文件 要读取文件&#xff0c;需要一个包含几行文本的文件。下面首先创建一个文件&#xff0c;它包含精确 到小数点后30位的圆周率值&#xff0c;且在小数点后每10位处换行&#xff1a; pi_digits.txt 3.14159265358979323846264338…...

【AI大模型】LLM训练deepseek如何识别视频

要让像DeepSeek这样的大语言模型&#xff08;LLM&#xff09;具备视频识别能力&#xff0c;需要结合多模态学习技术&#xff0c;将视觉信息与文本语义进行融合。以下是实现这一目标的关键步骤和技术要点&#xff1a; --- 一、视频识别的核心挑战 1. 多模态数据&#xff1a;视频…...

【机械视觉】C#+VisionPro联合编程———【五、硬币检测小项目实现(C#+VisionPro联合编程和csv文件格式操作)】

【机械视觉】C#VisionPro联合编程———【五、硬币检测小项目实现(C#VisionPro联合编程和csv文件格式操作)】 项目介绍 总共有十二张检测的图片&#xff0c;当点击检测按钮时检测当前展示的图片并且将检测效果展示在表格中&#xff0c;当点击上一页或下一页时换检测图片&…...

空间域与频域图像处理

第一部分&#xff1a;空间域图像处理&#xff08;Part 1&#xff09; 1. 点操作&#xff08;Pixel-wise Operations&#xff09; 定义&#xff1a;仅基于单个像素的灰度值进行变换&#xff0c;不依赖邻域信息。 常见操作&#xff1a; 2. 邻域操作&#xff08;Neighborhood O…...

使用DeepSeek+蓝耘快速设计网页简易版《我的世界》小游戏

前言&#xff1a;如今&#xff0c;借助先进的人工智能模型与便捷的云平台&#xff0c;即便是新手开发者&#xff0c;也能开启创意游戏的设计之旅。DeepSeek 作为前沿的人工智能模型&#xff0c;具备强大的功能与潜力&#xff0c;而蓝耘智算云平台则为其提供了稳定高效的运行环境…...

使用 React 和 Ant Design 处理 Excel 和 CSV 文件

在现代 Web 开发中&#xff0c;文件上传和解析是常见的需求。本文将介绍如何使用 React 和 Ant Design 库来处理 Excel 和 CSV 文件的上传&#xff0c;并将提取的表头信息展示在表格中。 1. 项目基础 确保你已经创建了一个 React 项目&#xff0c;并安装了必要的依赖。可以使…...

js 使用 Web Workers 来实现一个精确的倒计时,即使ios手机锁屏或页面进入后台,倒计时也不会暂停。

## 效果如上 <!-- 将 main.js 和 worker.js 放在同一个目录下&#xff0c;然后在 HTML 文件中引入 main.js --><!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content&q…...

Java中的常用关键字

目录 static关键字 &#xff08;1&#xff09;static修饰成员变量 &#xff08;2&#xff09;static修饰成员方法 super和this关键字 super关键字 示例1&#xff1a;使用super调用父类的构造器 示例2&#xff1a;使用super访问父类的方法 示例3&#xff1a;使用super访问…...

pytest数据库测试文章推荐

参考链接&#xff1a; 第一部分&#xff1a;http://alextechrants.blogspot.fi/2013/08/unit-testing-sqlalchemy-apps.html第二部分&#xff1a;http://alextechrants.blogspot.fi/2014/01/unit-testing-sqlalchemy-apps-part-2.html...

ubuntu20.04 使用linuxdeployqt打包一个QT程序

问题描述:ubuntu 打包一个QT程序 解决方法&#xff1a; 1.安装linuxdeployqt linuxdeployqt的github网址&#xff1a;linuxdeplyoqt 我下载好了&#xff0c;适合大家的直接拿&#xff0c;已经改好名字为linuxdeployqt 链接: https://pan.baidu.com/s/1r25aVwRAh-sx4ksadj6…...

⭐算法OJ⭐经典题目分类索引(持续更新)

在编程竞赛和算法学习中&#xff0c;Online Judge&#xff08;OJ&#xff09;平台是程序员们磨练技能的重要工具。OJ平台上的题目种类繁多&#xff0c;涵盖了从基础数据结构到复杂算法的各个方面。为了更好地理解和掌握这些题目&#xff0c;对其进行分类是非常有必要的。这篇索…...

Redis-缓存穿透击穿雪崩

1. 穿透问题 缓存穿透问题就是查询不存在的数据。在缓存穿透中&#xff0c;先查缓存&#xff0c;缓存没有数据&#xff0c;就会请求到数据库上&#xff0c;导致数据库压力剧增。 解决方法&#xff1a; 给不存在的key加上空值&#xff0c;防止每次都会请求到数据库。布隆过滤器…...

mac使用Homebrew安装miniconda(mac搭建python环境),并在IDEA中集成miniconda环境

一、安装Homebrew mac安装brew 二、使用Homebrew安装miniconda brew search condabrew install miniconda安装完成后的截图&#xff1a; # 查看是否安装成功 brew list环境变量&#xff08;无需手动配置&#xff09; 先执行命令看能不能正常返回&#xff0c;如果不能正常…...

tomcat应用的作用以及安装,以及tomcat软件的开机自启动。

一.tomcat介绍 1.作用 tomcat是一款用来部署网站服务器的一款软件。 动态网站主流语言&#xff1a; PHP, lamp/lnmp平台 Java语言&#xff0c;运行在tomcat平台。【只要这个网站或者软件是Java语言写的&#xff0c;我们都可以在tomcat平台上去运行这个java程序。】 网站是…...

Javascript基础语法详解

面向对象的语言.脚本语言,不需要编译,浏览器解释即可运行 .用于控制网页的行为.浏览器的source可以打断点调试, console输入代码可以执行 use strict指令: 在“严格模式”下运行js代码, 防止意外创建全局变量等, 提高代码安全性和执行效率. 使用: 全局严格模式&#xff1a;…...

网络编程(师从韩顺平)

文章目录 续写前面没有提到的内容自定义线程JVM,JDK,JREJava 核心机制-Java 虚拟机 [JVM java virtual machine]JDKJREJDK、JRE 和 JVM 的包含关系 Java 技术体系平台 网络的相关概念网络通信网络Ip 地址ipv4 地址分类域名网络通信协议TCP 和 UDP InetAddress 类相关方法应用案…...

HTML嵌入CSS样式超详解(尊享)

一、行内样式&#xff08;Inline CSS&#xff09; 1. 定义与语法 行内样式是直接在HTML标签中使用style属性来定义样式。这种方式只对当前标签生效。 <tagname style"css 样式">2. 示例 <p style"color: red; font-size: 14px;">这是一个红…...