15个经典面试问题及回答思路图片,【31天蓝桥杯冲刺!】蓝桥杯相关的 Python 知识点总结(1,准备面试需要注意哪些问题

收集整理了一份《2024年最新Python全套学习资料》免费送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img



既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

正文


s = hello world!
t = hello world!

s = hello world!
t = llo world!

s = abcd abcd abcd abcd
t = Abcd Abcd Abcd Abcd
z = Abcd Abcd abcd abcd

进程已结束,退出代码 0


##### 查找篇(加粗的为常用):


* **count(str, beg = 0, end = len(string))** :求 str 在字符串中出现次数,如果指定查找范围,则在[beg,end]中查找
* **find(str, beg = 0, end = len(string))** :判断 str 是否在字符串中,如果指定查找范围则在[beg,end]中查找,如果找到的起始下标,不存在返回-1
* rfind(str, beg = 0, end = len(string)):从右往左查找
* index(str, beg = 0, end = len(string)):与 find 相同,只是如果 str 不存在,则抛出异常
* rindex(str,beg = 0, end = len(string)):从右往左查找
* startswith(substr, beg = 0, end = len(string)):判断是否以 substr 开头
* endswith(suffix, beg = 0, end = len(string)):判断是否以 suffix 结尾


##### 2.3 修改字符串的方法:


* 字符串转换成list(由于 python中 字符串本身是不可修改的,转换成list可以进行修改):



直接转换成list:列表的每个元素都是长度为 1 的字符串

s = “Hello World!”
t = list(s)
print(s)
print(t)

利用split()方法对字符串进行分割

str.split(str = “”, num = string.count(str))

str 表示分隔符,默认为空字符,包括空格、换行、指标符等

num – 分割次数,如果设置了这个参数,则最多分割成 num + 1 个字符串。默认为 -1,即分隔所有

s = "My name is Wang Shi Er. "
t = s.split()
print(t)
t = s.split(’ ', 4)
print(t)
t = s.split(‘Wang’)
print(t)


* 输出结果:



Hello World!
[‘H’, ‘e’, ‘l’, ‘l’, ‘o’, ’ ', ‘W’, ‘o’, ‘r’, ‘l’, ‘d’, ‘!’]
[‘My’, ‘name’, ‘is’, ‘Wang’, ‘Shi’, ‘Er.’]
[‘My’, ‘name’, ‘is’, ‘Wang’, 'Shi Er. ']
['My name is ', ’ Shi Er. ']

进程已结束,退出代码 0


###### 2.3.1如何修改字符串?


python中不可以直接在字符串上修改,因为字符串不可修改


可以通过以下方式对字符串进行修改:


* 1、转换成 list 列表、修改后再转换成字符串
* 2、利用切片
* 3、重新赋值
* 4、利用 replace()函数


##### 2.4 format 格式化


python中指出格式化字符串的输出,利用 format 函数来调整字符串的格式


* 其中 **{ }** 表示占位符,format 里面的参数将逐个放入字符串中的占位符(由于 format 的参数要逐个放入占位符中,此时参数的数量必须大于等于占位符的数量)。



name = “王十二”
s = “大家好,我是{}”.format(name)
print(s)


* 输出结果:



大家好,我是王十二

进程已结束,退出代码 0


* python 字符串中{0}、{1} 表示占位符,其中非负整数表示这个位置为 format 中的第几个参数,从0开始计数, {x} 中的 x 不可以大于 format 中的参数数量



name = “王十二”
age = 24
s = “大家好,我是{0},今年{1}岁”.format(name, age)
print(s)


* 输出结果:



大家好,我是王十二,今年24岁

进程已结束,退出代码 0


* { }中可以加入冒号 : ,冒号后面可以控制数字的输出格式,包括宽度,小数点等
* p.s : 下表摘自菜鸟教程


![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/7811c80c048042ef92556ce78779169c.png)  
 ^ , < , > 分别是居中、左对齐、右对齐,后面带宽度, : 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充。+ 表示在正数前显示 +,负数前显示 -; (空格)表示在正数前加空格  
 b、d、o、x 分别是二进制、十进制、八进制、十六进制 。


### 3.列表相关操作


列表的定义在这里就不过多阐述,举例说明:



a = [‘apple’, ‘banana’, ‘pen’]

a 的类型

print(type(a))
print(a)


输出:



<class ‘list’>
[‘apple’, ‘banana’, ‘pen’]

进程已结束,退出代码 0


#### 3.1 如何访问列表


* 通过下标访问
* 下标只能为 [-n, -1] , 分为 [0, n - 1](顺数第几个), 和 [-n, -1] 倒数第几个
* p.s : 列表中的每一个元素都可以重新赋值,可以正常参与运算



a = [‘apple’, ‘banana’, ‘pen’]
print(a[0])
print(a[1])
print(a[-1])


输出:



apple
banana
pen
进程已结束,退出代码 0


#### 3.2 如何给列表添加元素


##### 1、在末尾添加单个元素(重要):


**a.append(x)** 为列表a末尾添加x元素



a = [‘apple’, ‘banana’, ‘pen’]
a.append(‘Hello’)
print("a = ",a)


输出:



a = [‘apple’, ‘banana’, ‘pen’, ‘Hello’]
进程已结束,退出代码 0


##### 2、在末尾添加多个元素:


**a.extend(x)** : 列表a末尾添加x,x为可迭代对象,包括列表、元组、字符串等,**不能是单个数字**



a = [‘apple’, ‘banana’, ‘pen’]
a.extend([1,2,3,‘a’])
print("a = ",a)


输出:



a = [‘apple’, ‘banana’, ‘pen’, 1, 2, 3, ‘a’]

进程已结束,退出代码 0


##### 3、在中间插入元素:


**a.insert(idx, x)** : 列表a在下标 idx 位置插入元素x,原来下标大于等于 idx 的元素往右移动一个位置。



a = [‘apple’, ‘banana’, ‘pen’]
a.insert(0, ‘0’)
a.insert(2, “2”)
print("a = ",a)


输出:



a = [‘0’, ‘apple’, ‘2’, ‘banana’, ‘pen’]
进程已结束,退出代码 0


##### 4、删除元素:


* 利用 del 删除列表中的元素: **del a[idx]** : 删除列表a中下标为 idx 的元素
* 利用 pop 删除列表中的元素:(1)**a.pop(idx)** :删除列表a下标为idx的元素 (2) **a.pop()** 删除列表a中的最后一个元素
* 区别: del 删除没有返回值, pop 删除返回的是删除的那个元素



利用del删除元素

a = [‘apple’, ‘banana’, ‘pen’]
del a[0]
print("a = ",a)

利用pop删除元素

a = [‘apple’, ‘banana’, ‘pen’]
del_a = a.pop(1)
print("a = ",a)
print(“删除的元素为:”, del_a)

pop 不加参数,默认删除末尾元素

a = [‘apple’, ‘banana’, ‘pen’]
del_a = a.pop()
print("a = ",a)
print(“删除的元素为:”, del_a)


输出:



a = [‘banana’, ‘pen’]
a = [‘apple’, ‘pen’]
删除的元素为: banana
a = [‘apple’, ‘banana’]
删除的元素为: pen

进程已结束,退出代码 0


##### 5、查找元素


* **a.count(x)**: 计算 x 在 a 中出现的次数,如果未出现则为0,否则为出现次数
* **a.index(x, start, stop)**: 计算元素 x 在列表下标 [start, stop) 中第一次出现的位置;(1)要保证 x 必须在区间 [start, stop) 中存在,否则报错;(2)start, end 不赋值,默认为在整个列表中查找;(3)只赋值 start , stop 默认为列表长度



a = [‘apple’, ‘banana’, ‘cat’, ‘pen’, ‘cat’]
print(a.count(‘apple’))

在整个列表中查找第一个 ‘cat’

print(a.index(‘cat’))

从下标3开始查找第一个 ‘cat’

print(a.index(‘cat’, 3))


输出:



1
2
4

进程已结束,退出代码 0


##### 6、翻转列表


* **a.reverse()** : 列表 a 进行翻转 , 调用两次变回原列表



a = [1, 2, 3, 4, 5]
a.reverse()
print('a = ', a)
a.reverse()
print('a = ', a)


输出:



a = [5, 4, 3, 2, 1]
a = [1, 2, 3, 4, 5]
进程已结束,退出代码 0


##### 7、求出列表长度


* **len(a)**:求出列表a的长度



a = [1, 2, 3, 4, 5]

输出a的长度

print(len(a))


输出:



5

进程已结束,退出代码 0


#### 3.3 遍历整个列表


* 利用for循环遍历列表



a = [‘apple’, ‘pen’, ‘hello’]
for i in a:
print(i)


输出:



apple
pen
hello
进程已结束,退出代码 0


* 利用for循环遍历列表,同时获取下标
* 相关函数: **enumerate(a, start = 0)** : 将列表a每个元素和对应的下标组合为一个带索引的序列,下标默认从0开始,遍历的时候同步遍历下标和值



a = [‘apple’, ‘pen’, ‘hello’]
for idx, i in enumerate(a):
print(idx, i)



0 apple
1 pen
2 hello
进程已结束,退出代码 0


#### 3.4 列表操作符


* ‘**+**’ : 连接两个列表
* ‘**a\*x**’ : a 是list, x 是int, 构成一个新列表,其内容为a复制x次



a = [0, 1, 2, 3, 4, 5]
print("a = ", a)
b = [‘a’, ‘b’, ‘c’]
print("b = ", b)
print(a + b)
print(a * 3)


输出:



a = [0, 1, 2, 3, 4, 5]
b = [‘a’, ‘b’, ‘c’]
[0, 1, 2, 3, 4, 5, ‘a’, ‘b’, ‘c’]
[0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, 5]
进程已结束,退出代码 0


#### 3.5 内置函数(常用的)


* sum(a):求和
* max(a):求列表a中的最大值
* min(a):求列表a中的最小值



a = [0, 1, 2, 3, 4, 5]
print("max = ", max(a))
print("min = ", min(a))
print("sum = ", sum(a))


输出:



max = 5
min = 0
sum = 15
进程已结束,退出代码 0


#### 3.6 列表解析式(重点操作)


* 列表解析式: [expression **for** member **in** iterable]
* 对于可迭代对象 iterable 的 每个元素 member, 都执行 expression 表达式构成的新的列表
* 下面代码对 列表 [0,1,2] 中的每个对象都执行了 x 二次方的运算,构成了一个新的列表



a = [x**2 for x in range(3)]
print(a)


输出:



[0, 1, 4]
进程已结束,退出代码 0


p.s: range()函数的细节会放在for循环部分进行说明


* 列表解析式:可以基于已有的列表筛选并生成相关的新的列表
* [expression **for** member **in** iterable if conditional ]
* 对于可迭代对象 iterable 的每个元素 member ,如果满足条件 conditional 才执行 expression 构成新的列表
* 下面代码表示 对于列表[0,1,2,3,4,5,6,7,8,9,10],需要满足x为偶数,才能加入新列表,新列表元素为x的平方



a = [x**2 for x in range(11) if x % 2 == 0]
print(a)


输出:



[0, 4, 16, 36, 64, 100]
进程已结束,退出代码 0


#### 3.7 列表切片



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]

切片[2:4], 步长为1

b = a[2:4]
print(b)

切片[0,n], 步长为2

c = a[::2]
print©

前3个元素

d = a[:3]
print(d)

后3个元素

e = a[-3:]
print(e)


输出:



[‘banana’, 2]
[1, ‘banana’, 3, 5]
[1, ‘apple’, ‘banana’]
[3, 4, 5]
进程已结束,退出代码 0


#### 3.8 复制列表


* 先明确一个概念,列表的赋值不等同于复制,列表的赋值只是引用,相当于两个变量名代表同一个列表



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]
b = a
b[0] = “hello”
print("b = ", b)
print("a = ", a)


输出:



b = [‘hello’, ‘apple’, ‘banana’, 2, 3, 4, 5]
a = [‘hello’, ‘apple’, ‘banana’, 2, 3, 4, 5]
进程已结束,退出代码 0


* 正确的复制方法:
* (1)利用切片: **b = a[:]**
* (2)利用 copy函数: **b = a.copy()**



a = [1,‘apple’,‘banana’, 2, 3, 4, 5]
b = a.copy()
c = a[:]
print("a = ", a)
print("b = ", b)
print("c = ", c)


输出:



a = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
b = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
c = [1, ‘apple’, ‘banana’, 2, 3, 4, 5]
进程已结束,退出代码 0


### 4.字典的相关操作


#### 4.1 创建字典


* python 中用 **{ }** 表示字典,可以使用 { } 创建一个字典
* 字典中的 key 和 value 之间用冒号 : 分隔,元素之间用 逗号, 分隔
* 字典的 key 只能为数字、字符串、元组,大多数情况使用字符串作为key
* value的类型没有限制



创建了一个空字典

a = {}
print("type(a) = ", type(a))
print("a = ", a)

创建字典

a = {‘a’:123, ‘b’:456, 0:789}
print("type(a) = ", type(a))
print("a = ", a)


输出:



type(a) = <class ‘dict’>
a = {}
type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, 0: 789}

进程已结束,退出代码 0


* 使用 **dict** 创建字典
* 此时 key 只能是字符串



创建了一个空字典

a = dict()
print("type(a) = ", type(a))
print("a = ", a)

创建字典

a = dict(a=123, b=456, c=789)
print("type(a) = ", type(a))
print("a = ", a)


输出:



type(a) = <class ‘dict’>
a = {}
type(a) = <class ‘dict’>
a = {‘a’: 123, ‘b’: 456, ‘c’: 789}
进程已结束,退出代码 0


* 也可以传入一个列表或者元组,每个元素也是一个包含两个元素的列表或者元组
* 则此时可以按照第一个元素作为 **key**,第二个元素作为 **value**



传入列表

a = dict([[‘a’,123],[‘b’,456],[‘c’,789]])
print("type(a) = ", type(a))
print("a = ", a)

传入元组

a = dict([(‘a’,123), (‘b’,456), (‘c’,789)])
print("type(a) = ", type(a))
print("a = ", a)

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
img

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

如果你需要这些资料,可以添加V无偿获取:hxbc188 (备注666)
[外链图片转存中…(img-pPLvozxG-1713860411408)]

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值