看了微博上一位叫做@五道口宅男 的文章后有一些启发 贴上网址http://top.jobbole.com/4681/
po主建议了学习python的一些步骤 我觉得很适合自己所以采纳之!
今天开始博客写下学习历程吧
今天学习了几样python的特性
列表生成式:
可以更加方便的生成list 格式:
[ 规则 ]
介绍的太简单了 哈哈
例子像这样
L = ['Hello', 'World', 18, 'Apple', None]
[s.lower() for s in L if isinstance(s, str)]
具体规则看廖雪峰的python教程吧http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/00138681963899940a998c0ace64bb5ad45d1b56b103c48000
暂时只是想记录下自己的行踪 所以不会很详细的记录
生成器:
之前也读过一些书籍与python的官方文档 但是都没能了解yield 但是这次可算是懂了
定义一个函数后 只要在其中加入了yield 值 这个形式 那么函数就变成生成器了
这个生成器被使用的方法一般为 在迭代式中 即for each in 生成器的结构中使用
从第一次调用后 函数每次运行到yield便返回值作为迭代式此次迭代值的值 然后函数在后台就暂停【不是真正的返回 其局部变量等都会存在】一直到函数满足一定条件运行到最后 即作为整个生成器中包含的所有元素 迭代式结束 最后一次yield的值即为此迭代对象的最后的值
高阶函数:
类似C语言中可以使用一个函数指针来指向不同的函数 从而可以在其他函数中以传入参数的形式 在函数中调用此函数
python中例如map()函数 就可以以函数为输入参数计算输出
除此之外还有一点是python中可以在函数中定义另外一个函数,从而让一个函数对象作为返回值返回
他举了一个例子
def lazy_sum(*args):
def sum():
ax = 0
for n in args:
ax = ax + n
return ax
return sum
那么这个函数的返回值依然是一个函数
当我写下
f=lazy_sum(*[1,2,3,4])时 返回的会是一个函数
引用博客中的话
当lazy_sum
返回函数sum
时,相关参数和变量都保存在返回的函数中,这种称为“闭包(Closure)
我还是不太明白闭包的意思 但是总之在上例中 写下f()后 会返回的值就是10 今后再好好学习!
关于函数的传入参数:
今天刚刚知道可以使用一下两个方式传入参数
*args:以列表方式为每个函数的传入参数赋值
**kw :以dict方式为函数中每个关键字传入参数
so 具体细节依然看廖雪峰的博客啦:
http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738449338c8a122a7f2e047899fc162f4a7205ea3000
今天先到这里!
以上