2024-10-15 学习人工智能的Day7

news2024/11/28 17:54:50

        在简单的了解完学习人工智能所需的高数、线代、概率论后,我们又重新开始了国庆的学习,因为已经有十余天没有接触python,所以今天的内容主要是对之前学习的python的回顾与总结,然后对各个部分进行了简单的实践,在最后学习了一点关于新知识:python中各种数据类型的推导式。

        所以就简单回顾一下各个数据类型的推导式。

        其中最主要也最重要的就是列表推导式,而其该推导式的形式也非常简单,

       其中表达式的内容就是对自定义变量的操作,而if后的真值表达式就是对可迭代对象内数据的筛选。

        例如你需要对0-100区间的所有偶数进行2次方运算,那么你的公式就应该为

通过循环体来才能同时实现判断和添加,但是列表推导式只用了一行代码。 

 只用了一段代码就直接融入了循环,数据操作、判断和添加数据。这就是列表的推导式的作用,可以将整个推导式看作默认执行了列表的append()操作,然后其他所有操作都与上图对应,包括了数据操作,判断等。而推导式的作用就是从一个数据序列构建另一个新的数据序列的结构体。

        不同的数据类型都有他们的数据推导式,而另外两个较为特别的推导式一个是字典推导式:

因为字典这种数据类型他由键值对构成,所以他的键和值能够分开用不同的表达式进行操作。

第二个则是元组推导式,元组推导式是主要特点在于其输出的元素的类型,通过操作我们可以看到直接输出元组推导式得出的是一个生成器类型的参数的地址。他算一个迭代器,所以将他传入tuple()中就可以输出正确的格式了。

然后剩下的就是我个人根据老师的思维导图去进行的自我记忆的复盘了。

 python的输入输出:

  • 输出:print(),可传参,可传引号内字符串用于直接输出,可传f-string在直接输出的字符串中插入参数

  • 输入:input()实为控件,为从用户输入到选择结束期间获取用户外部输入的数据,需参数接收才可传递,在()内是传参可为引号内嵌字符串的形式,在终端实现时输出该字符串便于用户识别。

python的注释:

        注释主要形式两种,一种为*,*后的为需要注释的内容,本注释方式主要为单行注释,多行注释为三对双引号后者三对单引号,在需要注释的行前与行后各加三个,即可完成多行注释,主要理解为将其中所有字段识别为无接受方式的字符串。

python变量:

         命名的规则:在命名的国产中主要的注意事项为不允许出现中文字符,不允许数字字符出现在命名第一位,不允许在名称中使用空格隔开,可用_下划线隔开,在常量中最好使用capitalize命名法,最后可用单个下划线作为命名名称,但该量般为空量。

  • 变量类型

    • 基础类型:主要的使用类型为string,bool,int,float,注意的是bool是特殊类型,返回值为True和False,但是实际值为int型,为特殊int型,还有其他进制类型例如0x之类的也可以通过math中的方法进行强转

    • 复合类型:

      • 列表list

      • 元组tuple

      • 字典dict

      • 集合set 

  • python数字操作

    • 数字类型的转换:数字类型在运算符操作时非常常见,例如在int型与int型之间的除法就会出现类型转换,结果会变为float型,而math中的进制转化也可以对原有进制进行强转。也可以用float()传int型进行强转等,只包含数字的string值也可转为int

    • 运算符:运算符就分为数字运算符和逻辑运算符吧应该,数字运算符的话就是(+) (-) (*) (/)等简要运算符,主要逻辑也是左右各有传参进行计算,特殊使用方式可有 x += 1,此种方式可等同x = x+1。另一种的逻辑运算符的话就只介绍三种与(and)、或(or)、非(not),其难点主要是逻辑理解,就拿and来说,and的两边各传一个判断语句,而第一个语句被带入隐式bool()进行bool检测,根据该bool值进行下一步判断,如果值为1,则输出第二个语句运行的结果,为0则输出第一个语句运行的结果,注意的是,第二个语句并不会进行bool检测而是作为输出结果,另外两个逻辑运算符的逻辑也类似,而还有对于二进制的运算的逻辑运算符,例如按位与,按位异或等, 另外还有取余,幂运算,整除等和比较运算符等

    • 条件语句

      • 条件语句的出现地点主要为逻辑运算符和while循环的条件判断语句,该条件语句的要求不多,因为即使是非判断语句也能够进行bool()操作,而只要该条件语句的值不为0或空则返回1,如果为判断语句则执行其判断语句内的逻辑再判断。

        • if

        • if-else

        • if-elif-else

    • 循环语句

      • for:for循环的格式主要为for i in 循环体,可以在for循环前加入对读出值的操作,例如i+1 for in arange(0,10),如此。主要的循环次数由循环体定

      • while:while的格式是while 条件语句: 执行语句,这样的形式,主要是简单的加入了条件判断而不需要再for循环内加入判断体了,也可以通过将条件语句设为非零常量进行无限循环

      • break:退出当前循环体

      • continue:结束本次循环,下次循环继续

      • pass:可以跳过语句,主要作用为防止无或错误代码引起的中断

    • 容器

      • 列表

        • 创建方法

          • list=[]

          • list(可迭代对象)

        • 操作方法;简单写为del(),pop(),对象切片索引,index访问,append(),可以使用(+)进行列表连接

      • 字典:为key:value

      • 元组:其包含的元素不可变,但是其中的list列表中有多值,改变的为list的值,不是对元组进行的改变,可以进行。

      • 集合:主要是集合自带特殊方法进行交并操作等

    • 推导式

      • 列表推导式(重点):形式为[ 表达式 for 元素 in 集合 if 条件]的形式,主要是将列表在的append()方法直接融入其中了。

      • 字典推导式:与列表推导式的差别主要为字典的键和值分别有自己的表达式。

      • 集合推导式:与列表推导式的逻辑几乎相同

      • 元组推导式:与列表推导式的逻辑相同,但是得到的结果为generator,所以需要通过tuple()将其转化为元组后再输出。

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

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

