Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49138
  • 博文数量: 20
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 220
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-06 10:28
个人简介

原创文章,转载请注明出处,谢谢。

我的朋友

分类: LINUX

2014-04-21 10:15:59

#!/usr/bin/env python 
#个人学习笔记,无其他用途
def add(x=9,y=10): 
    if x>y: 
        a=x+y 
        print "x+y" 
        return a 
    if x         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)  #取最大数

>>> min(1,2,3,4,5,6)  #取最小数

>>> abs(-100)         #取绝对值
100 
>>> l=['a','b'] 
>>> len(l)            #取长度

>>> 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)
阅读(714) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~