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

【Python-AI篇】人工智能python基础-计算机组成原理

1. 计算机组成原理

在这里插入图片描述

2. python基础(查漏补缺)

2.1 字符串

2.1.1 字符串查找方法

  1. find(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,不在的话返回-1
  2. index(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,否则抛出异常
  3. refind(): 从右侧查找,功能和find相同
  4. rindex(): 从右侧查找,功能和index相同
  5. count(): 返回某个字符串出现的次数

2.1.2 字符串修改方法

  1. replace(): 替换
字符串.replace(旧子串, 新子串, 替换次数)
  1. join(): 多个字符串合并成一个新的字符串
字符串.join(字符串)
  1. split(): 按照指定字符分割字符串,丢失分割字符
字符串.split(分割字符, num)

2.1.3 其他修改方法

  1. capitalize(): 将字符串的第一个字符转换成大写
  2. title(): 将字符串的每个首字母转换成大写
  3. lower(): 将字符串中大写字母转换成小写
  4. upper(): 将字符串中小写字母转换成大写

2.1.4 删除空白字符

  1. lstrip(): 删除左侧空白字符
  2. rstrip(): 删除右侧空白字符
  3. strip(): 删除两侧空白字符

2.1.5 字符串对齐

  1. ljust(): 左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
  2. rjust(): 右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
  3. center(): 居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
字符串.ljust(长度, 填充字符)
字符串.rjust(长度, 填充字符)
字符串.center(长度, 填充字符)

2.1.6 字符串判断开头或结尾

  1. startswith(子串, 开始下标, 结束位置下标): 检查开头是否以指定字符串开头,返回bool
  2. endswitch(子串, 开始下标, 结束位置下标): 检查结尾是否以指定字符串结尾,返回bool

2.1.7 其他判断方法

  1. isalpha(): 字符串中至少有一个字符并且所有字符都是字母
  2. isalnum(): 字符串中至少有一个字符并且所有字符都是数字
  3. isdigit(): 判断字符串中只包含数字
  4. isspace(): 判断字符串中是否只包含空白

2.2 列表

2.2.1 列表查找

  1. index(): 返回数据所在位置的下标
a.index(数据, 开始位置下标, 结束位置下标)
  1. count(): 统计数据在列表中出现的次数
a.count('data')
  1. len(): 访问列表的长度

2.2.2 列表增加

  1. append(数据): 结尾追加数据
  2. extend(数据): 结尾追加数据,如果数据是一个字符串,则将这个字符串中数据逐一加入列表
  3. insert(位置下标, 数据): 指定位置增加数据

2.2.3 列表删除

  1. del: 删除列表
  2. pop(下标): 删除指定下标的数据(默认最后一个),并返回数据
  3. remove(数据): 移除列表中某个数据的第一个匹配项
  4. clear(): 清空列表

2.2.4 列表修改

  1. 修改指定下标的数据: a[下标] = 数据
  2. reverse(): 逆置
  3. sort(): 排序
l.sort(key=None, reverse=True)
# resverse=True升序,reverse=False降序

2.2.5 列表复制

  1. copy():复制

2.3 字典

2.3.1 dict新增

  1. dict[key] = value: key不存在则新增键值对

2.3.2 dict删除

  1. del/del(): 删除字典/删除字典中的键值对
  2. clear(): 清空字典

2.3.3 dict修改

  1. dict[key] = value: key存在则修改键值对内容

2.3.4 dict查询

  1. get(): dict.get(key, 默认值)
  2. key值查找: dict[‘key’],key不存在则报错
  3. keys(): 查找所有key值
  4. values(): 查找所有value值
  5. items(): 查找所有key-value值,键值对元组

2.4 集合

2.4.1 增加数据

  1. add(): 追加单一数据,集合无序,可能追加任意一个位置
  2. update(): 追加的是数据序列

2.4.2 删除数据

  1. remove(): 删除指定数据,不存在则报错
  2. discard(): 删除指定数据,不存在不会报错
  3. pop(): 随机删除集合中的数据,并返回该数据

2.5 函数

2.5.1 示例:学生管理系统

def info_print():print('请选择功能-----------')print('1. 添加学员')print('2. 删除学员')print('3. 修改学员')print('4. 查询学员')print('5. 显示所有学员')print('6. 退出系统')print('-'*20)def add_info():"""添加学员方法"""# 全局变量声明global info# 用户输入用户信息new_id = input('请输入学号:')new_name = input('请输入姓名:')new_tel = input('请输入电话号码:')# 判断用户是否存在for i in info:if new_name == i['name']:print('用户已存在!!!')return# 将用户元素追加到字典info_dict = {}info_dict['id'] = new_idinfo_dict['name'] = new_nameinfo_dict['tel'] = new_tel# 将用户字典追加到列表info.append(info_dict)print(info)def delete_info():"""删除学员方法"""# 声明全局变量global info# 用户输入需要删除的变量名del_name = input('请输入需要删除的变量名:')for i in info:if del_name == i['name']:info.remove(i)breakelse:print('该学员不存在!!!')def update_info():"""修改学员信息方法"""# 声明全局变量global info# 用户输入需要修改的变量名update_name = input('请输入需要修改的学生姓名:')for i in info:if update_name == i['name']:update_id = input('请输入需要修改的学生id:')update_tel = input('请输入需要修改的学生电话:')i['tel'] = update_teli['id'] = update_idbreakelse:print('用户不存在!!!')print(info)def search_info():"""查询学员信息方法"""# 声明全局变量global info# 用户输入需要查询的姓名search_name = input('请输入需要查询的姓名:')for i in info:if search_name == i['name']:print('-----查询到的信息如下-----')print('该学员的学号是{0},该学员的姓名是{1},该学员的电话是{2}'.format(i['id'], i['name'], i['tel']))else:print('用户信息不存在!!!')def search_all():"""显示所有学员信息"""# 声明全局变量global info# 童虎输入需要查询的姓名print('学号\t姓名\t手机号')for i in info:print('{0}\t{1}\t{2}'.format(i['id'], i['name'], i['tel']))if __name__ == '__main__':info = []# 执行功能while 1:info_print()# 用户输入功能序号user_num = int(input('请输入功能序号:'))if user_num == 1:add_info()elif user_num == 2:delete_info()elif user_num == 3:update_info()elif user_num == 4:search_info()elif user_num == 5:search_all()elif user_num == 6:exit_flag = input('确认要退出吗?yes or no')if exit_flag == 'yes' or exit_flag == 'y' or exit_flag == 'Y' or exit_flag == 'YES' or exit_flag == '1':breakelse:print('您输入的序号有误!!!')

2.5.2 递归

2.5.2.1 特点
  1. 函数内部自己调用自己
  2. 必须有出口
2.5.2.2 示例1 - 3以内的数字累加和
"""
3以内数字累加和 = 3+2以内数字累加和
2以内数字累加和 = 2+1以内数字累加和
1以内数字累加和 = 1  # 出口
"""
def sun_numbers(num):# 出口if num == 1:return 1# 当前数字+当前数字-1,自己调用自己return num + sun_numbers(num-1)result = sun_numbers(10)
print(result)

2.5.3 匿名函数lambda

2.5.3.1 应用场景

一个函数只有一个返回值,并且只有一句代码,可用lambda简化
lambda 参数 : 表达式

# 函数实现
def fn1():return 100result = fn1()
print(result)# lambda实现
fn2 = lambda : 100
result = fn2()
print(result)
print(fn2) # 匿名函数的内存地址

2.6 高阶函数

2.6.1 map()

map(func, lst): 将传入的函数变量func作用到lst变量的每个元素中,并将结果生成新的迭代器

# 计算列表中各个数字的2次方
list1 = [1, 2, 3, 4, 5]def func(x):return x**2result = map(func, list1)
print(list(result))
2.6.2 reduce()

reduce(func, lst): 其中func必须有两个参数,每次func计算结果继续和序列的下一个元素做累计运算

# 计算list1各数累加和
import functoolslist1 = [1, 2, 3, 4, 5]def func(a, b):return a + bresult = functools.reduce(func, list1)
print(result)
2.6.3 filter()

filter(func, lst): 用于过滤序列,过滤掉不符合的元素,返回一个filter对象,如果要转换为列表,可以使用list()来转换

list2 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]def func1(x):return x % 2 == 0result = filter(func1, list2)
print(list(result))

3. 操作系统

3.1 常见的操作系统

1、 windows
2、mac OS
3、Linux
4、Unix

3.2 Linux命令回顾

3.2.1 查看目录命令

命令说明
ls
查看当前路径下信息
tree
以树方式显示目录
pwd
查看当前目录路劲
clear
清除终端内容
ctrl + shift + ‘+’
放大窗口字体
ctrl + shift + ‘-’
缩小窗口字体

3.2.2 切换目录命令

命令说明
cd
切换到指定目录

3.2.3 创建、删除文件和目录命令

命令说明
touch
创建指定文件
mkdir
创建目录(文件夹)
rm
删除指定文件
rmdir
删除空目录

3.2.5 复制、移动文件和目录命令

命令说明
cp
复制(拷贝)文件、拷贝目录
mv
移动文件、移动目录、重命名

3.2.6 重定向命令

命令说明
>
文件存在则覆盖文件内容
>>
文件存在则追加文件内容

3.2.7 查看文件内容命令

命令说明
cat
查看小型文件
more
查看大型文件
|
管道

3.2.8 链接命令

命令说明
ln -s
创建软链接

3.2.9 查找文件内容命令

命令说明
grep
查找、搜索文件内容
find
在指定目录下查找符合条件的文件

3.2.10 压缩和解压缩命令

命令说明
tar -c
创建打包文件
tar -v
显示打包或解包的详细信息
tar -f
指定文件名称,必须放到所有选项后面
tar -z
压缩(.gz)
tar -j
压缩(.bz2)
tar -x
解压缩
tar -C
解压到指定目录

3.2.11 文件权限命令

命令说明
chmod
修改权限

3.2.12 查找文件位置

### 3.2.13 远程命令
命令说明
which
查看命令位置
命令说明
ssh
远程登录
scp
远程拷贝

4. 正则表达式

4.1 匹配单个字符

命令说明
.
匹配任意一个字符
[]
匹配[ ]中列举的字符
\d
匹配数字,0-9
\D
匹配非数字
\s
匹配空白,即空格和tab
\S
匹配非空白
\w
匹配非特殊字符
\W
匹配特殊字符

4.2 匹配多个字符

命令说明
*
匹配一个字符出现0次或无数次
+
匹配一个字符出现1次或无数次
匹配一个字符出现1次或0次
{m}
匹配一个字符出现m次
{m,n}
匹配一个字符出现从m到n次
4.3 匹配开头和结尾
命令说明
^
匹配字符串开头
$
匹配字符串结尾
[ ^指定字符 ]
匹配除指定字符以外的所有字符

4.4 匹配分组

命令说明
|
匹配左右任意一个表达式
(ab)
将括号中字符作为一个分组
\num
引用分组num匹配的字符串
(?P< name >)
分组起别名
(?P=name)
引用别名为name分组匹配到的字符串

相关文章:

【Python-AI篇】人工智能python基础-计算机组成原理

1. 计算机组成原理 2. python基础&#xff08;查漏补缺&#xff09; 2.1 字符串 2.1.1 字符串查找方法 find()&#xff1a; 检测某个字符串是否包含在这个字符串中&#xff0c;在的话返回下标&#xff0c;不在的话返回-1index()&#xff1a; 检测某个字符串是否包含在这个字…...

Java Exercise

3194. 最小元素和最大元素的最小平均值 Solution类 class Solution {public double minimumAverage(int[] nums){int n nums.length / 2;Arrays.sort(nums);int average 0;ArrayList<Double> arrayList new ArrayList<>();int i;int j;for (i 0, j nums.leng…...

滚雪球学Redis[9.1讲]:Redis的常见问题与最佳实践

全文目录&#xff1a; 前言1. Redis的常见问题排查常见错误信息与解决方案性能瓶颈的识别与处理数据一致性问题的排查 2. Redis的最佳实践Redis使用中的通用原则典型业务场景中的最佳实践如何避免Redis中的反模式 小结下期预告 前言 在上一章【第八章&#xff1a;Redis的扩展与…...

python获取当前鼠标位置的RGB值

效果 依赖 pip install Pillow pyautoguisudo apt install gnome-screenshot代码 import pyautogui import timedef get_rgb_at_mouse():try:while True:# 获取当前鼠标的位置x, y pyautogui.position()# 截取当前屏幕图像screenshot pyautogui.screenshot()# 获取鼠标位置…...

Ubuntu20.04运行深蓝运动规划hw_5

前言 环境&#xff1a; ubuntu 20.04 &#xff1b; ROS版本&#xff1a; noetic&#xff1b; 问题 运行 roslaunch waypoint_trajectory_generator test.launch 出现如下错误 Invalid argument "/map" passed to canTransform argument source_frame in tf2 fra…...

删除node_modules文件夹

前言 当安装了较多模块后&#xff0c;node_modules目录下的文件会很多&#xff0c;直接删除整个目录会很慢&#xff0c;下面介绍些快速删除node_modules目录的方法。 方法一&#xff1a;使用rimraf模块的命令 在全局安装rimraf模块&#xff0c;然后通过其命令来快速删除node…...

基于Springboot+Vue的民宿管理系统(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 在这个…...

[LeetCode] 542. 01矩阵

题目描述&#xff1a; 给定一个由 0 和 1 组成的矩阵 mat &#xff0c;请输出一个大小相同的矩阵&#xff0c;其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1&#xff1a; 输入&#xff1a;mat [[0,0,0],[0,1,0],[0,0,0]] 输出…...

国产AI模型“Yi-Lightning”逆袭超越GPT-4!

近日&#xff0c;全球千万用户盲测投票产生的AI模型排行榜公布&#xff0c;令人惊喜的是&#xff0c;国产AI模型“Yi-Lightning”成功逆袭&#xff0c;一举超越了此前长期占据榜首的GPT-4。 Ai 智能办公利器 - Ai-321.com 人工智能 - Ai工具集 - 全球热门人工智能软件ai工具集…...

安卓設備上怎麼設置HTTP代理?

HTTP代理是一種仲介伺服器&#xff0c;它在用戶的設備和互聯網之間傳遞請求。通過HTTP代理&#xff0c;請求會先發送到代理伺服器&#xff0c;然後由代理伺服器轉發到目標網站。這樣&#xff0c;目標網站只會看到代理伺服器的IP地址&#xff0c;而不是真實IP地址。這種機制可以…...

学习Redisson实现分布式锁

官网&#xff1a;https://redisson.org/ 官方文档&#xff1a;https://redisson.org/docs/getting-started/ 官方中文文档&#xff1a;https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 1、引入依赖 <!--redisson--> <dependency><groupId>or…...

2024CSP-J模拟赛9————S12678

一&#xff0c;赛中得分 T1100T2100T350T440总分290 二&#xff0c;赛中概括 T1T2较快过&#xff0c;T3T4骗了90分&#xff08;意料之中&#xff0c;这么好骗分&#xff01;&#xff01;&#xff01;&#xff09;。 三&#xff0c;题目解析 涂格子(paint) 问题描述 现在有…...

HarmonyOS中ArkUi框架中常用的装饰器

目录 1.装饰器 1&#xff09;Component 1--装饰内容 2&#xff09;Entry 1--装饰内容 2--使用说明 3&#xff09;Preview 1--装饰内容 2--使用说明 4&#xff09;CustomDialog 1--装饰内容 2--使用说明 5&#xff09;Observed 1--装饰内容 2--使用说明 6&#xff09;ObjectLin…...

服务攻防之Redis数据库安全

最近我将会把一些服务攻防方面的姿势在这里做一个简单总结。欢迎大家留言讨论。 首先我们先对这类安全问题做一个总体的概括&#xff01; 一、总概 1.服务判断: 端口扫描&#xff1a;利用服务开启后的目标端口开放判断 组合判断&#xff1a;利用搭建常见组合分析可能开放服务…...

随机森林算法的原理与实现

随机森林&#xff08;Random Forest&#xff09;是一种集成学习算法&#xff0c;它通过构建多个决策树并结合这些树的结果来进行分类或回归。与单一的决策树相比&#xff0c;随机森林通过集成多个树的结果&#xff0c;能够显著提高预测的准确性和稳定性&#xff0c;减少模型的过…...

模仿百度-基础版

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>百度案例</title><style>*{margin: 0;p…...

c++贴瓷砖

题目描述 有一块大小是 2 * n 的墙面&#xff0c;现在需要用2种规格的瓷砖铺满&#xff0c;瓷砖规格分别是 2 * 1 和 2 * 2&#xff0c;请计算一共有多少种铺设的方法。 输入 输入的第一行包含一个正整数T&#xff08;T<20&#xff09;&#xff0c;表示一共有T组数据&…...

用 Python 构建高级配对交易策略

作者&#xff1a;老余捞鱼 原创不易&#xff0c;转载请标明出处及原作者。 写在前面的话&#xff1a; 本文阐述通过分析加密货币和传统金融工具之间的相关性和协整性&#xff0c;以及实施 Z-score 方法来生成交易信号&#xff0c;然后介绍如何使用 Python 构建配对交易策…...

Java 引用数据类型详解、字符串的不可变性、如何处理字符串的内存管理、String Pool 及其优化

文章目录 1. 引用数据类型1.1 常见引用数据类型 2. 字符串的不可变性2.1 不可变性的优点2.2 不可变性示例 3. 如何处理字符串的内存管理3.1 String Pool3.2 String 内存优化 4. String Pool 及其优化4.1 String Pool的工作原理4.2 String Pool的优化4.3 使用 intern() 进一步优…...

Babel使用

初始化项目 npm init -y 创建文件 // 转码前 // 定义数据 let input [1, 2, 3] // 将数组的每个元素 1 input input.map(item > item 1) console.log(input)配置.babelrc Babel的配置文件是.babelrc&#xff0c;presets字段设定转码规则&#xff0c;将es2015规则加入…...

自动机器学习(AutoML)

utoML是PAI的提供的自动寻找超参组合的机器学习增强型服务。您在训练模型时&#xff0c;如果超参组合复杂度过高&#xff0c;需大量训练资源和手工调试工作&#xff0c;可以使用AutoML来节省模型调参时间&#xff0c;提升模型调优效率和模型质量。 基础概念 超参数&#xff1a;…...

Vivado时序报告六:Report Timing详解

目录 一、前言 二、配置选项概览图 三、配置选项详解 3.1 Targets 3.2 Options 3.1.1 Report 3.1.2 Path limits 3.1.3 Path display 3.2 Advanced 3.2.1 Report 3.2.2 File Output 3.2.3 miscellaneous 3.3 Timer Settings 3.4 共有部分 四、 设计示例 4.1 设…...

java基础:数据类型的总结

一、Java 常用数据类型 1.数据类型分为:(1)基本数据类型 &#xff08;2&#xff09;引用数据类型 2.基本数据类型分类&#xff1a;数值型&#xff0c;非数值型。 3.数值型:&#xff08;1&#xff09; 整数类型&#xff08;byte,short,int,long) &#xff08;2&#xff09; …...

【目标检测论文解读复现NO.39】基于改进 YOLOv8 的轻量级复杂环境苹果叶片病害检测方法

前言 此前出了目标改进算法专栏&#xff0c;但是对于应用于什么场景&#xff0c;需要什么改进方法对应与自己的应用场景有效果&#xff0c;并且多少改进点能发什么水平的文章&#xff0c;为解决大家的困惑&#xff0c;此系列文章旨在给大家解读最新目标检测算法论文&#xff0c…...

python 基础笔记 2(函数, 类)

起因, 目的: 把很久以前,自己写的笔记发布出来。 现在粉丝多了,也不觉得丢人了。 为什么这些序号不连贯,因为有些很熟悉的东西,我都删了。 内建函数, 函数 zip()函数,利用 * 号操作符,可以将元组解压为列表。 我怀疑是zip的解包只能用一次。在内存中解开一次之后就销…...

LeetCode 2090.半径为K的子数组平均值

题目&#xff1a; 给你一个下标从 0 开始的数组 nums &#xff0c;数组中有 n 个整数&#xff0c;另给你一个整数 k 。 半径为 k 的子数组平均值 是指&#xff1a;nums 中一个以下标 i 为 中心 且 半径 为 k 的子数组中所有元素的平均值&#xff0c;即下标在 i - k 和 i k 范…...

Qt C++ 编程中定义了一个槽函数(slot)deleteLater的作用

这行代码是在 Qt C编程中定义了一个槽函数&#xff08;slot&#xff09;deleteLater。 在 Qt 框架中&#xff0c;Q_SLOTS关键字用于声明类中的槽函数。deleteLater是一个非常有用的函数&#xff0c;它会安排接收对象在事件循环返回后被删除。 通常在以下情况下会使用deleteLa…...

【Hive】8-Hive性能优化及Hive3新特性

Hive性能优化及Hive3新特性 Hive表设计优化 Hive查询基本原理 Hive的设计思想是通过元数据解析描述将HDFS上的文件映射成表 基本的查询原理是当用户通过HQL语句对Hive中的表进行复杂数据处理和计算时&#xff0c;默认将其转换为分布式计算 MapReduce程序对HDFS中的数据进行…...

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-18目录1. On the Reliability of Large Language Models to Misinformed and Demographically-Informed Prompts2. SafeLLM: Dom…...

CTF(四)

导言&#xff1a; 本文主要讲述在CTF竞赛中&#xff0c;web类题目file_include。 靶场链接&#xff1a;攻防世界 (xctf.org.cn) 一&#xff0c;观察页面。 可以看到一段php代码。从则段代码中我们可以知道&#xff1a; 1&#xff0c;使用include引入check.php文件&#xff…...