20170222 Python自学笔记(二)

来源:互联网 发布:mysql choose when 编辑:程序博客网 时间:2024/05/16 09:20
1. 字典
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. 缺省参数的设置必须从右向左赋值


c. 全局变量和局部变量
   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代替


9. Python显示中文,在开头添加

#coding:utf8#coding:gbk #windows环境下,应使用后者


主要学习资料:中谷教育视频

0 0
原创粉丝点击