1. 字典
dic.keys() 返回字典中所有的键
dic.values() 返回字典中所有的值
2. 条件语句
条件判断行的结尾务必加上冒号(:)
缩进相同的被识别为同一等级代码
3. True:所有非空的量以及非零的数
False:0,None,空的量
4. 可能用到的逻辑结构
and, or, not
5. for循环
else后的语句是在for中内容执行结束后进行,但如果使用break跳出for循环,则else中的语句不会被执行。
range(i,j[,step])
i为初始值,默认为0;j为结束值,但不包括在范围内;step为可选参数,只能设定为整数,不选默认为1。
xrange()返回的是一个迭代对象,相对range更节省空间,之后细讲。
6. pass 是python中的空语句,称为代码桩
7. while循环
8. 函数
def 函数名(参数列表): #可以没有参数
函数体
a. 形式参数和实际参数
可以在形参处设置缺省参数
def machine(x,y='奶油')
print '生成一个 ',x,' 元 ',y,' 口味的冰淇淋'
global 变量名,在函数内部使用,将一个变量强制定义为一个全局变量,
但如果相应函数没有被调用,那么该全局变量的定义无效。
d. 函数不写return,默认返回值为None,即空
e.通过使用星号(*)可以将列表或元组中的变量一一对应,传到函数中
order = [3,'奶油']
machine(*order)
传递字典时,需要使用双星号(**),但是字典中的keys必须与形参命名完全相同,
如:
f. 处理多余参数
g. lambda函数
lambda 参数1,参数2,...,参数n:返回值
适合单行调用,如果仅单次使用,可以不给定函数名,如在reduce函数中使用函数,如果无须再调用,可以直接利用lambda进行函数定义。
h. Python中不存在switch语句,可以利用字典来实现(if语句的内容其实也可等价为字典方法)
使用字典的get方法时要注意get方法的小陷阱,判断应利用xxx!=None来进行,否则,当字典中key对应的值为0时,会出现错误。 正确示例如下:
i. 内置函数filter,zip,map
dic.keys() 返回字典中所有的键
dic.values() 返回字典中所有的值
2. 条件语句
if expression:
statement(s)
elif expression:
statement(s)
elif expression:
statement(s)
else:
statement(s)
条件判断行的结尾务必加上冒号(:)
缩进相同的被识别为同一等级代码
3. True:所有非空的量以及非零的数
False:0,None,空的量
4. 可能用到的逻辑结构
and, or, not
5. for循环
for expression:
statement(s)
else:
statement(s)
else后的语句是在for中内容执行结束后进行,但如果使用break跳出for循环,则else中的语句不会被执行。
range(i,j[,step])
i为初始值,默认为0;j为结束值,但不包括在范围内;step为可选参数,只能设定为整数,不选默认为1。
xrange()返回的是一个迭代对象,相对range更节省空间,之后细讲。
6. pass 是python中的空语句,称为代码桩
7. while循环
while expression:
statement(s)
8. 函数
def 函数名(参数列表): #可以没有参数
函数体
a. 形式参数和实际参数
可以在形参处设置缺省参数
def machine(x,y='奶油')
print '生成一个 ',x,' 元 ',y,' 口味的冰淇淋'
b. 缺省参数的设置必须从右向左赋值
global 变量名,在函数内部使用,将一个变量强制定义为一个全局变量,
但如果相应函数没有被调用,那么该全局变量的定义无效。
d. 函数不写return,默认返回值为None,即空
e.通过使用星号(*)可以将列表或元组中的变量一一对应,传到函数中
order = [3,'奶油']
machine(*order)
传递字典时,需要使用双星号(**),但是字典中的keys必须与形参命名完全相同,
如:
dict1 = {x:3,y:'奶油'}
machine(**dict1)
f. 处理多余参数
def func(x, *args)
除了x接收的第一个值外,其余的全进入args,构成一个元组;
def func(x, *args, **dict2)
当出现指定存值时,若形参中没有,可以存入dict2构成一个字典。必须按顺序赋值,指定赋值后不可再出现非指定赋值,会报错。
g. lambda函数
lambda 参数1,参数2,...,参数n:返回值
适合单行调用,如果仅单次使用,可以不给定函数名,如在reduce函数中使用函数,如果无须再调用,可以直接利用lambda进行函数定义。
h. Python中不存在switch语句,可以利用字典来实现(if语句的内容其实也可等价为字典方法)
使用字典的get方法时要注意get方法的小陷阱,判断应利用xxx!=None来进行,否则,当字典中key对应的值为0时,会出现错误。 正确示例如下:
mydict = {1:0, 2:3}
if mydict.get(1) != None:
print "key = 1 exists"
else:
print "key = 1 not exists"
if mydict.get(2) != None:
print "key = 2 exists"
else:
print "key = 2 not exists"
i. 内置函数filter,zip,map
filter(函数,sequence)
函数中为True的值留下,并保存为列表
zip(列表1,列表2,...,列表n)
将n个列表按最短的一个的长度、对每个列表中的元素进行拼接构成元组,然后由这些元组组成一个列表
map(函数or None,列表1,列表2,...,列表n)
可以利用函数进行处理再拼接,也可以不写函数,直接拼接,但列表较短的,相应拼接时元素用None代替
#coding:utf8
#coding:gbk #windows环境下,应使用后者
主要学习资料:中谷教育视频