Python学习笔记(二)
1.Python基础知识
1.lambda表达式
g=lambda x : 2*x+1
g(2) #5
基本语法是在冒号(:)左边放原函数的参数,可以有多个参数,用逗号(,)隔开即可;冒号右边是返回值。lambda语句实际上返回一个函数对象。
作用:1.用lambda语句代替函数,使代码更精简。2.对于只调用一两次的函数,这样写不用再专门为函数命名。3.简化代码可读性。
2.filter过滤器函数
filter有两个参数,第一个参数可以是None或者是一个函数,第二个参数是可迭代数据,将第二个可迭代数据中的每一个元素作为函数的参数进行计算,把返回值为True的值筛选出来;如果第一个参数是None,则直接将第二个参数中为True的值筛选出来。
第一个参数是None:
temp=filter(None,[1,0,False,True])
list(temp) # [1,True]
第一个参数是lambda函数:
list(filter(lambda x : x%2,range(10))
[1,3,5,7,9]
3.map()映射函数
map()内置两个参数,第一个参数是函数,第二个参数是可迭代序列,将序列的每一个元素作为函数的参数进行运算加工,返回加工后的新序列。
list(map(lambda x:x*2,range(10)))
[0,2,4,6,8,10,12,14,16,18]
4.函数变量的作用域
Python中变量分为局部变量和全局变量,正常定义在函数中的变量是局部变量,在函数外不可调用,正常定义在函数外的是全局变量,作为函数的参数时可以访问。但不可修改,当在函数中冠以global声明后可以修改全局变量。
count=5
def myFun():
global count
count=10
print(count)
myFun()
10
原理上,Python在运行函数的时候,利用栈(Stack)进行存储,当执行完该函数后,函数的所有数据会被自动删除。函数外无法访问函数内局部变量。
5.Python函数中变量命名
1.example
:前后无下划线表示该变量、函数、成员或方法公有,可以以任何形式访问。
2._example
:前置单下划线表示该内容收保护(protect)。如果是变量或函数,from module import *
不可导入,如果是成员或方法,仅允许类内部使用及该类的子类继承。
3.__example
:前置双下划线表示该变量、函数、成员或方法私有,无法以任何形式被外部直接使用。类的私有成员及方法无法被子类继承。为了不被子类方法覆盖,他们的名字是_classname__methodname
。
4.__example__
:Python中特殊方法,用户不定义。
6.open()函数、
open(文件名,访问模式)
访问模式:b:二进制模式,r:只读,rb:二进制只读,w:写入,wb:二进制写入,a:追加(指针到最后),ab:二进制追加。
7.函数return
1.函数不写return默认return None
2.函数return可以返回一个序列多个值,不一定只返回一个值
2.要点整理
题目:
a='a'
print a>'b' or 'c'
c #输出