学习测试10-1自动化 python基础

news2024/9/19 18:38:35
下载python 要配置环境变量
进入Python的官方下载页面
http://www.python.org/download/
安装PyCharm工具,网上可以下载,很多资源,也有免安装的版本,在网上找激活码

链接: https://pan.baidu.com/s/1Y6S_n3KbnjOdE9EDZ5nixw?pwd=d2m7 提取码: d2m7
复制这段内容后打开百度网盘手机App,操作更方便哦

PyCharm中文插件

在这里插入图片描述

一、基础语法

1、注释

Python中单行注释以 # 开头
多行注释可以用多个 # 号,还有 ‘’’ ‘’’

2、行与缩进

python最具特色的就是使用缩进来表示代码块,不需要使用大括号 {} 。
缩进的空格数是可变的,但是同一个代码块的语句必须包含相同的缩进空格数。

3、变量

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。
等号(=)运算符左边是一个变量名
等号(=)运算符右边是存储在变量中的值

二、基本数据类型

Python 中有5个标准数据类型:String(字符串)、Number(数字)、List容器、Bool(布尔)、None(空值)

容器又可分为List(列表)、Tuple(元组)、Set(集合)、Dictionary(字典)四种。

其中String(字符串)、Number(数字)、Tuple(元组)、Bool(布尔)、None(空值)为不可变数据;List(列表)、Dictionary(字典)、Set(集合)为可变数据。

type(str) 可以查看数据类型

(一)、字符串(String)

字符串就是表示一串字符,字符可以是中文,英文或者数字,或者混合的文本。
Python中的字符串用英文状态下的单引号 ’或双引号 " 括起来。

1、用+连接字符串
在这里插入图片描述

2、用%格式化字符串,基本用法是将值插入到%s占位符的字符串中。%s,表示格式化一个对象为字符。
在这里插入图片描述

(二)数字(Number)

数字类型分为整数型和浮点型

整型:像11、60这种整数

浮点型:像3.14、2.50这种带小数的

# 逻辑运算符
x = 10
y = 2
print(x * y, x + y, x - y, x / y, x % y)

在这里插入图片描述


数据强制转换

在这里插入图片描述


索引、下标

在这里插入图片描述

切片

在这里插入图片描述

print(str1[:])    # 取所有的
print(str1[3:])    # 可以单个省略,从第三个开始取
print(str1[-3:6])    # 可以左右同时取
步长

在这里插入图片描述

str1='容器是用来存放数据的,是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取'
print(str1[0:15:1])  # 一步一取
print(str1[0:20:2])  # 两步一取
print(str1[20:0:-2])  # 倒着两步一取
print(str1[20::-2])  # 倒着两步一取

在这里插入图片描述
练习

# 定义变量passage,赋值为字符串,内容如下: '123Process finished with exit& code 0%'
passage='123Process finished with exit& code 0%'
# 1)倒着输出打印该字符串
print(passage[::-1])
# 2)截取'ss finished w’
print(passage[8:21])
# 3)截取字符串的'exit'(使用正序和倒序两种)
print(passage[25:29])
print(passage[-13:-9:])
# 5)截取后7位
print(passage[-7::])
# 6)截取第4位到第12位
print(passage[3:11:])
print(passage[-35:-28:])

字符串方法
1 index
str1='字符串就是表示一串字符,字符可以是中文,英文或者数字,或者混合的文本'
print(str1.index('中文'))  # 到中字
print(str1.index('文'))  # 到第一个文字
print(str1.index('文', 20, 30))  # 从20开始取,30结束,取第一个‘文’字

在这里插入图片描述

2 count

在这里插入图片描述

3 大小写转换
str2 = 'd hjkjcdfu ciDGHSKd cJdfs gjcHUIH'
print(str2.lower())  # 变小写
print(str2.upper())   # 变大写
print(str2.swapcase())  # 大小写互换
print(str2.title())  # 首字母大写

在这里插入图片描述

4 切分字符 split
str3 = 'my name is username , you are ok?'

