[python语法语义] Python入门笔记

jindw 2008-11-16
凌晨了,无意间看到这样一本书,貌似还挺简单的。
http://www.math.pku.edu.cn/teachers/lidf/docs/Python/python-tutorial.html

先记录一下目前的认识:

1。最明显的外表特征:缩进表示结构(java,c,js中的{})
2。支持yield,这个语法特征不错^_^

就这么一点,剩下的虚心学习吧。又错误的地方,还请大家多多指点^_^

今晚把读书笔迹记录在留言里。

=================================
引用

和JS一样,变量是不需要申明的。

字符串的表示也和js一样。

字符串还支持*,这个语法有创意。

字符串用下标直接获取子字符串(python没有字符类型);
更有创意的是,复合下标直接支持slice功能:"ABC"[1:2]=>"B"


复合下标还支持缺省值:"ABC"[1:]=>"BC";"ABC"[:1]=>"A";

不合理的下标,自动帮你修正。

负数下标也很有创意,直接从后面数。


多行文本,"""   """,这个设计感觉比JS的行尾\方便不少。

列表:估计和JS的数组差不多,语法也差不多[x,y,z],应该是个好用的东西。

列表的下标也很强大,和上面的字符串差不多。

变量申明可是很古怪很强大:a,b = 1,2;我估计函数返回值也应该是这样。

CCTV4 百家讲坛结束了:( 安心学习。

===========================
引用
没有块结构,可是if for等语句没有end,这个在命令行敲代码的时候有点麻烦,程序不知道你啥时候结束呢


if 居然不带括弧:if x>0:;奇怪的elif(相当于else if)


for in 语句和JS的行为可不一致,for的直接是数组的值(js得到的只是所用,身政还包括某些侵入Array原型的方法名)

range很好很强大

for的else 语句设计可不是很好,我的第一印象:else应该是for发生循环0次时,执行else。而python的设计是只有break了,才跳出else。

for里面加了个pass,continue吗?估计是。

函数定义:def fn(p):

函数支持默认参数设定,跟php学的?

缺省参数只计算一次,所以,缺省参数还是别放对象类型把,不然以后可能不知道怎么去死。

你还可一不关心参数的顺序,但是这种情况调用的时候你要给出参数名,这个设计挺有创意的:fn(aa=1,bb=2)

参数 *,**修饰,吓我一跳,还以为是指针呢,原来是表示不定参数(数组),或者map参数(key = value)。不错,有意思。

简单的lambda,表达式函数


临晨1点半了。一个小时过去了,继续


=============================================

引用

列表,字符串。这是实现,他们都是系列。还冒出个序表(tuple)?复杂了,掠过。

条件运算:and or 代替C的&& ||。in not in is is not 自然语言了?开始还是有点不太适应这个风格。

回头看看:还有一个del操作。

还有filter,map,reduce三个重要方法。filter是帮你清除异己,map是帮你培养亲信,reduce?天塌了。

又过了15分钟

===============================================

引用

模块的导入,有点像java,一堆路径里面查找;但是,它的模块不是包,包里面的文件才是模块。

import带上from。不带from只是装载,如要访问还需要指定完整路径

*导入还要依赖一些包定义数据,和我的JSI有点像^_^


困了,明天继续

supercode 2008-11-18
for里面加了个pass,continue吗?估计是。


pass是什么也不做,像C里{},continue大家都会知道了
------------------------------------------
strs =['a','b','c']
for s in strs:
    pass
    print s
输出:a b c

for s in strs:
    continue
    print s

输出:无
gm8pleasure 2008-11-19
继续。。。
奎木狼 2008-12-14
现在python3.0出来了,语法有变化了
goddy128 2008-12-14
脚本的东西,语法本来就差不多~~~
ahuaxuan 2008-12-14
jindw来学python了,热烈欢迎呀
bohemia 2008-12-17
yield
lambda
我看着头晕; 容易出问题; 如果可能,我更愿意用稳妥的方式实现想要的功能;

自己玩的话偶尔用用不错.
Global site tag (gtag.js) - Google Analytics