相关文章

IPV6学习汇总

一、ICMPV6 ICMPv6(Internet Control Message Protocol version 6),即互联网控制信息协议版本六,是为了与IPv6配套使用而开发的互联网控制信息协议。以下是关于ICMPv6的详细介绍: 一、基本功能 ICMPv6向源节点报告关…

【C#】使用Visual Studio创建Windows Forms应用程序计算对角线之和

文章目录 使用Visual Studio创建Windows Forms应用程序计算对角线之和步骤 1: 创建新的Windows Forms应用程序项目步骤 2: 设计窗体步骤 3: 编写代码步骤 4: 运行程序步骤 5: 运行结果 使用Visual Studio创建Windows Forms应用程序计算对角线之和 大家好!今天&…

HCIP-HarmonyOS Application Developer 习题(十)

1、HarmonyOS设备A上的应用通过调用分布式任务调度的能力continuesbility,向设备B的应用发起跨端迁移,此过程属于跨端迁移中的哪个流程? A、流转准备 B、流转进行 C、流转结束 D、流转完成 答案:D 分析: 2、为了帮助用户通过全局…

大数据之hadoop(hdfs部分)

1.引入:为什么需要分布式存储? 一个服务器能存入海量数据吗?显然是不能,所以构建分布式解决了存入问题.多台服务器的协调工作也是性能的横向扩展. 总结: 1.数据量太大,单机存储能力有上限,需要靠数量来解决问题 2.数量的提升带来的是网络传输、磁盘读…

标准IO:fread/fwrite

使用fread和fwrite完成两个文件的拷贝&#xff0c;要求源文件和目标文件由外界输入 #include <myhead.h> int main(int argc, const char *argv[]) {//判断是否有3个文件传入if(3 ! argc){fputs("input file error\n",stderr);return -1;}//打开源文件FILE * …

高可用之限流 08-leaky bucket漏桶算法

限流系列 开源组件 rate-limit: 限流 高可用之限流-01-入门介绍 高可用之限流-02-如何设计限流框架 高可用之限流-03-Semaphore 信号量做限流 高可用之限流-04-fixed window 固定窗口 高可用之限流-05-slide window 滑动窗口 高可用之限流-06-slide window 滑动窗口 sen…

.ts文件编译为.js文件

.ts文件如何编译为.js文件 首先安装了tsc $ npm install -g typescript可以使用如下命令检查是否安装tsc,出现版本号则说明安装成功 tsc -v创建.ts文件 创建 1.ts&#xff0c;编写代码如下&#xff1a; function test(a:string):string{return a }编译为.js文件 执行如下…

vue2中vuex状态管理使用安装教程及多模块化拆分,包含大多项目常用用法

前言 所有模块的vuex文件堆在一起太难看了 拆成多个&#xff0c;所有项目都这么做 vue2版本的vuex 脚手架搭建 npm install -g vue/cli vue create vuexDemo cd vuexDemo步骤 1&#xff09;安装 npm i vuex32&#xff09;快速入门 学过一次后老是记不住&#xff1f;害…

视觉的边界填充、数值计算和腐蚀操作

文章目录 一、边界填充二、数值计算三、图片融合四、腐蚀操作 一、边界填充 边界填充的4种方法&#xff1a; # 导入OpenCV库&#xff0c;用于图像处理 import cv2 # 导入matplotlib的pyplot模块&#xff0c;用于图像显示 import matplotlib.pyplot as plt # 导入numpy库&…