print(str3.split())  # 默认空格切割
print(str3.split('m'))  # 以m切割 m不显示
print(str3.split('m',1))  # 以m割  , 指定次数只切一次

在这里插入图片描述

5 判断是否是纯数字组成
str5 = 'my name is 1234'
str6 = '1234'
print(str5.isdigit())  
print(str6.isdigit())

在这里插入图片描述

6 统计字符串长度的函数 len(str)

在这里插入图片描述

7 运算符 in not in

在这里插入图片描述

8 字符串强制转换
a = 29.0
print(type(a))
str8 = str(a)
print(type(str8))

在这里插入图片描述

9 字符串格式化输出
name1 = '有钱'
name2 = '辛苦'
print('我们%s,但是%s' %(name1, name2))   # 字符串拼接,占位符 老方法

name1 = '有钱'
name2 = '辛苦'
print(f'我们{name1},但是{name2}')   # 格式化输出

在这里插入图片描述


(三)容器(List)

容器是用来存放数据的,是一种把多个元素组织在一起的数据结构,容器中的元素可以逐个地迭代获取,可以用in, not in关键字判断元素是否包含在容器中。容器是一种可以包含其他类型对象(如列表、元组、字典等)作为元素的对象

以下面的病例数据为例,来看容器的各项操作:

列表(list)

列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

列表是写在方括号[]之间、用逗号分隔开的元素列表。具体操作如下:

lis = [1, 1.23, "apple", [1, 2, '上海', [8, 9, "apple", "orange"]], (1, 2), {'x': 'y', 'z': 1}]
print(lis[4][1])   # 取 2

lis[1] = 7.21
print(lis)  # 修改单个列表值

lis[:2:] = '改了值'
print(lis)  # 修改多个列表值,会被拆分
lis[:2] = ['改了值']   # 修改多个列表值,以列表[]的方式就是一个整体
print(lis)  
lis[:3] = ['改了值', 'www']      # 修改多个列表值,以列表的方式就是一个整体
print(lis)

在这里插入图片描述

print(lis[::-2])
lis[::-2] = ['改了值',23456,'ddddd']
print(lis)  # 按 步长 切的话,需要替换全部切下来的元素,数量得相同

在这里插入图片描述

列表常用方法
增加元素
list1 = [123, 'dsdsff', 'dssfeewwrwr', 8.94]
list1.append('eeeee')  # 末尾追加元素
print(list1)

list1.insert(2,'eeeee')
print(list1)  # 按索引加元素

list2 = [1,4,2.3,'rrrr']
list1.extend(list2)   # 添加列表	
print(list1)

在这里插入图片描述


删除元素
list1 = [123, 'dsdsff', 'dssfeewwrwr', 8.94,7,1067]
list1.pop(-2)    # 按索引删
print(list1)

list1.remove(123)
print(list1)      # 按内容删

del list1[2]     # 按索引删
print(list1) 

在这里插入图片描述

元素方法
list1 = [123, 'dsdsff', 'dssfeewwrwr', 8.94, 7, 1067, 'dsdsff']
print(list1.count('d'))  # 不完整元素无用
print(list1.count('dsdsff'))  # 对元素统计出现次数	

print(list1.index('dsdsff', 2))  # 按内容查索引,可以添加次数

list1.reverse()  # 反转列表
print(list1)

list1.clear()   # 请空
print(list1)

在这里插入图片描述

排序
list1 = [1, 45, 7.3, 694, 909, 12.7]

list1.sort()  # 永久排序
print(list1)

print(sorted(list1))   # 临时排序
print(list1)  # 列表本质顺序没变	

在这里插入图片描述

函数
print(len(list1))
print(max(list1))

print(min(list1))
print(sum(list1))

在这里插入图片描述

list强制转换列表在这里插入图片描述

2、元祖(Tuple)

元组的元素不能修改。元组写在小括号()里,元素之间用逗号隔开。

元组是不可变类型,不支持增删改,只能查询

元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用:

在这里插入图片描述

常用方法和函数与列表一样
增
变量.append(元素)  在列表中追加元素
变量.insert(索引,元素) 在指定的位置添加元素
变量.extend(列表)  在列表中追加一个列表

