看到群里有人说,Baidu AI studio 的平台确实是国内非常非常良心的一款编程实训平台,至少对我这样一个小白来说,在学习python 的过程中,这个平台上手起来非常快。
在这次课程中,两位老师都非常尽心尽责,从python的实现原理到场景应用都讲的很详尽,让我这样的python萌新也比较容易理解。在学习过程中,也看到了作为一门面向对象的高级语言,py比C在一些方面方便得多,更适合一些高级的开发工作。
就像朱子英老师说,现在是寒假,持续学习python的每个人都是好样的!我也相信,所有付出都会有所回报!
这里附上课程链接:https://aistudio.baidu.com/aistudio/course/introduce/7073
然后就是作为一个小白的
学习心得辣,这里就想分享一下python中比较有特色的
生成器:
试想,如果想要储存一系列整型元素“1,2,3,4,5”,可以怎么做?
这里有一种最古老的方法:
list_1 = [
1
,
2
,
3
,
4
,
5
] #创建列表
或者高端一点
[n
for
n
in
range(5)] #列表生成式
But:
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的,如果我们要存储海量数据,但是我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了,所以,py给我们提供了生成器——
它允许我们
不创建完整的list,所以可以节省大量的空间
生成器(
generator
)有两种定义方法:
1.类似于列表生成式:
L = [x * x
for
x
in
range
(
10
)]
g = (x * x
for
x
in
range
(
10
))
2.
函数定义法:
令一个函数中包含
yield
关键字,调用函数就可以创建一个生成器
比如,我们借用AI studio 里的例子:
def factor(max_num):
# 这是一个函数 用于输出所有小于max_num的质数
factor_list = []
n = 2
while n<max_num:
find = False
for f in factor_list:
# 先看看列表里面有没有能整除它的
if n % f == 0:
find = True
break
if not find:
factor_list.append(n)
yield n #yield 可以理解为关键字
n+=1
总的来说, 在Python中,生成器就指一种计算机中一边循环一边计算的机制,在循环产生元素时,把元素用于程序其他部分功能的实现。
本人还是一名小白耶,如果阐述有误,欢迎指正丫~
来源:oschina
链接:https://my.oschina.net/u/4988392/blog/4952238