重新拾起转行的想法|||看到了函数部分
来源:互联网 发布:安卓e4a编程工具手机版 编辑:程序博客网 时间:2024/04/29 01:50
跟着廖雪峰的教程继续学习python
同时一起看的还有 MIT的计算机导论
希望一年后能步入正轨
第一天有几个进步
1、学会使用了Python自带的IDE,CPython,知道怎样用自带的编辑器打代码和运行了。之前用的都是powershell+notepad++(《笨办法学python》教的),不断摸索新的方法去学习才能不固步自封~
2、教程中提到为何不能将默认参数放在必需参数面前,个人的想法是默认在前的话,就像二元一次方程ax2+bx+c,abc都是默认的,如果忘记输入了必须参数,拿这方程就没有意义了,函数也没有意义了。是这样么。。初步记下来,词不达意。
3、关于默认参数,必须是不变量,tuple或者string。这样才不会在运行过程中被更改而导致函数出错
4、关键字参数 教程里是这样使用的
kw = {'city':'Beijing', 'job': 'Engineer')person('Jack', 24, **kw)
其实这里的kw似乎是可以换掉的 比如dict = {'city':'Beijing', 'job': 'Engineer')
person('Jack', 24, **dict)
输出结果也一样。 就是说明关键字参数的条件是 ** 。姑且这样看吧。。hhh
(噢他最后写了 *args, **kw是习惯写法 最好这样用 嘻嘻嘻)
5、尾递归,在返回的时候调用函数本身,且不能包含表达式,这样就不会不断地增加栈,导致栈溢出。但是python和其他一些语言都没有针对尾递归做优化,所以都有栈溢出的风险。但是廖雪峰大大也说了尾递归和循环效果相同。所以我要学会在python中用循环来表现出尾递归。防止栈溢出。。hhh
6、列表生成式
L = range(1,10)[x * x for x in L if x % 2 ==0]
一句简短的话省下许多代码量,python的代码越短越好 越简单越好。 但是此处方括号中 最后只能有if 不能有else或elif。 但是前面的‘所求数’((x * x) 或称为process(x))是可以用if...else来写的。
7、生成器,这是在笨办法里没有见过的。“他是一个一边循环一边计算的机制” Generator。
原来方法之一就是把刚才列表生成式外面的方括号变成圆括号。之前我已经尝试过了 不知道弄出来个什么东西,我本意是想生成tuple 后来发现既然是list生成式 所以没有深究,悲伤、、咸鱼如我。
g = (x * x for x in range(10))<generator object <genexpr> at 0x0000000002EF6798>
生成器和列表等类型都是可以迭代的,最基本的用 generator.next() 来调用,但是一般来说用 for...in...比较方便。
第二种生成器的表达方式是把函数中的‘return’改为yield.
- 重新拾起转行的想法|||看到了函数部分
- 重新拾起求职的感觉!
- 重新拾起我的博客
- 重新拾起csdn的博客
- 重新拾起遗落的技能
- 重新拾起C语言的威严
- 重新拾起刷题- 明明的随机数
- 重新拾起ACM
- 重新拾起java学习
- 重新拾起程序路
- 重新拾起linux c
- 重新拾起博客
- 放下的全都该拾起来了。
- 重新拾起我的心情,扬起我牛年的希望
- 今天开始重新拾起写Blog的习惯
- [心情随笔]转行之前的一些想法
- NO0:重新拾起C语言
- 准备做一个项目,2年没看java了,现在重新拾起来
- 【规则引擎连载2】 WebSphere ILOG JRules 开发——新建一个规则项目的bom
- primary key 与 unique 约束的区别与作用
- Codeforces刷题之路——546A Soldier and Bananas
- iOS之NSURLSession的使用
- BT配对/取消配对示例
- 重新拾起转行的想法|||看到了函数部分
- Android 强大的Picasso,自定义图片效果
- python的module检索
- 车站分级(拓扑排序)
- window平台下VS2013结合Qt的google breakpad异常捕捉
- Linux vmstat命令实战详解
- servlet学习笔记---Cookie记录上次访问时间和访问次数
- iOS系统下检查第三方APP是否安装及跳转启动
- C# 单例模式