删除
变量.pop(索引)   通过指定索引删除,如果没有指定索引,默认删除最后一个
变量.remove(元素) 删除指定元素
del  变量[索引]   变量[切片]  变量[步长]


变量.count(元素) 元素出现的次数
变量.index(元素,起始位,截止位) 元素的索引
变量.clear()    清空列表
变量.reverse()  翻转列表  [::-1]

排序
变量.sort()     永久排序
sorted(变量)    临时排序

常用函数
len(变量)    统计元素长度
sum(变量)     求和
max(变量)      求最大值
min(变量)      求最小值

3、字典(Dictionary)

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值 key=>value 对用冒号:分割,每个对之间用逗号(,)分割,整个字典包括在花括号 { } 中 ,键必须是唯一的,但值则不必。值可以取任何数据类型,但键必须是不可变的,不能重复的,如字符串,数字。

增删改方法
a = {'name': 'user', 'age': 22, 'addr': '苏州'}

a['name'] = 'long'    # 修改键的值
print(a)

a['ph'] = 16587392789  # 加的键没有的话,默认增加一个键值对
print(a)

del a['ph']     # 删除
a.pop('addr')    # 删除
print(a)

在这里插入图片描述

常用方法
dic1 = {'name': 'user', 'age': 22, 'addr': '苏州'}

k=dic1.keys()    # 返回所有的键
print(k)

v=dic1.values() # 返回所有的值
print(v)

i = dic1.items()    # 返回键值对
print(i)

在这里插入图片描述

4、集合(Set)

集合(set)是一个无序的不重复元素序列。
可以使用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用set() 而不是 { } ,因为 { } 是用来创建一个空字典。

集合的修改元素,需要将要修改的元素删除然后再增加新元素

se = {'name','user','age',22,'addr','苏州'}   # 集合
se1 = set()   # 空集合
se2 = {1,4,6,1,7,343,4}   # 集合元素不能重复,重复不显示
print(se2)

在这里插入图片描述

增删改等方法
se = {'name', 'user', 'age', 22, 'addr', '苏州'}

se.add('phone')   # 增加元素
print(se)

se.pop()  # 随机删除
print(se)

se.remove(22)   # 指定元素删除
print(se)

se.discard('name')    # 错误保护机制   删除不存在的元素不报错
print(se)

se.clear()   # 清空
print(se)

在这里插入图片描述

运算符
a = {'name', 'user', 'age', 22, 18, 40}
b = {27, 22, 45}
print(a - b)  # 去除相同的值

print(a | b)  # 合并 去除重复

print(a & b)  # 返回两个集合里相同的值

print(a ^ b)  # 返回两个集合里不同的值


# 综合练习
list_test = [{'t1': [1, 2, 3], 't2': ('good', 'python')}, [233, True, ('java', 'fast')], 'apache']
# 1)往t1的值中追加一个数字4
list_test[0]['t1'].append(4)
print(list_test)
# 2)取出t2中的python,赋值给变量txt_01
txt_01 = list_test[0]['t2'][1]
print(txt_01)
# 3)定义一个变量num_02 = 2
num_02 = 2
# 格式化输出  I like python,今天是学习python的第2天
print(f'I like python,今天是学习python的第{num_02}天')
# 4)取出java中的ava
a = list_test[1]
b = a[2][0]
print(b[1::])
# 5)在233所在的列表中第2位插入一个元素  'China'
list_test[1].insert(1, 'china')
print(list_test)
# 6)修改True的值为字典中't1'对应的值
t1 = list_test[0]['t1']
list_test[1][2] = t1
print(list_test)
(四)、布尔类型

布尔值只有两个:True 和 False

布尔值加上比较运算符,与两边的数据一起构成了布尔表达式,返回布尔值。所谓布尔表达式,其实就是条件测试的别名。

注:比较运算符

等于 == 大于等于>=

小于等于<= 不等于 !=

大于 > 小于 <
(五)、空值None

