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

2. python基础(查漏补缺)
2.1 字符串
2.1.1 字符串查找方法
- find(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,不在的话返回-1
- index(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,否则抛出异常
- refind(): 从右侧查找,功能和find相同
- rindex(): 从右侧查找,功能和index相同
- count(): 返回某个字符串出现的次数
2.1.2 字符串修改方法
- replace(): 替换
字符串.replace(旧子串, 新子串, 替换次数)
- join(): 多个字符串合并成一个新的字符串
字符串.join(字符串)
- split(): 按照指定字符分割字符串,丢失分割字符
字符串.split(分割字符, num)
2.1.3 其他修改方法
- capitalize(): 将字符串的第一个字符转换成大写
- title(): 将字符串的每个首字母转换成大写
- lower(): 将字符串中大写字母转换成小写
- upper(): 将字符串中小写字母转换成大写
2.1.4 删除空白字符
- lstrip(): 删除左侧空白字符
- rstrip(): 删除右侧空白字符
- strip(): 删除两侧空白字符
2.1.5 字符串对齐
- ljust(): 左对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
- rjust(): 右对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
- center(): 居中对齐,并使用指定字符(默认空格)填充至对应长度的新字符串
字符串.ljust(长度, 填充字符)
字符串.rjust(长度, 填充字符)
字符串.center(长度, 填充字符)
2.1.6 字符串判断开头或结尾
- startswith(子串, 开始下标, 结束位置下标): 检查开头是否以指定字符串开头,返回bool
- endswitch(子串, 开始下标, 结束位置下标): 检查结尾是否以指定字符串结尾,返回bool
2.1.7 其他判断方法
- isalpha(): 字符串中至少有一个字符并且所有字符都是字母
- isalnum(): 字符串中至少有一个字符并且所有字符都是数字
- isdigit(): 判断字符串中只包含数字
- isspace(): 判断字符串中是否只包含空白
2.2 列表
2.2.1 列表查找
- index(): 返回数据所在位置的下标
a.index(数据, 开始位置下标, 结束位置下标)
- count(): 统计数据在列表中出现的次数
a.count('data')
- len(): 访问列表的长度
2.2.2 列表增加
- append(数据): 结尾追加数据
- extend(数据): 结尾追加数据,如果数据是一个字符串,则将这个字符串中数据逐一加入列表
- insert(位置下标, 数据): 指定位置增加数据
2.2.3 列表删除
- del: 删除列表
- pop(下标): 删除指定下标的数据(默认最后一个),并返回数据
- remove(数据): 移除列表中某个数据的第一个匹配项
- clear(): 清空列表
2.2.4 列表修改
- 修改指定下标的数据: a[下标] = 数据
- reverse(): 逆置
- sort(): 排序
l.sort(key=None, reverse=True)
# resverse=True升序,reverse=False降序
2.2.5 列表复制
- copy():复制
2.3 字典
2.3.1 dict新增
- dict[key] = value: key不存在则新增键值对
2.3.2 dict删除
- del/del(): 删除字典/删除字典中的键值对
- clear(): 清空字典
2.3.3 dict修改
- dict[key] = value: key存在则修改键值对内容
2.3.4 dict查询
- get(): dict.get(key, 默认值)
- key值查找: dict[‘key’],key不存在则报错
- keys(): 查找所有key值
- values(): 查找所有value值
- items(): 查找所有key-value值,键值对元组
2.4 集合
2.4.1 增加数据
- add(): 追加单一数据,集合无序,可能追加任意一个位置
- update(): 追加的是数据序列
2.4.2 删除数据
- remove(): 删除指定数据,不存在则报错
- discard(): 删除指定数据,不存在不会报错
- 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 特点
- 函数内部自己调用自己
- 必须有出口
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 查看目录命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
3.2.2 切换目录命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
3.2.3 创建、删除文件和目录命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
3.2.5 复制、移动文件和目录命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
3.2.6 重定向命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
3.2.7 查看文件内容命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
3.2.8 链接命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
3.2.9 查找文件内容命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
3.2.10 压缩和解压缩命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
3.2.11 文件权限命令
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
3.2.12 查找文件位置
### 3.2.13 远程命令| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
4. 正则表达式
4.1 匹配单个字符
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
4.2 匹配多个字符
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
4.3 匹配开头和结尾
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
4.4 匹配分组
| 命令 | 说明 | |||
|---|---|---|---|---|
| | | |||
| | | |||
| | | |||
| | | |||
| | | |||
相关文章:
【Python-AI篇】人工智能python基础-计算机组成原理
1. 计算机组成原理 2. python基础(查漏补缺) 2.1 字符串 2.1.1 字符串查找方法 find(): 检测某个字符串是否包含在这个字符串中,在的话返回下标,不在的话返回-1index(): 检测某个字符串是否包含在这个字…...
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的常见问题与最佳实践
全文目录: 前言1. Redis的常见问题排查常见错误信息与解决方案性能瓶颈的识别与处理数据一致性问题的排查 2. Redis的最佳实践Redis使用中的通用原则典型业务场景中的最佳实践如何避免Redis中的反模式 小结下期预告 前言 在上一章【第八章: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
前言 环境: ubuntu 20.04 ; ROS版本: noetic; 问题 运行 roslaunch waypoint_trajectory_generator test.launch 出现如下错误 Invalid argument "/map" passed to canTransform argument source_frame in tf2 fra…...
删除node_modules文件夹
前言 当安装了较多模块后,node_modules目录下的文件会很多,直接删除整个目录会很慢,下面介绍些快速删除node_modules目录的方法。 方法一:使用rimraf模块的命令 在全局安装rimraf模块,然后通过其命令来快速删除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矩阵
题目描述: 给定一个由 0 和 1 组成的矩阵 mat ,请输出一个大小相同的矩阵,其中每一个格子是 mat 中对应位置元素到最近的 0 的距离。 两个相邻元素间的距离为 1 。 示例 1: 输入:mat [[0,0,0],[0,1,0],[0,0,0]] 输出…...
国产AI模型“Yi-Lightning”逆袭超越GPT-4!
近日,全球千万用户盲测投票产生的AI模型排行榜公布,令人惊喜的是,国产AI模型“Yi-Lightning”成功逆袭,一举超越了此前长期占据榜首的GPT-4。 Ai 智能办公利器 - Ai-321.com 人工智能 - Ai工具集 - 全球热门人工智能软件ai工具集…...
安卓設備上怎麼設置HTTP代理?
HTTP代理是一種仲介伺服器,它在用戶的設備和互聯網之間傳遞請求。通過HTTP代理,請求會先發送到代理伺服器,然後由代理伺服器轉發到目標網站。這樣,目標網站只會看到代理伺服器的IP地址,而不是真實IP地址。這種機制可以…...
学习Redisson实现分布式锁
官网:https://redisson.org/ 官方文档:https://redisson.org/docs/getting-started/ 官方中文文档:https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95 1、引入依赖 <!--redisson--> <dependency><groupId>or…...
2024CSP-J模拟赛9————S12678
一,赛中得分 T1100T2100T350T440总分290 二,赛中概括 T1T2较快过,T3T4骗了90分(意料之中,这么好骗分!!!)。 三,题目解析 涂格子(paint) 问题描述 现在有…...
HarmonyOS中ArkUi框架中常用的装饰器
目录 1.装饰器 1)Component 1--装饰内容 2)Entry 1--装饰内容 2--使用说明 3)Preview 1--装饰内容 2--使用说明 4)CustomDialog 1--装饰内容 2--使用说明 5)Observed 1--装饰内容 2--使用说明 6)ObjectLin…...
服务攻防之Redis数据库安全
最近我将会把一些服务攻防方面的姿势在这里做一个简单总结。欢迎大家留言讨论。 首先我们先对这类安全问题做一个总体的概括! 一、总概 1.服务判断: 端口扫描:利用服务开启后的目标端口开放判断 组合判断:利用搭建常见组合分析可能开放服务…...
随机森林算法的原理与实现
随机森林(Random Forest)是一种集成学习算法,它通过构建多个决策树并结合这些树的结果来进行分类或回归。与单一的决策树相比,随机森林通过集成多个树的结果,能够显著提高预测的准确性和稳定性,减少模型的过…...
模仿百度-基础版
<!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 的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是 2 * 1 和 2 * 2,请计算一共有多少种铺设的方法。 输入 输入的第一行包含一个正整数T(T<20),表示一共有T组数据&…...
用 Python 构建高级配对交易策略
作者:老余捞鱼 原创不易,转载请标明出处及原作者。 写在前面的话: 本文阐述通过分析加密货币和传统金融工具之间的相关性和协整性,以及实施 Z-score 方法来生成交易信号,然后介绍如何使用 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,presets字段设定转码规则,将es2015规则加入…...
SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
OPENCV形态学基础之二腐蚀
一.腐蚀的原理 (图1) 数学表达式:dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一,腐蚀跟膨胀属于反向操作,膨胀是把图像图像变大,而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
