python抽象
来源:互联网 发布:数据库范式详解 编辑:程序博客网 时间:2024/06/13 01:10
本节内容
- 函数
- 参数
- 作用域
注意事项:笔者使用的版本是 python3.5
1 函数(function)
先想一个问题:为什么需要函数?
1.1 创建函数
1 fibs = [0, 1] 2 for i in range(8) 3 fibs.append(fibs[-2] + fibs[-1]) 4 5 #使用函数,使得代码灵活 6 def fibs(num): 7 result = [0, 1] 8 for i in range(num-2): 9 result.append(result[-2] + result[-1])10 return result
定义函数需要有 def
但不需要有return,有的话也可以起结束作用
def test(): print ('Hello,follow me') return #函数在这里就结束 print ('Ahhhh?')
如果需要传参数就往括号里加参数
1.2 文档化
如果给函数写文档,让其他人使用该函数能够理解,可以在def的另一行加”’ ”’,例如
def example(): ''' This is an example ''' print ('Hello,example!')>>> example.__doc__'\n This is exmaple\n '>>> help(example)Help on function example in module __main__:example() This is exmaple
2 参数(parameter)
写在def语句中函数后面的变量通常叫作函数的形参
而调用函数的时候提供的值是实参
函数的值通过实参来获得,形参只是个该函数内的变量(参数存在局部作用域中)
可以理解实参的入口是形参
类别
- 位置参数
- 关键字参数
- 默认值
- 收集参数
def hello_l(greeting, name): print ('%s.%s' % (greeting, name))def hello_r(name, greeting): print('%s.%s' %(name, greeting))>>> hello_l('Hello','world')Hello.world>>> hello_r('Hello','world')Hello.world
参数的顺序有时候很难记住,但可以提供函数的名字。这样一来,顺序就毫无印象
>>> hello_l(greeting='Hello',name='world')Hello.world
关键字更厉害的地方是可以提供默认值
>>> hello(name='world',greeting='hello')hello.world!
收集参数
问题:
def one(name): print (name)def two(*name): print(name)>>> one(10)10>>> two(12)(12,) #这里是一个元组def three(name, *name1): print(name) print(name1)>>> three('parament',5,2,0)parament(5, 2, 0)
如果使用 ** 的参数呢?
def four(**name): print(name)>>> four(x=1,y=2,z=3){'z': 3, 'x': 1, 'y': 2}
返回的是字典,而不是元祖
结合着这些,可以做的事情就很多呢!
3 作用域(scope)
0 0
- python 抽象
- python抽象
- Python 抽象
- python抽象
- python 抽象
- python抽象
- Python 抽象类抽象方法
- chapter6:python 抽象
- [Python 06] 抽象
- [Python 07] 更加抽象
- Python 抽象工厂方法
- Python学习之抽象
- 【Python】抽象类例子
- python基础--抽象类
- python基础知识---抽象--函数
- python基础之抽象
- python -抽象那些事
- Python抽象之函数
- 继续聊WPF——如何获取ListView中选中的项
- VS自带程序打包部署发布
- ButterKnife 8.0.1 @BindView 失败,nullpointerexception
- Windows使用Xshell访问虚拟机的Ubuntu
- 数据传输的常用格式JSON
- python抽象
- 继续聊WPF——设置网格控件列标题的样式
- 关于汽车评测集的朴素贝叶斯分类 -AI实验
- TensorFlow安装要点
- 【数据仓库】【细节】三个例子,让你看懂数据仓库多维数据模型的设计
- Linux
- 6、key的通用操作
- nginx优化与防盗链配置
- 剑指offer——二维数组中的查找