Python入门0基础学习笔记

1.编程之前

在编写代码之前,还有两件事需要做:

  1. 安装 Python 解释器:计算机是没法直接读懂 Python 代码的,需要一个解释器作为中间的翻译,把代码转换成字节码之后再执行。

    Python 是翻译一行执行一行。一般说的安装 Python 本质上就是安装 Python 的解释器。
  2. 安装代码编辑器:就像写文本、表格、PPT 等用 WPSOffice、MSOffice 等一样。这里用 pycharm.

2.在 Windows 上安装 Python 和 pycharm

Python的安装

  • 下载Python

  •  安装Python

下载完后打开安装包

注意最底下的"Add Python 3.8 to Path"(将Python加入环境变量)一定要勾选!!!这样就可以免去之后环境配置的烦恼。

①第一个框指的是默认安装,也就是一切都按默认的来,点击Install Now之后程序就会开始安装,并且安装路径为C盘(可以在Install Now下面一行看到安装路径),不需要进行选择,但是不推荐。

②第二个框指的是自定义安装,建议选择,毕竟可以更改路径嘛。

(1)点击Customize Installation之后,来到这个界面,这里默认全选,直接点next即可。

(2)在这一步,要注意的是要勾选上第一个框Install for all users,勾选上之后第五个框也会跟着自动选中。然后我们可以更改一下安装路径,我选择了E盘的Python3.12.1文件夹,可以根据自己的习惯进行选择。

(3)点击Install之后,等待安装完成即可

(4)安装完成,点击close关闭即可,安装结束 

3、验证安装是否成功

(1)打开cmd(Win+R呼出运行,并输入cmd,回车打开cmd,或者在桌面空白处右键选择“在此处打开命令窗口”)

(2)输入python或python -V以及pip -V(注意有个空格,且V大写),看到如下图信息,即代表安装成功,并且环境变量添加成功。如果提示’python’不是内部或外部命令,也不是可运行程序或批处理文件,说明你的环境变量没有自动配置,需要手动进行配置。

这两种方法都可以测试是否安装成功

Python的卸载

卸载其实很简单,再次运行刚才的安装程序(“python-3.12.1-amd64.exe”),会发现界面跟之前不同了

直接选择第三个,Uninstall即可卸载

卸载完成之后就如图所示,这样Python就彻底删除完成啦!

pycharm的安装

在浏览器搜索“pycharm官网”:

进去之后,点击右上角的“DOWMLOAD”:

下载即可!

 下载完打开

1. 点击下一步

2. 自定义安装目录、下一步

3. 在这里,直接全部勾选就行

4. 点击安装即可

5. 安装完成

6. 打开并激活后如图:

3.pycharm设置

设置中文

点击restartIDE

4.创建第一个Python项目

创建项目

点击新建项目

设置创建项目的名称和位置

创建好了项目如下:

 pycharm创建了一个venv文件夹,表示这个项目独立的虚拟环境,让不同的项目可以用不同的解释器版本还有安装的第三方库等等(这个文件夹不要动、不要删、也不要往里面塞东西)

编写文件

 5.输出helloworld

创建好第一个Python项目后,在Python文件中,开始编写代码

Python中,想要输出打印什么内容,直接print()即可,Python不区分大小写。

但是,因为代码中的字符串或字符是用英文引号来包含的,如果一堆英文双引号(英文单引号)里面还包含了其他的英文双引号(英文单引号),语法会错误,解释器会认为是字符串里面有一个字符串。

这时候可以用转义字符来解决。或者用中文的引号代替也可以。

