先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Python全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Python知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注Python)
正文
切片截取的内容不包含结束下标对应的数据,步长指的是隔几个下标获取一个字符。
slice [start🔚step] 左闭右开 start<=value<end 范围
下标会越界,切片不会
#记住左闭右开的原则
定义一个对象
strmgs=‘Never give up’
1——8之间的数据
print(strmgs[1:8])
第3个字符到最后
print(strmgs[2:])
第1个字符到第3个 温馨提示:记住左闭右开的原则
print(strmgs[:3])
步长是什么?比如定义2,就是从当前开始到2个下标获取一个字符,在通俗点就是隔一个获取下一个
print(strmgs[::2])
负方向是倒序输出,如果步长选为-1,则反方向输出
print(strmgs[::-1])
同理,如果步长是-2,则反方向隔两个下标获取一个字符
print(strmgs[::-2])
共有方法有三种 + * in
+:两个对象相加操作,会合并两个对象
*:对象自身按指定次数进行 + 操作
in:判断指定元素是否存在于对象中,输出的是bool值
strA=‘I love’
strB=‘Python’
print(strA+strB)
print(strA*3)
print(‘I’ in strA)
‘’'输出
<class ‘str’>
Test的一个字符串r
r o d m a
1
r-o-d-m-a- -
rodma
Test的内存地址1863907131504
Test的内存地址1863907131504
rodma
-1
0
True
<class ‘str’>
I love python
True
False
False
I LOVE pYTHON
I Love Python
i love python
I LOVE PYTHON
ever gi
ver give up
Nev
Nvrgv p
pu evig reveN
p vgrvN
I lovePython
I loveI loveI love
True
‘’’
#### 二. 列表
>
> 1. list是一种有序的集合[],可以随时添加和删除其中的元素。
> 2. 列表的下标取值/切片/是否越界与字符串一致,区别就是列表是获取元素。
>
>
>
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201031133953712.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjY1NDExNA==,size_16,color_FFFFFF,t_70#pic_center)
**练习**
li=[] # 空列表
li=[1,2,3,4,‘python’,True]
print(type(li))
#len函数可以获取到列表对象中的数据个数
print(len(li))
append();在列表后面追加元素
count(): 统计元素出现的次数
extend(): 扩展,相当于批量添加
index(): 获取指定元素索引号
insert(): 在指定位置插入
pop(): 删除后面一个元素
remove():移除左边找到的第一个元素
reverse(): 反转列表
sort():列表排序 reverse=True为倒序
listA=[‘abcd’,785,12.23,‘qiuzhi’,True]
print(‘--------------增加-----------------------’)
print(‘追加之前’,listA)
listA.append([‘fff’,‘ddd’]) #追加操作
listA.append(8888)
print(‘追加之后’,listA)
listA.insert(1,‘这是我刚插入的数据’) #插入操作 需要执行一个位置插入
print(listA)
rsData=list(range(10)) #强制转换为list对象
print(type(rsData))
listA.extend(rsData) #拓展 等于批量添加
listA.extend([11,22,33,44])
print(listA)
print(‘-----------------修改------------------------’)
print(‘修改之前’,listA)
listA[0]=333.6
print(‘修改之后’,listA)
listB=list(range(10,50))
print(type(listB))
print(‘------------删除list数据项------------------’)
print(listB)
del listB[0] #删除列表中第一个元素
del listB[1:3] #批量删除多项数据 slice
listB.remove(20) #移除指定的元素 参数是具体的数据值
listB.pop(1) #移除制定的项 参数是索引值
print(listB)
#beg – 开始索引,默认为0。
#end – 结束索引,默认为字符串的长度。
print(listB.index(19)) #返回的是一个索引下标
查找,跟元祖有点不一样,这是左开右闭
print(type(listA))
print(listA) #输出完整的列表
print(listA[0]) #输出第一个元素
print(listA[1:3]) #从第二个开始到第三个元素
print(listA[2:]) #从第三个元素开始到最后所有的元素
print(listA[::-1]) #负数从右像左开始输出
print(listA*3) #输出多次列表中的数据【复制】
a=[21,45,66,78]
b=[1,2]
def add100(x):
i= 0
for item in x:
x[i]=item+100
i+=1
pass
return x
pass
print(add100(b))
def add100(x):
x+=100
return x
list2=list(map(add100,a))
print(list2)
a=[21,45,66,78]
print(list(map(lambda x:x+100,a)))
def Old(x):
if x>50:
return x
pass
print(list(filter(Old,a)))
‘’'输出
<class ‘list’>
6
追加之前 [‘abcd’, 785, 12.23, ‘qiuzhi’, True]
追加之后 [‘abcd’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888]
[‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888]
<class ‘list’>
[‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44]
<class ‘list’>
------------删除list数据项------------------
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
[10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
8
<class ‘list’>
[‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44]
abcd
[‘这是我刚插入的数据’, 785]
[785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44]
[44, 33, 22, 11, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 8888, [‘fff’, ‘ddd’], True, ‘qiuzhi’, 12.23, 785, ‘这是我刚插入的数据’, ‘abcd’]
[‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, ‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44, ‘abcd’, ‘这是我刚插入的数据’, 785, 12.23, ‘qiuzhi’, True, [‘fff’, ‘ddd’], 8888, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 22, 33, 44]
[101, 102]
[121, 145, 166, 178]
[121, 145, 166, 178]
[66, 78]
‘’’
#### 三. 元组
1. 元组与列表类似,不同之处在于元组的元素**不能修改**。元组使用**小括号**,元组也是通过下标进行访问
2. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。
3. 元组的内置方法:
>
> `count`:统计元素在元组中出现的次数
> `index` :查找指定元素在元组中的下标索引
>
>
>
4. 练习
#空元组
tupleA=()
print(type(tupleA))
#元组也可以用for语句查询
tupleA=(1,2,3,‘cd’,‘a’)
for item in tupleA:
print(item,end=’ ')
元组也可以使用切片,左闭右开
print(tupleA[-2👎])#倒着取下标 为-2 到 -1 区间的
#假设元组中放入队列
tupleA=(1,2,3,‘cd’,‘a’,[11,22,33])
print(tupleA)
#可以对队列的值进行修改(原本元组是不可以修改的)
print(type(tupleA[5]))
tupleA[5][0]=5500
print(tupleA)
tupleA[5].append(‘chen’)
print(tupleA)
‘’‘输出
<class ‘tuple’>
1 2 3 cd a (‘cd’,)
(1, 2, 3, ‘cd’, ‘a’, [11, 22, 33])
<class ‘list’>
(1, 2, 3, ‘cd’, ‘a’, [5500, 22, 33])
(1, 2, 3, ‘cd’, ‘a’, [5500, 22, 33, ‘chen’])
‘’’
#### 四. 字典
1. 字典是Python的中重要的一种数据类型,可以存储任意对像。
2. 字典是以**键值对**的形式创建的`{'key':'value'}`利用大括号包裹着。
3. 访问值的安全方式get方法,在我们不确定字典中是否存在某个键而又想获取其值时,可以使用get方法,还可以设置默认值
>
> 注意:
>
>
> 1. 字典的键(key)不能重复,值(value)可以重复。
> 2. 字典的键(key)只能是不可变类型,如数字,字符串,元组。
>
>
>
5. **常用方法**
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201031135532607.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjY1NDExNA==,size_16,color_FFFFFF,t_70#pic_center)
4. **练习**
空字典
dictA={}
print(type(dictA))
如何添加字典数据? key:value
dictA[‘name’]=‘陈运智’
dictA[‘age’]=30
print(dictA)
批量添加
dictA={“pro”:‘艺术’,‘shcool’:‘北京电影学院’,‘age’:30,‘pos’:‘xueshen’}
print(dictA)
通过键位修改值
dictA[‘pro’]=‘学生’
print(dictA)
添加更多数据
dictA.update({‘name’:‘陈运智’})
print(dictA)
获取所有键和值
print(dictA.keys(),dictA.values())
print(dictA.items())
for key,value in dictA.items():
print(‘%s==%s’%(key,value))
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
tems())
for key,value in dictA.items():
print(‘%s==%s’%(key,value))
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注python)
[外链图片转存中…(img-fqF1J8TP-1713348572590)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!