- #!/usr/bin/env python
- #个人学习笔记,无其他用途
- def add(x=9,y=10):
- if x>y:
- a=x+y
- print "x+y"
- return a
- if x<y:
- a=y-x
- print "y-x"
- return a
- if x==y:
- a=x*y
- print "x*y"
- return a
- print add(2,3)
- print add(5,4)
- print add(6,6)
将一个数组的值传递给函数
- #!/usr/bin/env python
- t=('name','tom')
- def f(x,y):
- print "%s: %s" % (x,y)
- f(1,2)
- f(*t)
将字典的值传递给函数
- #!/usr/bin/env python
- d={'age':30,'name':'tom'}
- def f(name='lisa',age=23):
- print "name---%s" % name
- print "age----%s" % age
- f(**d)
- #如果是一个*,则传递的是字典中的key,两个**,是传递的是字典中的value
处理多余的参数传递
- #!/usr/bin/env python
- def f(x,*args):
- print x
- print args
- f(1,2,3,4)
- #结果显示为
- 1 (2, 3, 4) #2,3,4作为一个整体传递给args了
- def m(x,*args,**kwords):
- print x
- print args
- print kwords
- m(1,2,3,4,5,args=2)
- #运行结果
- 1 (2, 3, 4, 5) {'args': 2}
只用lambda构造函数
- #!/usr/bin/env python
- def f(x,y):
- return x*y
- print f(2,3)
- #下面使用lambda来写此函数
- g=lambda x,y:x*y
- print g(2,3)
阶乘运算,用reduce函数
- #!/usr/bin/env python
- l=range(1,6)
- def f(x,y):
- return x*y
- print reduce(f,l)
- 下面使用lambda来写此功能
- f=lambda x,y:x*y print reduce(f,l)
- 亦可精简为
- print reduce(lambda x,y:x*y,l)
- 上面的列子亦可一句话解决
- print reduce(lambda x,y:x*y,range(1,6))
计算器模型
- #!/usr/bin/env python
- #coding:utf-8
- from __future__ import division
- def jia(x,y):
- return x+y
- def jian(x,y):
- return x-y
- def cheng(x,y):
- return x*y
- def chu(x,y):
- return x/y
- def operator(x,o,y):
- if o =="+":
- print jia(x,y)
- elif o =="-":
- print jian(x,y)
- elif o =="*":
- print cheng(x,y)
- elif o =="-":
- print chu(x,y)
- else:
- pass
- operator(2,'+',4)
上面的列子等效于下面的
- #!/usr/bin/env python
- from __future__ import division
- x=1
- y=2
- operator="/"
- result={
- "+":x+y,
- "-":x-y,
- "*":x*y,
- "/":x/y
- }
- print result.get(operator)
取值的内置函数
- >>> max(1,2,3,4,5,6) #取最大数
- 6
- >>> min(1,2,3,4,5,6) #取最小数
- 1
- >>> abs(-100) #取绝对值
- 100
- >>> l=['a','b']
- >>> len(l) #取长度
- 2
- >>> divmod(5,2) #取商和余数 (2, 1)
- >>> pow(2,3) #乘方 8
- >>> pow(2,3,4) #乘方可以整除 0
- >>> pow(2,3,3) #乘方不可以被整除,余数是2 2
- >>> callable(l) #函数不可以被调用
- False
- >>> callable(f) #函数可以被调用 True
- >>> isinstance(f,list)#判断类型
- False
- >>> range(1,6)
- [1, 2, 3, 4, 5]
- >>> xrange(6)
- xrange(6)