标签(空格分隔): 参数 作用域 (个人总结学习)

懒惰即美德

抽象

函数调用

抽象和结构

创建函数

hasattr(func,__call__):判断函数是否可调用

斐波那契数列

def fibs(num):

result = [0, 1]

for i in range(num -2):

result.append(result[-2] + result[-1])

return result

记录函数

字符串文档

>>>square.__doc__

并非真正函数的函数

无返回值的函数返回None

参数

形参和实参

参数可以改变吗?

函数内参数重新绑定,不会影响函数外部的变量,因为参数存储在局部作用域

传入列表

change(name[:])

change(names)

查询联系人

def lookup(data, label, name):

return data[label].get(name)

def store(data, full_name):

names = full_name.split()

if len(names) == 2: names.insert(1,'')

lables = 'first', 'middle', 'last'

for label, name in zip(labels, names)

people = lookup(data, label, name)

if people:

people.append(full_name)

else:

data[label][name] = [full_name]

###关键字参数和默认值

###收集参数

- *params

```python

def print_param(title,*params):

print(title)

print(params)

**keys

def print_params(title,*params, **keys):

print(title)

print(params)

print(keys)

print_params("hello",2,3,4, foo1='23',foo2='34'):

- 实现多个名字存储

```python

def store(data, *full_names):

for full_name in full_names:

names = full_name.split()

if len(names) == 2: names.insert(1,'')

lables = 'first', 'middle', 'last'

for label, name in zip(labels, names)

people = lookup(data, label, name)

if people:

people.append(full_name)

else:

data[label][name] = [full_name]

反转过程

params = {'name': 'Sir Robin', 'greeting': 'wellmet'}

hello(**params)

练习使用参数

def story(**kwds):

return 'Once upon a time, there was a ' \

'%(job)s called %(name)s.' % kwds

def power(x, y, *others):

if others:

print 'Received redundant parameters:', others

return pow(x, y)

def interval(start, stop=None, step=1):

'Imitates range() for step > 0'

if stop is None: # If the stop is not supplied...

start, stop = 0, start # shuffle the parameters

result = []

i = start # We start counting at the start index

while i < stop: # Until the index reaches the stop index...

result.append(i) # ...append the index to out result...

i += step # ...increment the index with the step (> 0)

return result

作用域

命名空间:作用域,不可见字典

Shadowing

globals().['parameter']

vars

locals

nonlocal

递归

最小可能性问题

递归实例

阶乘和幂

另外一个经典:二元查找

def search(sequence, number, lower, upper=None):

if upper is None: upper = len(sequence)-1

if lower == upper:

assert number == sequence[upper]

return upper

else:

middle = (lower + upper) // 2

if number > sequence[middle]:

return search(sequence, number, middle+1, upper)

else:

return search(sequence, number, lower, middle)

本章新函数

map(func, seq[, seq,...])

filter(func,seq)

reduce(func, seq[, initial])

sum(seq)

apply(func[, args[, kwargs]])

打开App,阅读手记

