电子学会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. 列表和元组可以互相嵌套

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值