python_9(获取字典值、函数参数、函数返回值、lambda的函数用法)
来源:互联网 发布:计算机算法 编辑:程序博客网 时间:2024/06/02 01:27
如果我们需要获取字典值的话,我们有两种方法,一个是通过dict[‘key’],另外一个就是dict.get()方法
#获取字典值info = {'1':'first','2':'second','3':'third'}number = raw_input('input type you number:')print info.get(number,'error')#实例1#!/usr/bin/python# -*- coding: UTF-8 -*-# 函数的定义from __future__ import divisiondef arithmetic(x, y, operator): result = { "+" : x + y, "-" : x - y, "*" : x * y, "/" : x / y } return result.get(operator) # 返回计算结果# 函数的调用print arithmetic(1, 2, "+")
———————–函数的参数—————————
#!/usr/bin/python# -*- coding: UTF-8 -*-from __future__ import divisiondef append(args=[]): if len(args) <= 0: args = [] args.append(0) print argsappend()append([1])append()# 函数的缺省参数def arithmetic(x=1, y=1, operator="+"): result = { "+" : x + y, "-" : x - y, "*" : x * y, "/" : x / y } return result.get(operator) # 返回计算结果print arithmetic(1, 2)print arithmetic(1, 2, "-")print arithmetic(y=3, operator="-")print arithmetic(x=4, operator="-")print arithmetic(y=3, x=4, operator="-")# 列表作为参数传递def arithmetic(args=[], operator="+"): x = args[0] y = args[1] result = { "+" : x + y, "-" : x - y, "*" : x * y, "/" : x / y } return result.get(operator) # 返回计算结果print arithmetic([1, 2])# 传递可变参数def func(*args): print argsfunc(1, 2, 3) # 传递可变参数def search(*t, **d): keys = d.keys() values = d.values() print keys print values for arg in t: for key in keys: if arg == key: print "find:",d[key]search("one", "three", one="1",two="2",three="3")#输出结果>>> [0][1, 0][0]3-1-2313(1, 2, 3)['three', 'two', 'one']['3', '2', '1']find: 1find: 3>>>
————————函数返回值——————————
#!/usr/bin/python# -*- coding: UTF-8 -*-# return语句from __future__ import divisiondef arithmetic(x, y, operator): result = { "+" : x + y, "-" : x - y, "*" : x * y, "/" : x / y } return result.get(operator) # 返回计算结果# 没有return语句的函数返回Nonedef func(): passprint func()# return后不带参数def func(): returnprint func()# return返回多个值def func(x, y, z): l = [x, y, z] l.reverse() numbers = tuple(l) return numbersx, y, z = func(0, 1, 2)print x, y, z# return返回多个值def func(x, y, z): l = [x, y, z] l.reverse() a, b, c = tuple(l) return a, b, cx, y, z = func(0, 1, 2)print x, y, z # 多个return语句def func(x): if x > 0: return "x > 0" elif x == 0: return "x == 0" else: return "x < 0"print func(-2)# 多个return语句的重构def func(x): if x > 0: result = "x > 0" elif x == 0: result = "x == 0" else: result = "x < 0" return result print func(-2)
——————-嵌套函数、内部函数———————————-
#!/usr/bin/python# -*- coding: UTF-8 -*-# 嵌套函数def sum(a, b): return a + bdef sub(a, b): return a - bdef func(): x = 1 y = 2 m = 3 n = 4 return sum(x, y) * sub(m, n)print func()# 调用内部函数def func(): x = 1 y = 2 m = 3 n = 4 def sum(a, b): # 内部函数 return a + b def sub(a, b): # 内部函数 return a - b return sum(x, y) * sub(m, n)print func()# 内部函数直接使用外层函数的变量def func(): x = 1 y = 2 m = 3 n = 4 def sum(): # 内部函数 return x + y def sub(): # 内部函数 return m - n return sum() * sub()print func()
—————-计算阶乘——————-
#!/usr/bin/python# -*- coding: UTF-8 -*-# 计算阶乘def refunc(n): i = 1 if n > 1: # 递归的结束判断 i = n n = n * refunc(n-1) # 递推 print "%d! =" %i, n return n # 回归refunc(5)# 使用reduce计算阶乘print "5! =", reduce(lambda x, y: x * y, range(1, 6))
—————-lambda的函数用法—————————-
#!/usr/bin/python# -*- coding: UTF-8 -*-# lambdadef func(): x = 1 y = 2 m = 3 n = 4 sum = lambda x, y : x + y print sum sub = lambda m, n : m - n print sub return sum(x, y) * sub(m, n)print func() # lambda的函数用法 print (lambda x: -x)(-2)
#!/usr/bin/python# -*- coding: UTF-8 -*-# 定义Generator函数def func(n): for i in range(n): yield i# 在for循环中输出for i in func(3): print i# 使用next()输出r = func(3)print r.next()print r.next()print r.next()#print r.next()# yield与return区别def func(n): for i in range(n): return idef func2(n): for i in range(n): yield iprint func(3)f = func2(3)print fprint f.next() print f.next() #输出>>> 0120120<generator object func2 at 0x0000000002B97CF0>01>>>
0 0
- python_9(获取字典值、函数参数、函数返回值、lambda的函数用法)
- const的三种用法(修饰函数参数、修饰函数返回值、修饰整个函数)
- 探寻main函数的标准写法,以及获取main函数的参数、返回值
- Python - lambda 函数, 返回单个表达式的值
- [C++] C++中const修饰指针,变量, 函数参数和函数返回值的用法总结
- python3学习笔记:函数作为返回值&匿名函数lambda
- Python lambda函数的用法
- main函数的参数与返回值
- shell 函数的参数和返回值
- Bash函数的参数和返回值
- 无返回值的函数交换参数
- 函数参数和返回值的传递
- 有参数无返回值的函数
- main函数的参数和返回值
- 函数参数的传递和值返回
- 函数的参数与返回值
- block,封装,函数参数,函数的返回值
- C++函数的参数传递、返回值及函数声明
- c 语言基础 printf的理解
- LeetCode解题报告--Reverse Nodes in k-Group
- IOS开发之----协议与委托(Protocol and Delegate) 实例解析
- K-Fold Cross Validation
- iOS开发技巧之code snippets(代码片段)
- python_9(获取字典值、函数参数、函数返回值、lambda的函数用法)
- Android基础学习之Socket、Http、Json网络编程
- ubantu15.04下安装配置docker
- swift2.0 UIColor Use RGB
- device eth0 does not seem to be present, delaying initialization
- Spring4.2+SpringMVC+Mybatis3.4的集成
- Redis入门(一)
- 整理iOS9适配中出现的坑(图文)
- MyEclipse中的常用快捷键