python基础教程慕课_Python基础教程(6)--抽象相关推荐

  1. python until怎么用_python基础之从认识python到python的使用

    python的历史: python的创始人是吉多·范罗苏姆(Guido van Rossum),人称"龟叔",1989年圣诞节期间,Guido开始写Python语言的编译器.他希望 ...

  2. python入门教程 傻瓜_python傻瓜教程

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 实现完美白化教程(傻瓜式)如何查看特征值一.安装meteoinfo(可在气象家园 ...

  3. python循环语句画图_Python基础之循环语句用法示例【for、while循环】

    本文实例讲述了Python基础之循环语句用法.分享给大家供大家参考,具体如下: while 循环 Python中while语句的一般形式: while 判断条件: statements 同样需要注意冒 ...

  4. python新手入门课_Python基础视频12集入门课程

    视频+笔记:├─1简介与实验环境配置9│ Python基础.pptx│ Python简介.pptx│ 实验环境配置2-1.pdf│ 2.1简介与实验环境配置.mp4│ 请简述 Python 语言与 C ...

  5. python程序设计教程杨年华_Python程序设计教程(21世纪高等学校计算机应用技术规划教材)...

    目录 第1章Python概述 1.1Python语言的发展史 1.2Python语言的特点 1.3Python的下载与安装 1.3.1Python的下载 1.3.2Python的安装 1.4开始使用P ...

  6. python3.7教程百度云盘_Python新手教程百度网盘《怎么安装python3.7》

    求最新python人工智能视频教程网盘链接 有的事实证明,Python语言更适合初学者,Python语言并不会让初学者感涩,它突破了传统程序语言困难的语法屏障,初学者在学习Python的同时,还能够锻 ...

  7. python基础开发环境_Python基础教程,第一讲,开发环境搭建

    今天是写Python基础教程的第一课,也是下定决心做技术分享的第一篇文章.先扯几句和技术无关的吧,也便于大家了解这套课程的内容,适不适合自己学习,我做开发6年了,已年过30,一直从事的WEB方面的开发 ...

  8. python什么教程好_Python基础教程哪个好

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 对于零基础想学习编程的朋友来说,Python是个非常不错的选择.Python的基础概念是极简的对象化实现,内存管理都采用统一的计数GC,为了提高开发效率而 ...

  9. python类class定义_python基础教程之类class定义使用方法

    面对对象(oop)中的对象,是一个非常重要的知识点,我们可以把它简单看做是数据以及由存取.操作这些数据的方法所组成的一个集合.我们在学习函数(function)之后,知道了如果重用代码,那为什么还要用 ...

最新文章

  1. 4、jquery表格操作
  2. 科学:螳螂虾大脑拥有记忆和学习中心
  3. wine清除软件残余图标
  4. 网页css样式中英对照,css中文样式(含中英文对照表).doc
  5. 串口、COM口、TTL和RS-232的区别详解
  6. SAP云平台Extension Factory和微软Azure上的Lambda Function
  7. JavaScript 游动层onmouseover
  8. 助你解决新手开车四大问题 为您支招
  9. 好看的css3用户基本信息卡片样式源码
  10. Python中使用PhantomJS抓取Javascript网页数据
  11. (84)Verilog HDL:四舍五入
  12. 黑马程序员_面向对象的三大特征
  13. AI 时代,程序员从小白到小牛的发展攻略丨今晚直播送机械键盘!
  14. 图的应用--最小生成树
  15. HDU - 1728 逃离迷宫 【BFS】
  16. 嵌入式linux调节lcd背光,背光调节的软件设计 - 基于嵌入式Linux的LCD背光调节及驱动实现...
  17. 手把手教你怎么从微软官方下载 Windos10 正版镜像
  18. js练习题:对象字面量的形式创建一个名字为可可的狗对象
  19. openstack搭建教程
  20. 仿腾讯QQ竖直滑动导航菜单

热门文章

  1. 基于 MinIO 对象存储框架的短视频点播平台设计
  2. 鸿蒙OS最快6月正式推送;微信Windows版将支持刷朋友圈;GCC 11.1正式发布|极客头条...
  3. 5G 来袭,数据暴增,新一代云存储平台如何承载?
  4. 云原生火爆技术人朋友圈,你可别云里雾里了!
  5. AI 看脸算命,3 万张自拍揭露:颜值即命?
  6. 零基础物联网开发,踩坑无数,得到这份宝典 | 原力计划
  7. 字节跳动武汉招聘 2000 人,距离大厂 Offer,你还差这篇 Java 干货!| 原力计划...
  8. GitHub 十大顶级 JavaScript 开源项目
  9. 业务复杂就用 if-else?刚来的技术大佬用这招彻底干掉了!
  10. 理想中的那些智能家居!