与SQL中null是一个意思,表示该值是一个空对象。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。可以将None赋值给任何变量,也可以给None值变量赋值。


四、条件判断

Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。
Python 中用elif代替了else if,所以if语句的关键字为:if – elif – else。一般形式如下所示:

注意:

1、每个条件后面要使用冒号:,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

常见的边界条件分为两种

1.值比较:即>(大于),<(小于),>=(大于等于),<=(小于等于),!=(不等于),==(等于)
2.逻辑比较:and(并且),or(或者),not(不是)
3、多条件判断:当有多个条件时,如何根据条件进行判断
a = input('请输入成绩:')
print(type(a))    # 类型是str

a = int(input('请输入成绩:'))   # 强制转换类型为int
print(a)
if a > 60:
    print("及格")
else:
    print('下次努力')

# ---------------------------------------
t = input('请输入天气:')
if t == '晴天':
    print("去夏游")
else:
    if t == '阴天':
        print('去图书馆')
    else:
        if t == '雨天':
            print('睡觉')
        else:
            print('输入的不正确')
逻辑运算符 and or not

# 4、身份证有效性校验
# if 语句判断练习:
# 1、提示用户输入身份证号
# 2、判断用户输入的身份证长度是不是18位,前17位是数字
# 最后一位可以是字母x和X或者数字
# ---如果不是,提示"输入错误"
# ---如果是,读取身份证里的出生年月日,并赋给birthday这个变量
card = input('请输入你的身份证号,18位:')

if len(card) == 18 and card[:17].isdigit():
    # if card[-1::] == 'X' or card[-1::] == 'x' or card[-1::].isdigit():
    if card[-1::] in ['X', 'x'] or card[-1::].isdigit():
        birthday = card[6:14]
        print('宁的生日是' + birthday)
    else:
        print("2号码输入错误,请检查")
else:
    print("号码输入错误,请检查")


# atm取款题目
# 模拟ATM取款机   设置用户余额为5000元
# 1、提示用户输入银行卡密码 密码正确,进入下一个判断,密码错误,提示输入有误
# 2、提示用户选择需要办理的业务(存款/取款)
# 如果选择存款业务,提示让用户输如存款金额,最后显示存款后余额
# 如果选择取款业务
# 判断取款金额是否超过了余额
# 超过了: 告知用户余额不足
# 未超过: 提示取款成功,请取走现金,并显示当前剩余余额

money = 5000
pad = input('请输入银行卡密码(六位数字):')
if len(pad) == 6 and pad.isdigit():
    if pad == '123456':
        fw = int(input("请选择1 存款服务,2 取款服务:"))
        if fw == 1:
            print(f"您的余额是{money}")
            cun = int(input("请输入存款金额:"))
            money = money + cun
            print(f"存款成功,您的余额是{money}")
        else:
            if fw == 2:
                print(f"您的余额是{money}")
                qu = int(input("请输入取款金额:"))
                if money >= qu:
                    money = money - qu
                    print(f'取款成功,请取走现金,当前剩余余额为{money}')
                else:
                    print('余额不足')
            else:
                print("服务输入错误")
    else:
        print("密码输入错误,请重新输入")
else:
    print("密码格式错误")


五、循环

循环就是把容器中每一个的数据都按照特定的规则进行重复处理数据的方式。Python 中的循环语句有 for 和 while两种。这里主要介绍for循环。

for循环的一般格式如下:

for i in 容器: 
     要做的事情
  
	for i in 序列 :
	for i in 字符串 :    会从第一个到最后一个,来个遍
	for i in 字典    :
	for i in 元组    :
	for i in 列表 :

break:退出循环
continue:跳出本次循环,后面的代码不执行,进行下次循环

while 条件:
	循环体
else :
	非循环体
for i in [{1, 4, 6.7}, 3, 67, 'll']:
    print(i)

for i in [3, 67, 'll']:
    print(i)

for i in (3, 67, 'll'):
    print(i)

for i in 'java':
    print(i)

dic={'name':'java','user':'ww','add':'sh'}
for i in dic.keys():
    print(i)
