电子学会Python二级知识点(自己整理)

序列

  1. Python的变量不需要声明,每个变量在使用之前必须赋值,变量被赋值以后,该变量才会被创建。
  2. 常见的6个数据类型:数字(Number)、字符串(String)、列表(List)、元组(Tuple)、集合(Set)、字典(Dictionary)。
  3. 6中数据类型分为两大类:

可变序列:列表、集合、字典。

不可变序列:数字(int、float、bool)、字符串、元组。   

  1. 可变数据类型更改值后,内存地址不发生改变;不可变数据类型更改值后,内存地址发生改变(新建内存地址id())。
  2. 列表创建的两种方式:一种是直接建立:创建时只需要将元素用逗号隔开,并且用中括号括起来。如:[1,2,3,4];另外一种则是使用list命令进行创建,list():用于将元组或字符串转换为列表。如:list(‘Python’)结果是[‘P’,‘y’,’t’,’h’,’’o’,’n’]。数字是不能直接转列表的。
  3. 序列是指一块可以存放多个值的连续内存空间,这些值按一定顺序排列,可通过每个值所在位置的编号(索引)访问它们。列表是最常见的可变序列。
  4.  列表是序列的一种,所以所有的元素都是有序号的,我们称序号为索引。
  5. 索引有两种:一种是从前往后的正方向索引,第一个索引号为0,并不是1,后面的索引号依次为1/2/3/4/5。 另一种是从后往前的反方向索引,第一个索引为-1,后面依次为-2、-3、-4、-5。
  6. 序列里面可以再嵌套序列,这叫作序列的嵌套。[1,2,3,[8,9,0],4,5]
  7. 我们可以使用索引来访问列表中的值,也可以使用中括号[]的形式来截取序列(切片)
  8. 列表的截取又称作列表的切片,需要两个索引来确定切片的起始位置。注意:列表的切片不包含尾部索引对应元素的值。

序列的通用操作符

  1. len()返回序列元素的个数。如序列有嵌套,那么被嵌套的序列被看做一个整体来计算。
  2. in()检查元素是否包含在序列中。返回值True或者False,往往该命令结合条件语句使用。In不检查序列嵌套元素的值。
  3. max()找出序列中最大的值。如果序列内的元素为字符串时,会按照Unicode编码的顺序返回编码最大的元素。当序列内有数字又有其他类型的元素时,报错。
  4. min()找出序列中最小的值。其它同max()
  5. sum()序列求和运算。可以对全部有数字类型组成的序列进行求和。输出的结果为所有数字的和。
  6. 同一种序列可以进行加法运算,但是,这里的加法并不是数学中的加法,序列的加法相当于将两个序列结合在一起。
  7. 序列的乘法运算,但是,序列的乘法运算只能和正整数相乘,代表的是将该序列重复正整数次。
  8. 更新列表中的值。可以直接使用索引进行赋值。还可以利用切片技术,同时更新列表的多个值。

列表

列表元素的删除(列表赋值(a=b(b是列表名)),修改一个另一个也受影响)

  1. del 列表名[index]删除列表中指定索引的值,如果没有指定索引,则删除整个变量。
  2. pop()删除指定索引的元素,如果没有指定索引,则默认删除最后一个元素,会返回删除的元素,在原列表删除。(可用变量接收删除的元素)
  3. remove()移除列表里面第一次出现的指定值得元素。有时候需要删除某一个元素,但是不知道他在列表的位置,使用remove()最合适。
  4. clear()清除列表所有的元素,但不是删除列表,只是列表为空

列表添加元素(a[4]=9如果索引4不存在会报错)

  1. append()将元素添加到列表末尾。List_name.append(obj)。obj代表插入的元素,可以是单个数据,也可以是列表,元组等。
  2. insert()将元素插入到指定的位置。List_name.insert(index,obj)。Index代表列表的索引,改参数只能为整数,obj代表需要插入的元素。
  3. extend():list1.extend(list2)合并两列表(合并至list1)

查找元素

  1. Index()查找元素在列表中的位置,返回值为该元素在列表中的索引。List_name.index(obj,start,end):obj查找的元素的值,start代表开始查找的位置,end代表结束的位置。start,end为非必选项,不写,代表在整个列表中查找。如果查找的元素不存在,则报错
  2. count()统计某个元素在列表中出现的次数,返回值为该元素的个数。List_name.count(obj).obj需要统计的元素。查找元素不存在,返回0(零)。
  3. In() 元素  in 列表名 ,存在返回True,不存在False。

