一、创建函数

>>> import math

>>> x=1

>>> y=math.sqrt

>>> callable(x) #显示False

>>> callable(y) #显示True

1、def,用来创建函数

>>> def hello(name)

>>>  return 'Hello, '+name+'!'

>>> print(hello('world'))

显示:Hello, world

2、为函数增加说明

>>> def square(x):

>>>  'Calculates the square of the number x.'

>>>  return x *x

>>> square.__doc__

显示:'Calculates the square of the number x.'

通过help查看函数

>>> help(square)

二、函数参数

1、抽象函数

>>> def init(data):

>>>  data['first']={}

>>>  data['middle']={}

>>>  data['last']={}

>>> storage={}

>>> init(storage)

>>> storage

显示:{'middle':{},'last':{},'first':{}}

2、收集参数

>>> def print_params(x,y,z=3,*pospar,**keypar)

>>>  print(x,y,z)

>>>  print(pospar)

>>>  print(keypar)

显示:1 2 3    (5,6,7)  {'foo':1,'bar':2}

注:‘*’,单个星号用来联合普通参数,‘**’,两个星号用来处理关键字

3、power计算乘积

>>> power(3,2)

显示:9

4、interval,间隔

>>> interval(10)

显示:[0,1,2,3,4,5,6,7,8,9]

>>> interval(1,5)

显示:[1,2,3,4]

5、当参数名和全局变量名一样时,全局变量会被屏蔽,不能直接访问,如果要想访问,就需要借助globals

>>> def combine(parameter):

>>>  print(parameter+globals()['parameter'])

>>> parameter='berry'

>>> combine('Shrub')

显示:Shrubberry

Python学习笔记之抽象的更多相关文章

  1. python学习笔记3_抽象

    这一步的学习四个知识点,如何将语句组织成函数,参数,作用域(scope),和递归 一.函数 1.抽象和结构 抽象可以节省很多的工作量,实际上它的作用更大,它是使得计算机程序让人读懂的关键(这也是最基本 ...

  2. 【python学习笔记】7.更加抽象

    [python学习笔记]7.更加抽象 类的定义就是执行代码块 在内存保存一个原始实例,可以通过类名来访问 类的实例化,是创建一个原始实例的副本, 并且所有成员变量与原始实例绑定 通过修改实例变量,可以 ...

  3. 【python学习笔记】6.抽象

    [python学习笔记]6.抽象 创建函数: 使用def语句定义函数,不用声明参数类型,和返回值类型 def function_name(param1, param2): 'this is docum ...

  4. python学习笔记4_类和更抽象

    python学习笔记4_类和更抽象 一.对象 class 对象主要有三个特性,继承.封装.多态.python的核心. 1.多态.封装.继承 多态,就算不知道变量所引用的类型,还是可以操作对象,根据类型 ...

  5. 【Python学习笔记之二】浅谈Python的yield用法

    在上篇[Python学习笔记之一]Python关键字及其总结中我提到了yield,本篇文章我将会重点说明yield的用法 在介绍yield前有必要先说明下Python中的迭代器(iterator)和生 ...

  6. Deep learning with Python 学习笔记(10)

    生成式深度学习 机器学习模型能够对图像.音乐和故事的统计潜在空间(latent space)进行学习,然后从这个空间中采样(sample),创造出与模型在训练数据中所见到的艺术作品具有相似特征的新作品 ...

  7. Deep learning with Python 学习笔记(4)

    本节讲卷积神经网络的可视化 三种方法 可视化卷积神经网络的中间输出(中间激活) 有助于理解卷积神经网络连续的层如何对输入进行变换,也有助于初步了解卷积神经网络每个过滤器的含义 可视化卷积神经网络的过滤 ...

  8. Deep learning with Python 学习笔记(3)

    本节介绍基于Keras的使用预训练模型方法 想要将深度学习应用于小型图像数据集,一种常用且非常高效的方法是使用预训练网络.预训练网络(pretrained network)是一个保存好的网络,之前已在 ...

  9. Deep learning with Python 学习笔记(2)

    本节介绍基于Keras的CNN 卷积神经网络接收形状为 (image_height, image_width, image_channels)的输入张量(不包括批量维度),宽度和高度两个维度的尺寸通常 ...

随机推荐

  1. iOS 图片轮播图(自动滚动)

    iOS 图片轮播图(自动滚动) #import "DDViewController.h" #define DDImageCount 5 @interface DDViewContr ...

  2. C#的HTTP协议中POST与GET的区别

    引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态 ...

  3. noi 6047 分蛋糕

    题目链接:http://noi.openjudge.cn/ch0405/6047/ 和Uva1629很类似,不过,可能用记忆化难写一点,状态初始化懒得搞了.就用循环好了. 状态描叙也可以修改,那个题目 ...

  4. [DataBase] MongoDB (7) MongoDB 索引

    MongoDB 索引 1. 建立索引 唯一索引db.passport.ensureIndex( {"loginname": 1}, {"unique": tru ...

  5. (10) 深入了解Java Class文件格式(九)

    转载:http://blog.csdn.net/zhangjg_blog/article/details/22432599 经过前八篇关于class文件的博客, 关于class文件格式的内容也基本上讲 ...

  6. Eclipse中安装配置Tomcat

    Eclipse(4.4.x及以上)中安装配置Tomcat 以下配置说明全部针对免安装版本 基于tomcat的安装目录和运行目录是可以不同的,本文都会进行说明 首先简单介绍一下tomcat的目录结构,一 ...

  7. 写在OpenFire

    首先,确保你已经关掉了openfire打开终端 (在应用程序-->实用工具-->)输入以下命令sudo rm -rf /Library/PreferencePanes/Openfire.p ...

  8. php set_time_limit()用法测试详解

    在php中set_time_limit函数是用来限制页面执行时间的,如我想把一个php页面的执行时间定义为5秒就可以set_time_limit(5)了.   一个php脚本通过crontab每5分钟 ...

  9. [ Arch Linux ] Arch更新源高速源整理之测速并自动排序高速源 加快更新效率

    方法一: 工具:rankmirrors 0x01 备份原来的源,并创建一个测试源 cd /etc/pacman.d cp mirrorlist mirrorlist.bakcp mirrorlist ...

  10. 微信小程序-视图容器组件

    view 视图容器 例如: <view class="section"> <view class="section__title">fl ...