for i in dic.values():
    print(i)

在这里插入图片描述

# for i in range(起始位,截止位,步长):
for i in range(10):
    print(i)

# ----------------练习--------------
# ['笔记本一台','冰箱一台','奔驰一辆','谢谢惠顾'...]
# 用户进行积分抽奖 20积分抽一次
# 如果未中奖,告知用户没有中奖,还剩?积分,还能抽多少次
# 如果抽中,告知用户抽到了什么,还剩多少积分,还能抽多少次
# 抽完一次之后,如果积分足够,要询问用户,是否继续抽奖
# ---是 继续抽
# ---否 结束抽奖
# ----- for ---------
list1 = ['笔记本一台', '冰箱一台', '奔驰一辆', '谢谢惠顾', '中性笔', '', '', '', '', '', '']
jf = float(input('您有多少积分:'))
n = jf / 20
for i in list1:
    if jf >= 20:
        random_value = random.choice(list1)
        if random_value in ['', '谢谢惠顾']:
            jf = jf - 20
            n = n - 1
            print(f'您未中奖,还剩{jf}点积分,还能抽{n}次')
            h = input("是否要抽奖:")
            if h == '是':
                print('开始抽奖!')
                continue
            else:
                if h == '否':
                    print(f'您还剩{jf}点积分,还能抽{n}次')
                    break
                else:
                    print('回答错误,跳出系统')
                    break
        else:
            jf = jf - 20
            n = jf // 20
            print(f'您中了{random_value},还剩{jf}点积分,还能抽{n}次')
            h = input("是否还要抽奖:")
            if h == '是':
                print('开始抽奖!')
                continue
            else:
                if h == '否':
                    print(f'您还剩{jf}点积分,还能抽{n}次')
                    break
                else:
                    print('回答错误,跳出系统')
                    break
    else:
        break
print("积分不足")
# ---------------------while------------------------
jf = float(input('您有多少积分:'))
n = jf // 20
while n >= 1:
    if jf >= 20:
        random_value = random.choice(list1)
        if random_value in ['', '谢谢惠顾']:
            jf = jf - 20
            n = n - 1
            print(f'您未中奖,还剩{jf}点积分,还能抽{n}次')
            h = input("是否要抽奖:")
            if h == '是':
                print('开始抽奖!')
                continue
            else:
                if h == '否':
                    print(f'您还剩{jf}点积分,还能抽{n}次')
                    break
                else:
                    print('回答错误,跳出系统')
                    break
        else:
            jf = jf - 20
            n = jf // 20
            print(f'您中了{random_value},还剩{jf}点积分,还能抽{n}次')
            h = input("是否还要抽奖:")
            if h == '是':
                print('开始抽奖!')
                continue
            else:
                if h == '否':
                    print(f'您还剩{jf}点积分,还能抽{n}次')
                    break
                else:
                    print('回答错误,跳出系统')
                    break
    else:
        break
print("积分不足")


五、函数

函数是根据一定的规则进行运算,可以重复使用的代码段。函数的3个功能为:实现特定功能、输入数据、输出结果。大部分时候我们只需要调用系统自带的函数或者第三方包里的函数即可,有的时候在处理复杂数据时,需要自定义函数。

函数一般格式如下:

def 函数名称(参数1,参数2):
    函数体
    Return 输出
def s(a, b):
    return a + b
def p():
    print('计算')


c = 4 * s(1, 4)
p()
print(c)
当函数参数为不可变数据类型(字符串、数字,元祖,布尔,空值None),如果我们定义的是改变列表的值,传递的只是该数据类型的值,不会改变数据结果。
当函数参数为可变数据类型(列表、集合、字典)如果我们定义的是改变列表的值,传递的是该变量的引用地址,会改变数据结果。
变量作用域

Python的作用域一共有2种:全局作用域,局部作用域。

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域。 
局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。

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

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

相关文章

使用Windows Linux 子系统安装 Tensorflow,并使用GPU环境

