先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
正文
i = 0
while i < 3:
i += 1
print(‘于小漫’)
else:
print(‘打印完成’)
于小漫
于小漫
于小漫
打印完成 执行三次while循环中打印语句后执行else下打印语句。
**注意:**
一定要设置变量循环停止条件,否则将进入死循环。
---
#### 2.for
for语句主要用于循环遍历序列项目,如列表、元组、字符串等。
for循环语句
for i in [1,2,3]:
print(i)
1
2
3 依次循环打印列表内每一个元素。
for…else循环语句
for i in [1,2,3]:
print(i)
else:
print(‘打印完成’)
1
2
3
打印完成 依次循环打印列表内每一个元素后执行else下打印语句。
---
#### 3.range
range(start, stop[, step])
start: 计数开始,默认值为 0 。例如range(3)等价于range(0, 3);
stop: 计数结束,但不包括 stop。例如:range(0, 3);只包含0、1、2不包含3。
step:计数步长,默认值为1。例如:range(0,3) 等价于 range(0, 3, 1)。
for i in range(3):
print(i) # 0 1 2 开始位置为0,结束位置为3,计数步数为1。
for i in range(1,3):
print(i) # 1 2 开始位置为1,结束位置为3,计数步数为1。
for i in range(1,6,2):
print(i) # 1 3 5 开始位置为1,结束位置为6,计数步数为2。
---
#### 4.continue
continue语句用来跳过当前循环的剩余语句,然后继续进行下一轮循环。
while…continue语句
x = 0
while x < 5:
x += 1
if x == 4:
continue
else:
print(x)
依次打印 1 2 3 5,因为当 x = 4 时执行if判断中语句continue,
跳过当前循环,执行下一个循环,所以不会执行else中语句故不会打印x值。
for…continue语句
for x in range(1,6):
if x == 4:
continue
else:
print(x)
依次打印 1 2 3 5,因为当 x = 4 时执行if判断中语句continue,
跳过当前循环,执行下一个循环,所以不会执行else中语句故不会打印x值。
---
#### 5.break
break 语句用来终止循环语句,即循环条件没有 False 条件或者序列还没被完全循环完成,也会停止执行循环语句。
while…break
x = 0
while x < 5:
x += 1
if x == 4:
break
else:
print(x)
依次打印 1 2 3 ,因为当 x = 4 时执行 if 判断中语句 break ,跳过出循环,
不再执行下一个循环,所以不会执行剩余语句和 else 中语句,故不会打印 x 值。
for…break
for x in range(1,6):
if x == 4:
break
else:
print(x)
依次打印 1 2 3 ,因为当 x = 4 时执行 if 判断中语句 break ,跳过出循环,
不再执行下一个循环,所以不会执行剩余语句和 else 中语句,故不会打印 x 值。
---
#### 6.pass
pass 是空语句,是为了保持程序结构的完整性,不做任何事情,一般用做占位语句。
for x in range(1,6):
if x == 4:
# 未填写满足条件判断执行语句。
else:
print(x) # IndentationError 缩进错误。
for x in range(1,6):
if x == 4:
pass # 填写占位语句 pass。
else:
print(x) # 1 2 3 5 运行正常。
---
#### 7.生成式
x = [i for i in range(1,6)] # 列表生成式
print(x) # [1, 2, 3, 4, 5]
x = [i for i in range(1,6) if i > 2]
print(x) # [3, 4, 5]
x = [x * y for x in range(1,3) for y in range(3,6)]
print(x) # [3, 4, 5, 6, 8, 10]
x = {i for i in range(1,6)} # 集合生成式
print(x) # {1, 2, 3, 4, 5}
x = {i for i in range(1,6) if i > 2}
print(x) # {3, 4, 5}
x = {x * y for x in range(1,3) for y in range(3,6)}
print(x) # {3, 4, 5, 6, 8, 10}
x = {str(i): i2 for i in range(2,6)} # 字典生成式
print(x) # {‘2’: 4, ‘3’: 9, ‘4’: 16, ‘5’: 25}
x = {str(i): i2 for i in range(1,6) if i > 2}
print(x) # {‘3’: 9, ‘4’: 16, ‘5’: 25}
---
### 三、函数应用
函数定义∶函数是一种仅在调用时运行的代码块,可以将数据(称为参数)传递到函数中,把数据作为结果返回;
函数组成∶函数定义关键字(def)、函数名、参数和函数体;
函数作用∶ 减少重复代码,提高编程效率函数的多参数。
---
#### 1.函数创建
def hello() : # 自定义函数hello()
print(‘Hello World!’) # 函数未调用所以不会执行打印
---
#### 2.函数调用
def hello() : # 自定义函数hello()
print(‘Hello World!’) # 打印执行函数内语句 Hello World!
hello() # 调用函数hello()
---
#### 3.函数参数
**1)位置参数∶** 参数必须以正确的顺序传入函数。调用时的数量必须和声明时的一样。
def num(x,y) : # 设置参数 x、y
print(x,y)
num(2,3) # 传入位置参数 x、y 值,返回 2 3
num(3,2) # 传入位置参数 x、y 值,返回 3 2
**2) 关键字参数∶**参数和函数调用关系紧密,函数调用通过 [参数名 = 值] 的方式传入参数。
def num(x,y) : # 设置参数 x、y
print(x,y)
num(x = 2 ,y = 3) # 传入关键参数 x、y 值,返回 2 3
num(y = 3 ,x = 2) # 传入关键参数 x、y 值,返回 2 3
**3)默认参数:**定义函数时,给参数赋值一个默认值,调用函数时,如果没有传入位置参数的值,则在函数内部使用参数默认值。
def num(x, y = 5) : # 设置参数 x 和 默认参数 y
print(x, y)
num(2) # 传入位置参数 x 值,参数 y 值取设置默认参数值,返回 2 5
num(2,3) # 传入位置参数 x 值,参数 y 值取传入位置参数值,返回 2 3
**4)不定长参数:**当函数需要处理的参数个数不确定时,可使用不定长参数。
\*args — 用于存放元组参数,\*\*kwargs — 用于存放字典参数
def num(x, *args): # 设置位置参数 x 和 不定长参数 args
print(x) # 1
print(args) # (2, 3, 4)
num(1, 2, 3, 4)
def num(x, **kwargs): # 设置位置参数 x 和 不定长参数 kwargs
print(x) # 1
print(kwargs) # {‘a’: 2, ‘b’: 3, ‘c’: 4}
num(1, a = 2, b = 3, c = 4)
def num(x, *args, **kwargs): # 设置位置参数 x 和 不定长参数 args、kwargs
print(x) # 1
print(args) # (2, 3)
print(kwargs) # {‘a’: 4, ‘b’: 5}
num(1, 2, 3, a = 4, b = 5)
**注意:**
位置参数(name)一定要放在关键参数(age = 5)前面使用;
传参时位置参数必需按顺序输入,关键参数可无序输入。
def f(a, b, *, c): # 如果单独出现星号 *,则星号 * 后的参数必须用关键字传入 。
return a + b + c
print(f(1, 2, c =3 )) # 也就是说 * 号后面参数 c 传入时必须是以关键参数进行传入。
---
**5)强制位置参数:**Python3.8 新增了一个函数形参语法 / 用来指明函数形参必须使用指定位置参数,不能使用关键字参数的形式。
def x(a, b, /):
print(a, b)
x(1, 2) # / 前的形参传入时必须是位置参数,否则会报错SyntaxError语法错误。
def x(a, b, /, c, d, *, e, f):
print(a, b, c, d, e, f)
x(1, 2, c=3, d=4, e=5, f=6)
/ 前a、b必须是位置参数,c、d可以是位置或关键参数,* 后e、f必须是关键参数,否则会报错。
---
#### 4.return
return语句用于退出函数,把函数内执行结果返回给调用语句执行结果。
def num(x, y): # 设置参数 x,y
return # 不带参数值的 return 语句返回 None
print(num(2, 3)) # None
因为没有结果返回给调用函数故打印None。
def num(x, y): # 设置参数 x,y
return x + y # 将函数内结果返回给调用函数
print(num(2, 3)) # 5
传入参数后,将 return 返回值执行打印。
def num(x, y): # 设置参数 x,y
return x,y # 将函数内结果返回给调用函数
print(num(2, 3)) # (2, 3),多个返回值会以元组形式返回
如果函数有多个返回值,每个返回值使用英文逗号隔开。
---
#### 5.lambda
匿名函数是不需要通过 def 来声明函数名字,只需通过lambda关键字来定义的函数。
num = lambda x,y : x + y
print(num(2,3)) # 5
num = lambda x,y = 3 : x + y
print(num(2)) # 5
num = lambda x : True if x == 2 else False
print(num(3)) # False
---
#### 6.map
map()函数会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,
返回包含每次 function 函数返回值的新列表。
x = list(map(lambda a: a * 2, [1, 2, 3, 4, 5]))
print(x) # [2, 4, 6, 8, 10] 将序列中每一个元素都执行函数操作 。
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
![img](https://img-blog.csdnimg.cn/img_convert/6a63f122c70528d795cb5507b4df764b.png)
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
---
#### 6.map
map()函数会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,
返回包含每次 function 函数返回值的新列表。
x = list(map(lambda a: a * 2, [1, 2, 3, 4, 5]))
print(x) # [2, 4, 6, 8, 10] 将序列中每一个元素都执行函数操作 。
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-qcodBq8J-1713317966651)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**