python学习1
记得在大二为了学习django学了一会python,由于当时没什么耐心学python只用了很少时间,当时也感觉比较难,然后硬着头看django,可能真的由于python没学好,导致django学习失败。也有可能是当时学习能力的限制吧,不过今天经历了多种语言的洗礼后,有学了一下,感觉还好。不过此次学python,是为了学习网络编程。以下是看了一篇速成文章后的笔记1. Help(对象),dir(对象)
2. If和else要后面加冒号
3. python 有两种针对不定参数个数的独门武功
3.1.def foo (*params):
if len(params) ==0:
print 'noparameter' # 如果调用方式为 foo() 则进入这里
else
print params # 如果调用方式为 foo(1, 2, 3, 4),则这里输出为 (1, 2, 3, 4),params 是一个 tuple
3.2.def bar (**params):
if len(params) ==0:
print 'noparameter' # bar()
else
print params #bar(name='ddh', age=32),则这里输出为 {'name' : 'ddh', 'age' : 32},params 是一个 dict。
4. 变量和引用
4.1.Python 所有的变量(不仅仅是传参)都是基于对象引用的
4.2.python 的对象分为两种,一种叫 immutable(对象没有方法改变自己,比如str),还有一种叫 mutable(有方法改变自己,比如list)
4.3.例子:
def foo (s):
s = '456'
name = '123'
foo(name)
name
输出结果:’123’
name刚开始是一个内容为123的str对象的引用,不妨设这个str对象为hehe,然后调用foo(name),s就成为了对hehe这个str对象的引用,接下来,执行s ='456',s就成为了内容为’456’这个str对象的引用,不再是对hehe的引用。而name还是对hehe的引用。
4.4.疑问,那如果想改变实参的值,怎么办,有待将来探讨。知道了,就是利用immutable对象的特点啊。总之记得python里面,变量就当引用处理(暂时是这么认为),我们无从触摸到对象的本体,只能对对象的引用做处理,通过这个引用来调用该对象的方法改变该对象(只能是immutable)
5. 处理异常:TRY...EXCEPT
6. 类
6.1.成员函数访问成员变量必须把self(比c++的this弱一点)作为参数
6.2.没有self的成员函数类似c++的静态成员函数
6.3.继承
页:
[1]