python基础学习---2

1)条件判断与循环

if  ...:
    ....
    ....
else:
    ....
for xx in yy:
    ...
while xx:
    ...

2) dict 和 set:

dict:

{key:val} 使用key-value存储,具有极快的查找速度,key是不可变的

和list比较,dict有以下几个特点:
查找和插入的速度极快,不会随着key的增加而增加;
需要占用大量的内存,内存浪费多


set:

key的组合.([key,key,key])  []并不代表是一个list,重复元素会被过滤


3)函数

def 定义

函数的参数:

默认参数:在定义函数的时候,就赋予了一个默认值。Note:默认参数必须在后面,默认参数必须指向不变对象,否则你一调用就会改变默认参数的值

可变参数:*numbers  在下面调用参数的时候还是用numbers。不过在函数内部这个numbers是一个tuple。不是一个个数值

关键字参数:**kw  kw接受的是一个dict,也就是传说的字典。拥有key and value

def person(name,age,**kw):
    print 'name:'name,'age:'age,'other:'kw

参数组合:顺序很重要  必选参数,默认参数,可变参数,关键字参数

递归函数:

有一个if 来终止递归。否则在else里面不断调用自己。


4)高级特性

切片:list and tuple  a[1:3]截取从1开始 到3结束 不包括3.等于 == >[1,3)

迭代:for循环

for key in value:
    print key


列表生成器:[]  表达式或者说是一个式子      式子中参数的表达式或者说是来源

import os 
[d for d in os.listdir('.')]

generator函数:

使用()

在循环的过程中不断推算出后续的元素,节省空间

如果一个函数定义中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator

generator与函数不一样的地方在于,函数式顺序执行的。遇到return返回。下一次在这样。而generator则是不一样的,每次调用next()才执行。遇到yield就会返回,下次从这个yield的地方再次执行。

本文出自 “ehealth” 博客,谢绝转载!

你可能感兴趣的:(测试)