在Microsoft Store商店安装Ubuntu 20.04 使用 nvidia-smi 命令查看GPU信息&#xff0c;查看支持的CUDA版本&#xff0c;这里最高支持11.7 安装cuda工具集 进入官网&#xff1a;CUDA Toolkit Archive | NVIDIA Developer&#xff0c;现在对应版本&#xff0c;点击 配置平台&…

走进数组的奇妙之旅(1)

引言&#xff1a; 在前几篇文章中&#xff0c;我们深入探讨了函数的奥秘。在讲述函数知识的过程中&#xff0c;我们邂逅了一个新的概念&#xff0c;你或许还记得在演示 strcpy函数时&#xff0c;出现的这行代码&#xff1a;char1[20]{0};。当时&#xff0c;你是否感到好奇&…

前端组件化实践:Vue自定义加载Loading组件的设计与实现

摘要 随着前端技术的飞速发展&#xff0c;组件化开发已成为提高开发效率、降低维护成本的重要方法。本文介绍了前端Vue自定义加载Loading组件的设计思路与实现过程&#xff0c;该组件通过设置gif动画实现加载效果&#xff0c;可广泛应用于页面请求加载场景。通过该组件的实践&…

银行业务知识全篇(财务知识、金融业务知识)

第一部分 零售业务 1.1 储蓄业务 4 1.1.1 普通活期储蓄(本外币) 4 1.1.2 定期储蓄(本外币) 5 1.1.3 活期一本通 9 1.1.4 定期一本通 10 1.1.5 电话银行 11 1.1.6 个人支票 11 1.1.7 通信存款 13 1.1.8 其他业务规…

解决AI训练中的“Convergence Warning”报错:提高模型稳定性 ️‍♂️

解决AI训练中的“Convergence Warning”报错&#xff1a;提高模型稳定性 &#x1f3cb;️‍♂️ 解决AI训练中的“Convergence Warning”报错&#xff1a;提高模型稳定性 &#x1f3cb;️‍♂️摘要引言“Convergence Warning”报错的成因分析 &#x1f914;1. 学习率设置不当2…

昇思学习打卡-23-生成式/CycleGAN图像风格迁移互换

文章目录 模型介绍网络结构数据集可视化网络的其他细节模型推理 模型介绍 CycleGAN(Cycle Generative Adversarial Network) 即循环对抗生成网络&#xff0c;实现了一种在没有配对示例的情况下学习将图像从源域 X 转换到目标域 Y 的方法。 该模型一个重要应用领域是域迁移(Do…

VMware中Ubuntu磁盘空间的清理

最近发现Ubuntu占用空间过大&#xff0c;在网上找了一些方法&#xff0c;在这里总结一下。 1.删除快照 把不需要的快照删除&#xff0c;但要注意删除快照可能会影响到后续的快照链。每个快照依赖于前面的快照。如果删除一个中间快照&#xff0c;虚拟机可能无法找到完整的差异…

谷粒商城实战笔记-36-前端基础-Vue-介绍HelloWorld

文章目录 一&#xff0c;MVVM 思想直接操作DOM的示例使用Vue和MVVM的示例MVVM与DOM操作的主要区别 二&#xff0c;Vue 简介三&#xff0c;第一个Vue项目1 新建项目2 安装依赖3 使用Vue 这一节的主要内容是演示Vue的简单使用。 一&#xff0c;MVVM 思想 M&#xff1a;即 Model…

基础vrrp(虚拟路由冗余协议)

一、VRRP 虚拟路由冗余协议 比如交换机上联两个路由器&#xff0c;由两个路由虚拟出一台设备设置终端设备的网关地址&#xff0c;两台物理路由的关系是主从关系&#xff0c;可以设置自动抢占。终端设备的网关是虚拟设备的ip地址&#xff0c;这样&#xff0c;如果有一台路由设备…

c++模板初识

目录 一、 泛型编程 二、 函数模板 1.函数模板概念 2.函数模板格式 3.函数模板的原理 4.函数模板的实例化 1. 隐式实例化&#xff1a;让编译器根据实参推演模板参数的实际类型 2.显式实例化&#xff1a;在函数名后的<>中指定模板参数的实际类型 5.模板参数的…