列表的排序

  1. sort():对原列表进行排序,不返回新列表。默认True从小到大排序。如果指定参数,则使用指定的比较函数进行排序。Sort(reverse=False)reverse:代表是否翻转,默认不翻转Fasle。例:reversr=True或者reversr=1,其工作原理是首先将列表按照从小到大的顺序进行排序,然后在进行翻转,这样就形成了从大到小的倒叙排序。
  2. sorted():对可迭代对象进行排序操作,会生成新的列表,原列表不改变。(reverse=False)reverse:代表是否翻转,默认不翻转Fasle。NewList = sorted(list,reverse=True)(默认从小到大)
  3. reverse()用于返向排列列表中的元素。并不是进行排序,而是将列表里的元素进行顺序上的前后颠倒。和sort()一样,都是在原列表中进行操作,改变原列表的值。

易错点

  1. 一个列表中的数据类型可以各不相同,可以同时分别为整数、字符串、列表、元组、字典以及其它自定义类型的对象。
  2. 在嵌套的列表中,被嵌套的列表被看做一个整体。
  3. 求序列最大、最小值,要求序列内所有元素必须同时为数字或字符串类型,不能混合、不能嵌套,否则报错。
  4. 只有纯数字类型的序列才可以进行求和运算。
  5. clear()和del()的区别:del()中,列表名是在后边的括号中;clear()中,列表是在clear()前面,并且用.隔开。其次,del()可以只删除一个元素,如果不指定索引,只注明列表名,则删除整个变量,索引,列表也就不存在了;而clear()是清除列表里的所有元素,列表还在,只是为空,此时列表长度为0。
  6. append()一次只能追加一个元素到列表里边,如果追加的是列表或者元组,则是作为一个整体进行追加。
  7. sorted()和sort()的区别:sorted()是Python的内置函数,可用于所有可迭代对象;而sort()是列表的内置函数,仅用于列表的排序。列表的sort()方法是对已经存在的列表进行操作,无返回值;而内置函数sorted()返回的是一个新的列表,而不是在原来的基础上进行操作,所以不改变原列表的值。

元组

不可变序列——元组(如果只有一个元素后面需要加逗号)

  1. 元组也是序列的一种,元组和列表不同之处有两点:一:元组的元素不能修改(删除、添加);二:元组使用小括号,列表使用中括号。
  2. 如何创建元组:一:在括号中添加元素,并使用逗号隔开。二:使用tuple()函数将其他数据类型(必须是可迭代对象)转换为元组。数字不能转。
  3. 元组访问:元组的访问需要借助索引,表示的方法和列表相同。索引可以为负数,为负数时,从-1开始。
  4. 元组的嵌套:元组嵌套的数据类型不仅仅局限于元组,列表以及字典等其他数据也可以。同样被嵌套的元素被看做一个整体。
  5. 元组截取:元组的截取和列表的截取相同,需要确定开始位置、结束位置、步长。包头不包尾。

其它操作:

len()获取元组长度

In()检查元素是否包含在元组中

Max()求最大值

Min()求最小值

Sum()求和运算

+:元组的加法运算。将两个元组结合在一起,形成一个新的元组,并不改变原来元组的值。

*:将元组的元素重复相应的次数。

不可变序列——元组的操作

  1. Index():查找元素在元组中的位置,返回值是该元素第一次出现的索引。元组名.index(需要查找的元素的值)
  2. count():查找元素在元组中的个数,返回值为整数。
  3. sorted():由于元组是不可变序列,所以无法使用sort()进行排序,但是可以使用sorted()进行排序。Python的内置函数。可用于所有可迭代对象,返回的是一个新的列表

易错点:

  1. 如果元组中只有一个元素,仍然需要加逗号,否则该对象并非元组。
  2. 元组为不可变序列,所有列表的很多操作是无法在元组中使用的。
  3. 元组sorted()进行排序会生成一个新的列表,而不是元组。

字符串

  1. 创建:使用英文单引或者双引号
  2. 直接赋值 strs = “加油”
  3. 使用str()从其它类型转换
  4. 字符串访问:直接使用字符串变量名加索引。
  5. 字符串截取:使用字符串变量加索引的起点和终点,注意:不包含终点索引上的元素
  6. len()获取字符串长度
  7. In()检查某一个字符或者字符串是否包含在字符串中。
  8. Max()求字符串Unicode编码值最大的元素。Unicode编码的基本规律:数字在前面,接下来是大写字母,然后是小写字母,最后是中文等其他文字。
  9. Min()求字符串Unicode编码值最小的元素。
  10. +:连接作用
  11. Sorted()依然按照Unicode编码顺序排序。
  12. Index()查找某个元素的位置。使用方法同其他数据类型中的index,返回值为该元素的索引。没有就报错。
  13. count()查找某个字符或者字符串在整个字符串中出现的次数。
  14. 转义字符:有时候需要输出一些特殊字符,如:引号、索引、换行等,为了实现这些功能Python使用\反斜杠来表示。

