记得在大二为了学习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的引用。