万物互联时代,手机丢了我们该怎么办?

万物互联时代&#xff0c;我们的手机丢了该怎么办&#xff1f;全身家当都在一部手机里&#xff0c;这个时候我们更要冷静&#xff0c;然后先尝试着打电话、发短信、定位找手机。 如果实在找不到的话&#xff0c;先借个电话号码把以下四件事给做好&#xff1a; ①挂失手机号&am…

《昇思25天学习打卡营第21天|Pix2Pix实现图像转换》

Pix2Pix 是一种图像转换模型&#xff0c;使用条件生成对抗网络&#xff08;Conditional Generative Adversarial Networks&#xff0c;cGANs&#xff09;实现图像到图像的转换。它主要由生成器&#xff08;Generator&#xff09;和判别器&#xff08;Discriminator&#xff09;…

【UE5.1】NPC人工智能——04 NPC巡逻

效果 步骤 一、准备行为树和黑板 1. 对我们之前创建的AI控制器创建一个子蓝图类 这里命名为“BP_NPC_AIController_Lion”&#xff0c;表示专门用于控制狮子的AI控制器 2. 打开狮子蓝图“Character_Lion” 在类默认值中将“AI控制器类”修改为“BP_NPC_AIController_Lion” 3…

数据编织 Data Fabric:解决“数据孤岛”的新思路

一个不争的事实是&#xff0c;企业内部数据孤岛的形成&#xff0c;根因在于业务发展的复杂性与技术迭代的快速性导致。具体而言&#xff0c;随着企业业务快速增长&#xff0c;如新生产线的引入或外部公司的并购&#xff0c;这些活动往往伴随着新系统上线与独立数据体系的融入&a…

AI算法24-决策树C4.5算法

目录 决策树C4.5算法概述 决策树C4.5算法简介 决策树C4.5算法发展历史 决策树C4.5算法原理 信息熵&#xff08;Information Entropy&#xff09; 信息增益&#xff08;Information Gain&#xff09; 信息增益比&#xff08;Gain Ratio&#xff09; 决策树C4.5算法改进 …

产品经理-工作中5大类技术名词解析(19)

在产品经理与开发的团队协作中,如果自己知道一些专业术语,对业务的开展是有帮助的&#xff0c;很多时候,在沟通过程当中,就是因为自己不懂,所以才不知道怎么去做,想要什么样的结果 在力所能及的情况下,平时,多了解一些专业术语,是有好处的 数据结构 数据结构是技术人员将数据进…

LeetCode——被管绕的区域

题目描述 给你一个 m x n 的矩阵 board &#xff0c;由若干字符 X 和 O 组成&#xff0c;捕获 所有 被围绕的区域&#xff1a; 连接&#xff1a;一个单元格与水平或垂直方向上相邻的单元格连接。区域&#xff1a;连接所有 O 的单元格来形成一个区域。围绕&#xff1a;如果您可…

数据库系统概论:事务与并发一致性问题

随着网络应用的普及&#xff0c;数据库并发问题变得越来越重要。数据库并发指的是多个用户或进程同时访问和操作数据库的能力。它是数据库系统性能优化的重要方面&#xff0c;旨在提高系统的吞吐量和响应时间&#xff0c;以满足多用户同时访问数据库的需求。然而&#xff0c;这…

GPT-4o模型开通使用教学,解除使用限制【Outlook版】

OpenAI的GPT-4o模型免费用户都可以使用&#xff0c;但是遗憾的是每三小时可以使用十次问答。 但是还是有好多同学连使用都不会&#xff0c;今天这篇文章教会你如何使用并解除使用限制。 大家可以使用Outlook邮箱。 打开outlook官网选择中间获得免费账户。 ​ 在接下来的邮…

AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理

AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理 目录 AGI 之 【Hugging Face】 的【零样本和少样本学习】之一 [构建标记任务] / [ 基线模型 ] 的简单整理 一、简单介绍 二、零样本学习 (Zero-shot Learning) 和少样本学习…