例子:

\\

反斜杠

print(‘\\’)输出:\

\’

单引号

print(‘\’’)输出:’

\’’

双引号

print(‘\’’’)输出:’’

\b

退格符

print(‘12\b3’)输出:12 3

\n

换行

print(‘12\n3’)输出:12

n

*** 格式化输出 ***

  1. Python的格式化输出有两种:一种是%,一种是format(),f”{}”
  2. %格式化输出

%s

格式化为整数,如果s前边有数字,则代表该整数所要占得位置

Print(“这是第%s行”%3)

这是第3行

Print(“这是第%4s行”%3)

这是第   3行(3前边有3个空格)

%f

格式化为浮点数,如果f前面有数字,则代表保留小数精度。

Print(“圆周率是%f”%3.141592654)

圆周率是3.141592

Print(“圆周率是%.2f”%3.141592654)

圆周率是3.141

%s

格式化为字符串,如果前面有数字,则代表字符串长度

Print(‘我的名字叫%s,我是%s年级’%(‘小明’,’‘2’))

我的名字叫小明,我是2年级

  1. format格式化输出

第一种:使用索引位置格式   “{0:2f}”.format(6.666)  输出:6.67(会四舍五入)

第二张:使用命名方式,给每个需要格式化的位置命名,然后在format中进行变量赋值

字符串相关操作

  1. split() 字符串分割,将一个完整的字符串使用分割符分割成字符串列表。字符串转列表。(括号里不写整体转列表)
  2. Join()和split()功能相反,将列表结合为字符串。列表转字符串

“连接符”.join(列表名) (整型不能连接)

3.find()检测字符串中是否包含字符串,包含返回索引(第一个),不包含返回-1

易错点

  1. 字符串中的数字是字符串类型的,所以不能用sum()进行求和运算。
  2. 字符串中很多操作,比如检查是否在字符串中。字符串中某一个字符出现的次数等都要注意字符串要加引号,否则会认为是变量而不是字符串。

字典(字典是可变的无序集合)

字典指的是一种可变的容器类型,可以装任意类型对象,容器可以存储数据的地方。

字典是使用{}括起来,并且每一个元素由键和值两部分组成,键和值之间使用英文冒号:隔开,必须一一对应,所以又叫键值对,每个键值对之间必须使用英文逗号隔开。

字典的特征

键是字典中进行赋值和读取的重要标记,所以要求键必须唯一,并且是不可变序列(如果重复,取最后一个的值);值可以是其它任意数据类型,不要求具有唯一性。

字典并不是序列,所以没有顺序,也没有索引。

字典的相关操作

  1. 访问字典里的值:一 使用字典名加键进行访问:字典名[键名]

二 使用字典中的get()函数进行访问:字典名.get(键名)(没有键名   返回None,第二个参数可以定义没有该键时返回的值)

  1. 修改字典:
  1. 修改已有键的值:直接使用字典名加键的方式:字典名[键名] = 新值
  2. 给字典增添新的键值对:使用字典名加键的方式:字典名[新键名] = 新值
  3. 删除字典里面已有值:使用del()删除一个键值对。del 字典名[键]
  4. 清空字典里的值:clear()可以清空字典里所有值,使字典成为一个空字典。 字典名.clear()
  1. 获取字典的长度。len()字典中的键值对是按照一个元素对待的。
  2. 检查键是否在字典中:使用in可以检查键是否在字典中,存在True不存在False。in只检查键,不检查值。  ‘需要查找的键’ in  字典名
  3. 字典名.keys()取所有键
  4. 字典名.values()取所有值
  5. 字典名.items()取所有键和值
  6. dic1.update(dic2)把dic2的键值更新到dic1

字典易错点

  1. 字典的键具有唯一性,如果创建时同一键被赋值两次,则后一个值会取代前一个值成为键的值。
  2. 字典中的键必须不可变,所以可以使用数字、字符串、元组充当,而用列表就不行,会报错。
  3. 访问字典中没有的键会报错。
  4. 把键当做索引访问和使用get()函数访问的区别:get()函数可以自己定义没有该键时返回的值,如果没有自定义,则返回None,而另外一种方式会报错。

流程控制

  1. 分支结构又称为条件语句,条件语句的构成由if/elif/else组成。
  2. 条件语句可分为:单分支结构、二分支结构、多分支结构。
  3. 分支结构的嵌套又称为条件语句的嵌套,特征是一般由多层二分支或多分支结构嵌套在一起组合而成。

