python学习 第一天
正式学习python第一天,网上找到了python教程,带练习题的,又装了ubuntu。
这是学习笔记:
list[]: 可变,append/1,insert/2,pop/index? tuple(): 不变 dict{}: 可变,values/0,itervalues/0,values/0,iteritems/0,items/0 set([]): 可变,add/1,remove/index str: .join/list .capitalize/0 .title/0 .upper/0 .lower/0 .strip(rm), len/1,
enumerate/1,
zip/2,
isinstance/(var,type),
map/(fun/1,list),
reduce/((fun/2+start?),list),
filter/(fun/1,list),
sorted/(list,diy_cmp_fun/2), !def!内层函数引用了外层函数的参数,然后返回内层函数的情况,称为闭包(Closure)
!ex!
def calc_sum(lst):
def lazy_sum():
return sum(lst)
return lazy_sum
!note!不要引用任何循环变量,或者后续会发生变化的变量
!dying!
def count():
fs = []
L=range(1,4)
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
r=f(i)
fs.append(r)
return fs f1, f2, f3 = count()
print f1(), f2(), f3()
View All Note
学到list的切片,发现和matlab相似,很是欣喜,因为有点matlab基础,所以瞬间过关,信心暴增。
学到生成列表表达式,让我惊叹不已,它表达的方式很贴切,好用,用来生成html时,信心再次暴增,因为懂点html标签,又过了一关。
到闭包那里就感情复杂了,这东西能返回特定的函数,虽然不懂干啥用,但还是觉得很厉害的样子。被练习题难倒,好不容易才有的头绪。
这里面牵扯了种种指针,学过c,所以勉强理解。差点崩盘,在此祭出答案压压惊。
def count():
fs = []
L=range(1,4)
for i in range(1, 4):
def f(j):
def g():
return j*j
return g
r=f(i)
fs.append(r)
return fs f1, f2, f3 = count()
print f1(), f2(), f3()
题目在慕课网.python进阶.闭包。
我的理解:函数f接受j(即i),在自己的内存里创建j的副本,这样j为1或2或3,就固定下来,返回的g函数就为1×1或2×2或3×3,r为f(i)的指针即r()等价与f(i),与原代码不同的是,此时的i已经被闭入f,f又能返回此时的状态,所以i再变化也影响不到j×j,这大概就是所谓的“闭包”吧。之后将函数指针并入list传到count的外面,就能食用了。
这是第一天,继续加油。
python学习 第一天的更多相关文章
- python学习第一讲,python简介
目录 python学习第一讲,python简介 一丶python简介 1.解释型语言与编译型语言 2.python的特点 3.python的优缺点 二丶第一个python程序 1.python源程序概 ...
- Python学习-第一天-函数和模块的使用
目录 Python学习-第一天总结 print输出的一种简单格式 函数参数之可变参数 模块管理函数 if else语句的单行实现(简洁) 变量作用域 函数书写格式 Python学习-第一天总结 pri ...
- python 学习第一天
第一天接触python,首先感谢老男孩的授课老师!!!! 今天的知识点: 1.首先接触到python的第一个模块getpass(这边有点迷茫,不能确定的是这个getpasss是一个库还是一个模块)ge ...
- Python学习第一篇
好久没有来博客园了,今天开始写自己学习Python和Hadoop的学习笔记吧.今天写第一篇,Python学习,其他的环境部署都不说了,可以参考其他的博客. 今天根据MachineLearning里面的 ...
- python学习第一
#python学习day1#一.变量#变量命名规范:#驼峰命名法:AgeOfPlane#下划线命名(推荐):age_of_plane#变量格式同C/C++#注意:变量不以中文命名:变量不宜过长:变量因 ...
- python学习 第一章(说不定会有第零章呢)one day
------------恢复内容开始------------ 一.啥是python python是吉尔·范罗苏姆于1989年开发的一个新的脚本解释程序,是ABC语言的一种继承. 二.python的特点 ...
- Python学习第一弹——Python环境搭建
一.Python简介: Python,是一种面向对象.解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python语法简洁而清晰,具有 ...
- python学习第一天内容整理
.cnblogs_code { width: 500px } 一.python 的历史 (摘自百度百科,了解就ok) Python[1] (英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn ...
- python学习第一天基础篇
学习背景:决定开始学习python之前,因为公司基本都是微软系统,所以很少碰到linux系统,机缘巧合接到了一个项目是使用shell对mysql进行backup,因为公司唯一的系统工程师是微软在行,对 ...
随机推荐
- 自动化运维工具Ansible详细部署 (转载)
自动化运维工具Ansible详细部署 标签:ansible 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://sofar.blog. ...
- 3、CCS样式表
一.CCS样式表的分类(优先级从低到高): 1.浏览器默认样式表 2.外部样式表:在外部创建的.ccs文件中.使用外部样式表可以使样式应用于多个网页.通过这个方法只需改动一个文件就能改变整个网站的外观 ...
- HDU 1003 maxsum
#include<iostream> #include<vector> using namespace std; typedef struct { int maxsum; in ...
- css浏览器兼容问题
https://www.douban.com/group/topic/4629864/
- jQuery入门(2)使用jQuery操作元素的属性与样式
jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax()应 ...
- 兼容IE8以下浏览器input表单属性placeholder不能智能提示功能
当前很多表单提示使用了表单属性placeholder,可这属性不兼容IE8以下的浏览器,我自己写了一个兼容处理js // 兼容IE8以下浏览器input不能智能提示功能 if(navigator.ap ...
- appCan uexLocation 定位功能
js的引用: <script src="../js/zy_control.js"></script> <script src="../js/ ...
- UTC与GMT时间
整个地球分为二十四时区,每个时区都有自己的本地时间.在国际无线电通信场合,为了统一起见,使用一个统一的时间,称为通用协调时(UTC, Universal Time Coordinated).UTC与格 ...
- plist文件的读取和xib加载cell
plist 文件读取 例如在工程里倒入了plist文件 在工程里需要用到plist文件里的信息,就需要把plist文件读取出来. 如程序: -(NSArray *)moreDataArr{ if (! ...
- python:列表与元组
1.python包含六种内建的序列,列表和元组是其中的两种,列表可以修改,元组则不能 2.通用序列操作 2.1 索引:和C#的区别是索引可以为负数,最后一个元素索引为-1,索引超出范围会报错 例:&g ...