6.四种基本操作

  • 字符串连接
    • 多个字符串之间需要用+进行连接
    • print("我是一"+'个中国'+"人"+'!')  # 我是一个中国人!
  • 单双引号转义
    • 代码中的字符串或字符是用英文引号来包含的,如果一堆英文双引号(英文单引号)里面还包含了其他的英文双引号(英文单引号),语法会错误
    • 外双内单、外单内双都不会报错,外单内单、外双内双都会报错
    • 可以使用转义字符来进行解决
    • print("he said:\"hello\"")  # he said:"hello"
  • 换行
    • Python中,不能随便换行,因为Python解释器读一行解释一行
    • python中,使用换行转义字符\n进行换行
    • print("我是一个\n中国人!") 
  • 三引号换行字符串

如果用以上方法打印一首诗,会很麻烦,可以使用三引号(三个单引号或双引号)

print('''静夜思
唐·李白
床前明月光
疑是地上霜
举头望明月
低头思故乡''')

7.变量

使用

 在Python中,变量的定义和赋值是同时进行的。你不需要预先声明变量的类型,只需要直接为其分配一个值即可。Python会自动推断变量的类型。

例如:

x = 5  # x 现在是一个整数  
y = "Hello"  # y 现在是一个字符串  
z = 3.14  # z 现在是一个浮点数

使用:

命名规范

Python变量命名规则如下:

  1. 变量名只能包含字母、数字和下划线。不能包含其他特殊字符,如空格、连字符或其他标点符号。
  2. 变量名必须以字母(大写或小写)或下划线开头。数字不能作为变量名的开头字符。
  3. 变量名对大小写敏感。例如,变量名myVariable和myvariable被视为两个不同的变量。
  4. 变量名要有意义,不要用汉字和拼音去命名。
  5. 推荐使用驼峰型(GuessAge或guessAge)和下划线(guess_age)来命名。
  6. 常量通常使用大写来定义。
  7. 不能以Python中的关键字命名。
  8. 变量命名不能使用关键字

关键字平时常见常记,不需要特别去背

8.导入函数库

Python中的基本数学运算和大多数编程语言以及数学中的运算规则一样。

另外,Python和大多数编程语言一样可以运算sin()、cos()、tan()、平方、立方、根号……

这些特殊运算需要使用函数库里的函数(库函数)。

Python中的函数分为内置函数和非内置函数。printf()就是一个函数,它太常用了,所以Python默认导入了,就是内置函数。非内置函数则需要导入函数库才能使用(相当于Java中的导包)。

# 案例:使用math函数进行数学运算
import math
a=math.sin(12)
print('sin(12)=',a)
b=math.log(123)
print('log(123)=',b)

导入其他函数库类似于这个math,其他的可以用到的时候再进行积累

9.注释

在Python中,注释是用于为代码添加说明或暂时禁用某些代码行的机制。注释对于阅读代码的人来说是非常有用的,可以帮助理解代码的意图和功能。

在Python中有两种类型的注释:单行注释和多行注释。