易错点

  1. 单分支结构适合只有一种情况的程序,分支之后的程序,无论条件是否成立,都会执行。
  2. else后面没有条件语句,但是依然需要加英文冒号。
  3. elif后面必须有条件语句,并且条件语句后面也需要加英文冒号。
  4. 嵌套分支一定要注意缩进,缩进的不同代表不同的嵌套层次。

循环结构

循环可分为两大类:条件循环(while)和遍历循环(for)

条件循环:指的是如果某个条件成立,则一直执行某个或者某些语句块,一般被重复执行的语句块称为循环体。

循环遍历:是序列中每个元素执行相关语句块的循环过程。把序列里边的元素一个一个取出,然后进行相关操作的过程。

break语句:循环的跳出  跳出当前while循环或for循环

continue语句:停止本轮循环,开启下轮循环

和break语句不同,continue语句并不会跳出循环,它只是停止当次循环,然后跳回循环开始位置,继续下次循环

range

range()的参数有3个,range(start,stop,step)  包头不包尾

start:开始位置,可选参数,如果没有,默认代表0开始

stop:结束位置,该参数为必须项

step:步长,可选项,如果没有,步长为1

range()一般和for循环结合使用,用于控制循环次数

易错点

  1. 循环也可以进行嵌套,嵌套的循环是作为一个整体参与循环,所以需要注意缩进。
  2. 无限循环一般采用while,只需要将while后的条件语句永久设置为True即可。
  3. 由于for循环遍历是有限次数循环,所以for循环可以改为while循环。
  4. range()采用“包头不包尾”的原则,包括开始参数的值,但不包括结束参数的值。

其它重点

  1. x,y = 12,5  等同于x = 12   y = 5
  2. 元组创建
  3. spilt()的使用
  4. 切片的使用。正负
  5. 切片可以进行赋值操作
  6. 索引
  7. 元组操作
  8. range()
  9. 列表的+法、*法
  10. 字典操作
  11. 程序设计三种基本结构:顺序结构、选择结构、循环结构
  12. 列表和元组可以互相嵌套

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

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

相关文章

解决键盘长按才有反应

问题分析: 排除键盘自身没有问题,那就应该是电脑设置的问题,目前我遇到的不小心长按shift键设置了【筛选键】 解决方式: 打开设置搜索筛选建,关闭,粘带键也会出现类似问题。

HCQ1-1300-D【故障笔记】

常用查错网址: SMC_ERROR (ENUM) 34:【实轴从正常状态转到错误状态】FB放错线程,(要放ecat线程内),比如 MC_Jog 36: 删除 Web 小于4.9 可使用4.6

acwing算法基础之基础算法--归并排序

目录 1 知识点2 代码模板 1 知识点 归并排序算法步骤: step1:确定分界点,比如mid (left right) / 2。 step2:递归排序分界点左边部分、分界点右边部分。 step3:归并。将有序的左边序列和有序的右边序列,…

港联证券:为什么股票不能买跌?

股票商场是一个布满变数和风险的商场,出资者经常会遇到这样一个问题:为什么股票不能买跌?在商场中,有许多的股票价格不断地走低,为什么不能趁低买入呢?这一问题的答案并不简略,需要从多个角度去…

习题6-3 使用函数输出指定范围内的完数 (20分)

本题要求实现一个计算整数因子和的简单函数&#xff0c;并利用其实现另一个函数&#xff0c;输出两正整数m和n&#xff08;0<m≤n≤10000&#xff09;之间的所有完数。所谓完数就是该数恰好等于除自身外的因子之和。例如&#xff1a;6123&#xff0c;其中1、2、3为6的因子。…

使用EasyExcel后端导出excel

官方文档&#xff1a;关于Easyexcel | Easy Excel 这里进行简单记录&#xff0c;方便确定是不是适用此方式&#xff1a; 零&#xff1a;实体类中注解用法 一&#xff1a;读excel /*** 强制读取第三个 这里不建议 index 和 name 同时用&#xff0c;要么一个对象只用index&…

WordPress主题DUX v8.2源码下载

新增产品分类左侧多级分类折叠显示 新增网站默认字体对 MiSans 和 HarmonyOS Sans 的支持 新增顶部左上角显示登录注册的模块开关&#xff0c;且支持原生登录方式 新增手机端导航菜单的关闭按钮 新增文章内容中标题二的强化展示 新增全站禁止复制、右键和选择的操作 新增文章内…

clickhouse MPPDB数据库 运维实用SQL总结IV