【Unity】Unity中接入Admob聚合广告平台,可通过中介接入 AppLovin,Unity Ads,Meta等渠道的广告

一、下载Google Admob的SDK插件 到Google Admob官网中&#xff0c;切换到Unity平台 进来之后是这样&#xff0c;注意后面有Unity标识&#xff0c;然后点击下载&#xff0c;跳转到github中&#xff0c;下载最新的Admob插件sdk&#xff0c;导入到Unity中 二、阅读官方文档&…

js 实现斐波那契数列

斐波那契数列&#xff1a;所谓斐波那契数列指的是数列&#xff1a;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13&#xff0c;21&#xff0c;……。即数列满足递推公式&#xff0c;F(0)0&#xff0c;F(1)1 实现代码&#xff1a; 第一种&…

【记录】Django数据库的基础操作

数据库连接 在Django中使用 mysqlclient 这个包用于数据库的连接&#xff0c;切换至 Django环境中直接 pip install mysqlclient 安装此包 1 数据库连接配置 在项目目录下的setting.py中配置 DATABASES {default: {ENGINE: django.db.backends.mysql,NAME: mini,#数据库名US…

(IOS)VMware虚拟机上安装win10系统(超详细)

简介 虚拟机是一种软件实现的计算机系统&#xff0c;可以在现有的操作系统平台上运行一个或多个虚拟的操作系统。它通过在主机操作系统上创建一个虚拟的硬件平台&#xff0c;并在其上运行一个完整的操作系统&#xff0c;来模拟一个真实的物理计算机。虚拟机可以提供一种隔离的…

青少年编程能力等级测评CPA C++(二级)试卷(1)

青少年编程能力等级测评CPA C&#xff08;二级&#xff09;试卷&#xff08;1&#xff09; 一、单项选择题&#xff08;共20题&#xff0c;每题3.5分&#xff0c;共70分&#xff09; CP2_1_1&#xff0e;下列C程序段中&#xff0c;对二维数组arr的正确定义是&#xff08; &am…

PL/SQL Developer如何连接Oracle数据库(汉化)

简介 PL/SQL Developer是一种用于Oracle数据库开发的集成开发环境&#xff08;IDE&#xff09;。它提供了一个可视化的界面&#xff0c;使开发人员能够方便地编写、调试和执行PL/SQL代码。PL/SQL Developer还具有其他功能&#xff0c;如数据库对象浏览器、SQL编辑器、数据导入…

python深浅拷贝,可变变量与不可变变量

赋值 在 python 中&#xff0c;赋值是将一个值或对象分配给一个变量的过程。赋值操作符是 &#xff0c;用于将右侧的值或对象赋给左侧的变量。 赋值&#xff1a;l2的值会随着原对象l1的值一同改变 l1 [1, 2, 3, 4] print(l1:, l1) l2 l1 print(l2:, l2) 给li列表新增元素 …

Java基础:面向对象编程3

1 Java可变长参数 1.1 概述 Java 的可变长参数&#xff08;Varargs&#xff09;是在 Java 1.5 中引入的功能&#xff0c;允许方法接受任意数量的相同类型的参数。可变参数的语法是在参数类型后面加上三个点&#xff08;...&#xff09;&#xff0c;例如 int... numbers。 1.…

Zsh 安装与配置

目录 1 环境配置 1.1 基本工具安装 1.2 安装 oh-my-zsh 1.3 从.bashrc中迁移配置&#xff08;可选&#xff09; 2 主题配置 2.1 内置主题 2.2 自定义主题 2.2.1 推荐主题 3 插件安装 3.1 推荐插件 3.1.1 zsh -autosuggestions 3.1.2 zsh-syntax-highlighting 3.2 启…

kubernetes中的微服务

目录 一 什么是微服务 二 微服务的类型 三 ipvs模式 3.1 ipvs模式配置方式 四 微服务类型详解 4.1 clusterip 4.2 ClusterIP中的特殊模式headless 4.3 nodeport 4.4 loadbalancer 4.5 metalLB 4.6 externalname 五 Ingress-nginx 5.1 ingress-nginx功能 5.2 部署…

【数据结构】1.顺序表

「前言」 &#x1f308;个人主页&#xff1a; 代码探秘者 &#x1f308;C语言专栏&#xff1a;C语言 &#x1f308;C专栏&#xff1a; C &#x1f308;喜欢的诗句:天行健,君子以自强不息. 线性表 线性表&#xff08;List&#xff09;&#xff1a;零个或多个数据元素的有限序列…