1. 单行注释:使用井号(#)开头。从#开始直到该行结束的部分都被视为注释。例如:

# 这是一个单行注释  
print("Hello, World!")  # 这也是一个单行注释
2. 多行注释:也称为块注释,通常用于临时禁用一段代码或为代码块提供更多详细的说明。多行注释以三个单引号或三个双引号开头和结尾。例如:
'''  
这是一个多行注释块。  
你可以在这里写下多行文字来解释代码的功能或意图。  
'''
"""  
这也是一个多行注释块。  
你可以使用三个双引号来创建多行注释。  
"""
使用注释是一种很好的编程习惯,它可以帮助你和其他人更好地理解代码的功能和工作方式。在编写代码时,适当地添加注释可以帮助提高代码的可读性和可维护性。

10.数据类型

字符串

  • 被引号包裹
  • 使用len()函数得到字符串的长度
  • "hello"[3]提取字符串中第4个字符

整型和浮点型

在Python中,浮点数类型是使用float表示的,而不是double。Python中的浮点数默认使用双精度格式,这意味着它们具有较高的精度和范围。

如果你需要声明一个单精度浮点数,可以在数字后面添加字母f

single_precision_num = 1.23456789f

布尔类型

空值类型

11.Python的两种模式

Python有两种模式,命令行模式和交互模式

  • 命令行模式:之前使用的都是命令行模式,也就是写好命令后,保存并运行整个文件,Python解释器会对文件一行一行的进行解析和执行
  • 交互模式:可以不读完整个文件,而是输入完一行就执行一行,并立刻显示该行执行结果出来

如何使用交互模式

当系统中安装后Python后,打开命令提示符,输入python并回车

即可输入一行执行一行

12.键盘录入input()

input()函数的括号里可以写东西也可以不写。

input接收键盘录的数据并返回,但是,input()返回的都是字符串,即使你输入的事数字,返回的也是字符串,因此就需要用到类型转换

13.类型转换

int()可以将其他类型转换为整数类型

float()…………………………浮点数

str()……………………………字符串

等等

14.逻辑语句

if

age = int(input("Enter your age: "))
if 0 < age < 18:
    print("你未成年")
    print("因为你还不到18岁")
elif 18 < age < 65:
    print("你是中年人")
else:
    print("你是老年人")

if嵌套

age = int(input("Enter your age: "))
if 0 < age < 18:
    print("你未成年")
    if age < 10:
        print("你太小了,还不到十岁")
elif 18 < age < 65:
    if age > 35:
        print("你都过了三十五了,结婚了吗")
    print("你是中年人")
else:
    if age>100:
        print("祝你身体健康")
    print("你是老年人")

逻辑运算符and/or/not

  •  and相当于&&而不是&
  • or相当于||而不是|
  • not相当于!

for

示例:for循环,从1循环到5打印输出

for i in range(1, 6):  
    print(i)

 range用法

range() 是 Python 中内置的一个函数,用于生成一个整数序列。这个函数在很多场合都非常有用,特别是在需要循环遍历一系列数字时。以下是 range() 函数的详细用法说明:

基础用法

当你只需要生成一个从 0 开始的序列时,可以只传递一个参数给 range(),这个参数表示序列的结束值

for i in range(5):  
    print(i)

 步长参数

第三个参数表示序列中每个数字之间的步长。例如,range(1, 6, 2) 会生成从 1 到 5 的奇数序列。

for i in range(1, 6, 2):  # 等价于 range(1, 6, 2)  
    print(i)

 输出:

1 3 5

负数步长参数

如果步长参数是负数,则序列将从结束值开始递减到第一个值。例如,range(5, 0, -1) 会生成从 5 到 1 的递减序列。

for i in range(5, 0, -1):  # 等价于 range(5, -1, -1) 和 range(5, -1, -1) 的结果相同,因为结束值小于开始值。但不建议使用这种用法,因为它可能导致混淆。在实践中,应始终确保结束值大于或等于开始值。  
    print(i)
  •  range() 函数返回的是一个“迭代器”,这意味着它不会一次性计算整个序列,而是每次只返回一个数字,直到序列结束。这使得它在处理大量数据时更加高效。
  • range() 函数也可以与 len() 函数结合使用,以在指定次数内重复执行某个操作。例如,for i in range(len(some_list)): 可以遍历列表的索引。

while

语法

while condition:  
    # code block to be executed

 示例

i = 0  
while i < 5:  
    print(i)  
    i += 1

15.列表

Python列表是一种可变的数据类型,可以存储多个值,并且可以随时修改和更新。下面我们将从定义、创建、使用、修改和查询等方面详细讲解Python列表。

尽管Python中的列表和Java中的集合在实现方式和功能上存在一些差异,但它们的用法确实非常相似。在Python中,列表是一种可变序列类型,可以包含不同类型的元素,并且可以随时修改和更新。在Java中,集合是一个接口,它提供了多种实现方式,包括List、Set和Queue等。

无论是Python中的列表还是Java中的集合,它们都提供了类似的操作,如添加、删除和查找元素等。因此,在用法上,Python的列表和Java的集合非常相似。

当然,由于Python和Java是两种不同的编程语言,它们的语法和规范也存在一定的差异。因此,在使用Python的列表和Java的集合时,需要注意它们之间的差异,以便更好地理解和使用它们。

list1 = [1, 'hello', "我是人", True]
print(list1)  # [1, 'hello', '我是人', True]
list1.append(123)  # 添加一个整数123
print(list1)  # [1, 'hello', '我是人', True, 123]
list1.remove('我是人')  # 删除字符串‘我是人’
print(list1)  # [1, 'hello', True, 123]

# 在索引为1的位置插入2
list1.insert(1, 2)
print(list1)  # [1, 2, 'hello', True, 123]

这里只是示例了一部分,其他用法需要在实际应用中进行积累

16.字典

字典相当于JAVA中的map集合

字典是有键值对的数据结构,一个键对应一个值,键是用来查找值的。

# 在字典里放置键值对
contact = {"小明": "123",
           "小花": "1232",
           "小黄": "12345"}
# 获取某个键的值
print(contact["小明"])  # 123
'''
需要注意的是,键的类型是不可变的
列表是可变的,整数、布尔、浮点数是不可变的
Python中有不可变但又很像列表的数据结构:元组tuple

'''

# 判断某个键的值是否存在:
print("小明" in contact)  # True
# 删除一个字典的键值对
del contact["小花"]
# 打印字典
print(contact)

# 查看字典中有多少个键值对
print(len(contact))

 这里只是示例了一部分,其他用法需要在实际应用中进行积累

 

17.格式化字符串

Python的格式化字符串是一种非常方便的方法,用于在字符串中插入变量和表达式。以下是Python格式化字符串的一些基本概念和示例。

  1. 字符串格式化操作符(%):
    这是Python中最古老的字符串格式化方法。使用%操作符将值插入字符串中。

示例:

name = "Alice"  
age = 30  
print("My name is %s and I'm %d years old." % (name, age))

输出:

My name is Alice and I'm 30 years old.

  1. str.format()方法:
    这是Python 2.6及以后版本中引入的另一种字符串格式化方法。使用str.format()方法,可以在字符串中插入变量和表达式。
name = "Bob"  
age = 25  
print("My name is {} and I'm {} years old.".format(name, age))

输出

My name is Bob and I'm 25 years old.

  1. f-string(Python 3.6及更高版本):
    从Python 3.6开始,可以使用f-string进行字符串格式化。在字符串前加上字母"f",然后在字符串中直接使用大括号{}来插入变量和表达式。
name = "Charlie"  
age = 40  
print(f"My name is {name} and I'm {age} years old.")

My name is Charlie and I'm 40 years old.

18.函数

Python函数的定义、声明、使用和调用是编程中非常重要的概念。下面我将详细讲解这些概念,并配合代码示例进行说明。

  1. 函数的定义:
    在Python中,函数的定义使用def关键字,后面跟着函数名和参数列表,然后是冒号(:)和缩进块。

示例:

def greet(name):  
    print(f"Hello, {name}!")

这个函数定义了一个名为greet的函数,它接受一个参数name,然后打印出一个问候语。
2. 函数的声明:
在Python中,函数的声明就是函数的定义。当你定义一个函数时,你已经声明了它的存在。函数一旦被定义,就可以被调用。
3. 函数的使用(调用):
要使用(调用)一个函数,只需要在函数名后面加上括号,并根据需要传递参数。

示例:

greet("Alice")  # 输出: Hello, Alice!

在这个例子中,我们调用了greet函数,并传递了字符串"Alice"作为参数。函数接收到参数后,会执行定义的代码块,打印出问候语。
4. 可选参数:
你可以在函数的参数列表中指定可选参数,以便在调用函数时为其提供默认值。

示例:

def greet(name, greeting="Hello"):  
    print(f"{greeting}, {name}!")

这个版本的greet函数接受两个参数:namegreeting。如果调用函数时没有提供greeting参数的值,那么它的默认值将是"Hello"
5. 关键字参数:
当调用函数时,可以使用关键字参数来指定参数的值。关键字参数允许你明确指定每个参数的名称和值。

示例:

greet(greeting="Hi", name="Bob")  # 输出: Hi, Bob!

在这个例子中,我们调用了greet函数,并使用了关键字参数来指定greetingname的值。
6. 默认参数值:
在函数定义中,可以为参数指定默认值。这样,在调用函数时可以不提供该参数的值,此时将使用默认值。

示例:

def greet(name, greeting="Hello"):  
    print(f"{greeting}, {name}!")

在这个例子中,greeting参数有一个默认值"Hello"。因此,在调用函数时可以不提供greeting参数的值。例如:greet("Alice")将输出:Hello, Alice!,因为默认的greeting值被使用。
7. 可变数量的位置参数:
可以使用三个点(...)来表示可变数量的位置参数。这些参数允许你传递任意数量的位置参数给函数。这些参数在函数内部被收集到一个元组中。
8. 可变数量的关键字参数:
使用两个星号(**)来表示可变数量的关键字参数。这些参数允许你传递任意数量的关键字参数给函数。这些参数在函数内部被收集到一个字典中

19.创建类

# 创建一个类
class Cat:
    def __init__(self):  # 无参构造方法,self是必须要有的,是对自身的调用,相当于JAVA中的this
        self.name = '黑猫'


# ------------------------------
# 使用一个类
cat1 = Cat()
print(cat1.name)  # 黑猫


# 创建一个类并使用
class Dog:
    def __init__(self, dagName):
        self.dagName = dagName


# 使用一个类
dog1 = Dog("白狗")
print(dog1.dagName)  # 白狗


# 定义方法
class Person:
    def __init__(self, pName, pAge):
        self.pName = pName
        self.pAge = pAge

    def eat(self):
        print("人吃饭了")


# 调用
p1 = Person("小明", 12)
print(p1.pName)  # 小明
print(p1.pAge)  # 12
p1.eat()  # 人吃饭了

20.继承

21.对文件进行操作

不写r或w默认为只读模式

当第一次对文件读取完之后,程序会停留在文末

如果再进行读取,会返回一个空字符串,因为此时程序已经读到了文末

  • 在文件很大的情况下,尽量不要用read(),引文读取的文件会占用内存甚至将内存给爆掉

关闭文件

22.异常处理

# 其他

代码后面分号的使用

 在Python中,每行代码后面通常不需要分号。分号在Python中主要用于在一行中分隔多个语句。如果一行中只有一条语句,那么通常不需要分号。

例如,以下是一些Python代码示例,其中每条语句后面都没有分号:

x = 5  
y = 10  
z = x + y  
print(z)

然而,如果需要在同一行中编写多个语句,可以使用分号将它们分隔开。例如:

x = 5; y = 10; z = x + y; print(z)

b的某某次方的表示

b的平方(b的2次方):

  • b*b
  • b**2

b的立方:

  • b*b*b
  • b**3

根号b:

  • 库函数
  • b**(1/2)
  • b**0.5

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【解决】Unity Project 面板资源显示丢失的异常问题处理

开发平台&#xff1a;Unity 2021.3.7f1c1   一、问题描述 在开发过程中&#xff0c;遭遇 Project 面板资源显示丢失、不全的问题。但 Unity Console 并未发出错误提示。   二、解决方案&#xff1a;删除 Library 目录 前往 “工程目录/Library” 删除内部所有文件并重打开该…

IntelliJ IDEA 如何编译 Maven 工程项目

在当今的Java开发领域&#xff0c;Maven已经成为项目构建和依赖管理的标准工具。IntelliJ IDEA作为一款集成度高的Java开发环境&#xff0c;提供了许多强大的功能来简化和优化Maven项目的构建流程。本文将深入介绍如何使用IntelliJ IDEA编译Maven工程的详细步骤以及一些高级技巧…

用java搞定时任务,将hashmap里面的值存到文件里面去

要实现这个功能&#xff0c;你可以使用Java的Timer和TimerTask类来创建一个定时任务。 首先&#xff0c;你需要创建一个继承自TimerTask的类&#xff0c;重写run方法&#xff0c;将HashMap中的内容写入文本文件。 然后&#xff0c;使用Timer类的schedule方法来设置定时任务的执…

记忆泊车PNC模块架构设计说明书

目 录 0 修订历史......... 2 1. 概要 ............... 5 1.1. 目的 ............... 5 1.2. 参考文档 ......... 5 2. 名词解释 ...... 5 3. 需求概述 ............. 6 3.1. 业务视图 .............. 6 3.2. 功能描述 ............... 6 3.3. 性能指标 ............ 6 3.4. 资…

【软件安全:软件安全技术课后习题及答案】

第一章 1-1 零日漏洞、零日攻击 零日漏洞是指未被公开披露的软件漏洞&#xff0c;没有给软件的作者或厂商以时间去为漏洞打补丁或是给出建议解决方案&#xff0c;从而攻击者能够利用这种漏洞破坏计算机程序、数据及设备。 利用零日漏洞开发攻击工具进行的攻击称为零日攻击。 1-…

Ubuntu server搭建dhcp服务器

安装 直接使用一下命令进行安装 apt-get install isc-dhcp-server 以下就是安装好的图片 然后进入dhcp目录 cd /etc/dhcp 进入后用ls查看当前目录存在哪些文件 使用如下进入dhcp.conf vim dhcpd.conf 红&#xff1a;设置ip域和子网掩码 绿&#xff1a;设置ip池范围 黄…

爬虫利器一览

前言 爬虫&#xff08;英文&#xff1a;spider&#xff09;&#xff0c;可以理解为简单的机器人&#xff0c;如此一个“不为名利而活&#xff0c;只为数据而生&#xff0c;目标单纯&#xff0c;能量充沛&#xff0c;不怕日晒雨淋&#xff0c;不惧寒冬酷暑”的家伙&#xff0c;…

【深度学习】Anaconda3 + PyCharm 的环境配置 1:手把手带你安装 PyTorch 并创建 PyCharm 项目

前言 文章性质&#xff1a;实操记录 &#x1f4bb; 主要内容&#xff1a;这篇文章记录了 PyTorch 的安装过程&#xff0c;包括&#xff1a; 1. 创建并激活新的虚拟环境&#xff1b; 2. 查看电脑是否支持 CUDA 以及 CUDA 的版本&#xff1b; 3. 根据 CUDA 的版本安装 PyTorch&am…

归并排序例题——逆序对的数量

做道简单一点的题巩固一下 归并排序实现步骤 将整个区间 [l, r] 划分为 [l, mid] 和 [mid1, r]。 递归排序 [l, mid] 和 [mid1, r]。 将左右两个有序序列合并为一个有序序列。 题目描述 给定一个长度为 n 的整数数列&#xff0c;请计算数列中的逆序对的数量。 逆序对的定义…

简单的推箱子游戏实战

目录 项目分析 地图初始化 背景图片 游戏场景图片: 热键控制 按键设置 确定人物位置 实现人物移动(非箱子,目的地) 推箱子控制 游戏结束 最终代码 合法性判断: 项目分析 墙:0,地板:1,箱子目的地:2,小人:3,箱子:4,箱子命中目标:5 地图初始化 背景图片 #include <…

煤炭行业电力能源消耗监测管理系统的作用有哪些?

如果说&#xff0c;通风是煤炭的呼吸系统&#xff0c;那么供电就是煤矿的神经系统。安全供电对安全生产有着重要的意义。一旦供电系统出现故障或停电&#xff0c;煤矿的生产活动将无法正常进行&#xff0c;这将产生严重的经济损失甚至危及工人的生命安全。 为了提高煤矿供电系统…

机器视觉检测设备在连接器外观缺陷检测中的应用

作为传输电流或信号连接两个有源器件的器件&#xff0c;连接器被广泛应用于各个行业&#xff0c;从手机、平板、电脑&#xff0c;到冰箱、空调、洗衣机&#xff0c;再到汽车、国防、航空&#xff0c;处处是它的所在。每个电子产品少了连接器将无法运作&#xff0c;因此&#xf…

在Docker上配置TensorFlow

在Docker上配置TensorFlow 配置WSL 参考教程&#xff1a;https://blog.csdn.net/m0_63969219/article/details/124632640 在上述教程配置的过程中&#xff0c;可能很难在微软商店下到ubuntu&#xff0c;下面给出另外一种解决方案&#xff1a; 接着上面教程 wsl --set-defaul…

【控制篇 / 策略】(7.4) ❀ 04. 修改IP地理位置数据库 ❀ FortiGate 防火墙

【简介】虽然通过FortiGuard服务可以更新IP地理位置数据库&#xff0c;但是实际使用环境中&#xff0c;总会有部分IP地址不符合我们的愿景&#xff0c;这种情况下&#xff0c;可以通过修改IP地理位置数据库来达到我们的目标。 更新IP地理位置数据库 更新IP地理位置数据库是Fort…

蓝桥杯练习题(四)

&#x1f4d1;前言 本文主要是【算法】——蓝桥杯练习题&#xff08;四&#xff09;的文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是听风与他&#x1f947; ☁️博客首页&#xff1a;CSDN主页听风与他 …

算法34:贴纸拼词(力扣691题)

题目&#xff1a; 我们有 n 种不同的贴纸。每个贴纸上都有一个小写的英文单词。 您想要拼写出给定的字符串 target &#xff0c;方法是从收集的贴纸中切割单个字母并重新排列它们。如果你愿意&#xff0c;你可以多次使用每个贴纸&#xff0c;每个贴纸的数量是无限的。 返回你…

ansible从入门到精通(完整篇)

文章目录 01 Ansible介绍与安装1. 介绍 Ansible1.1 什么是 Ansible?1.2 Ansible 无需代理1.3 Ansible 方式 2. 安装 Ansible2.1 控制节点2.2 受管主机2.3 基于Windows的受管主机2.4 受管网络设备2.5 安装Ansible 02 部署Ansible1. 构建Ansible清单1.1 定义清单1.2 使用静态清单…

人脸识别(Java实现的)

虹软人脸识别&#xff1a; 虹软人脸识别的地址&#xff1a;虹软视觉开放平台—以免费人脸识别技术为核心的人脸识别算法开放平台 依赖包&#xff1a; 依赖包是从虹软开发平台下载的 在项目中引入这个依赖包 pom.xml <!-- 人脸识别 --><dependency><gr…

Find My游戏手柄|苹果Find My技术与手柄结合,智能防丢,全球定位

游戏手柄是一种常见电子游戏机的部件&#xff0c;通过操纵其按钮等&#xff0c;实现对游戏虚拟角色的控制。随着游戏设备硬件的升级换代&#xff0c;现代游戏手柄又增加了&#xff1a;类比摇杆&#xff08;方向及视角&#xff09;&#xff0c;扳机键以及HOME菜单键等。现在的游…

Find My资讯|AirTag 2或推迟上市,Find My功能十分强大

苹果于 2021 年4月推出了初代 AirTag。苹果已将第二代 AirTag 的推出推迟到 2025 年&#xff0c;目前苹果官方并不急于推出AirTag 2的原因还有AirTag所搭载的搜寻定位功能非常的强大&#xff0c;在市场上几乎没有任何竞争对手可言。 AirTag使用蓝牙和苹果设备的“查找我的”网…