文章目录 1. 分布式ddl执行引起的故障1.1. 报错信息1.2.故障定位1.3.解决方案2. table_is_read_only的报错2.1. 报错信息2.2. 故障定位2.3. 解决方案clickhouse MPPDB数据库 运维实用SQL总结 clickhouse MPPDB数据库 运维实用SQL总结II clickhouse MPPDB数据库 运维实用SQL总结…

线性代数(七) 矩阵分析

前言 从性线变换我们得出&#xff0c;矩阵和函数是密不可分的。如何用函数的思维来分析矩阵。 矩阵的序列 通过这个定义我们就定义了矩阵序列的收敛性。 研究矩阵序列收敛性的常用方法&#xff0c;是用《常见向量范数和矩阵范数》来研究矩阵序列的极限。 长度是范数的一个特…

【JDK 8-集合框架进阶】6.1 parallelStream 并行流

一、parallelStream 并行流 1.1 串行 和 并行的区别 > 执行结果 二、问题 2.1 paralleStream 并行是否一定比 Stream 串行快? 2.2 是否可以都用并行&#xff1f; > 报错 三、实战 > 执行结果 四、总结 一、parallelStream 并行流 多线程并发处理&#xff…

鸿蒙是一个怎么样的操作系统,真的是安卓套壳吗?

从鸿蒙项目正式推出以来&#xff0c;就一直有各自声音&#xff0c;有看好的&#xff0c;认为鸿蒙的出现将会成为一个智能终端设备操作系统的框架和平台&#xff0c;促进万物互联产业的繁荣发展&#xff1b;也有的人在唱衰&#xff0c;觉得鸿蒙发展不起来&#xff0c;甚至认为鸿…

Nginx手动编译、安装超超详解

文章目录 一、为什么要手动编译Nginx二、下载Nginx1、官网2、下载至linux服务器3、源码目录分析4、编译安装5、安装目录 三、启动1、启动2、访问一下80端口 一、为什么要手动编译Nginx Nginx安装除了编译以外&#xff0c;我们还可以直接用操作系统上自带的工具比如说yum、apt-…

设计模式——访问者模式

访问者模式是什么&#xff1f; 表示一个作用于某对象结构中的各元素的操作&#xff0c;它使你可以再不改变各元素的类的前提下定义作用于这些元素的新操作 访问者模式解决什么问题&#xff1f; 男女在不同情境下表现的不同 abstract class Person {protected String action…

java框架-Spring-事务

配置 配置事务管理器方法&#xff1a; Beanpublic PlatformTransactionManager platformTransactionManager(){return new DataSourceTransactionManager();}原理

Vue模板语法(下)

文章目录 一、事件处理1.1 监听事件​1.2 事件修饰符1.3 按键修饰符​1.4 实例 二、表单综合案例三、自定义组件 一、事件处理 1.1 监听事件​ 我们可以使用 v-on 指令 (简写为 ) 来监听 DOM 事件&#xff0c;并在事件触发时执行对应的 JavaScript。用法&#xff1a;v-on:cli…

第一次作业题解

第一次作业题解 P5717 【深基3.习8】三角形分类 思路 考的是if()的使用,还要给三条边判断大小 判断优先级&#xff1a; 三角形&#xff1f;直角、钝角、锐角等腰等边 判断按题给顺序来 代码 #include <stdio.h> int main() {int a 0, b 0, c 0, x 0, y 0, z 0…

智慧公厕云管理平台:筑牢云上“城市公共厕所一张网”

在现代城市中&#xff0c;公共厕所是人们日常生活中不可或缺的一部分。然而&#xff0c;过去的公共厕所管理方式往往效率低下&#xff0c;维护困难&#xff0c;给市民带来了不便。为了解决这一问题&#xff0c;智慧公厕应运而生&#xff0c;赋予传统公共厕所智慧化的管理效能。…

D. A Simple Task

Problem - D - Codeforces 思路&#xff1a;这个题就是求环的数量&#xff0c;通过数据范围的大小&#xff0c;我们可以想到用状压dp来做&#xff0c;因为只有19个点&#xff0c;我们可以将环的路径进行状态压缩&#xff0c;用一个二进制数表示环&#xff0c;当某一位为1时表示…

qt+ffmpeg视频播放器实现音视频倍速功能

目录 一、前言 二、开发环境参考源码 开发环境&#xff1a; 参考源码&#xff1a; 三、添加倍速控件 四、倍速调节代码 五、视频倍速调节 六、音频倍速方案一 七、音频倍速方案二 八、最终效果 九、参考文献 十、结语 一、前言 参考了云天之巅的FFMPEG Qt视频播放器…