函数主要是为了代码复用。

函数分为两种:系统库预定义函数,自定义函数。

函数格式:

def functionName():

  statement

函数调用:

funtionName()

函数的参数:形参和实参

形式参数:在定义函数的时候的参数列表里的参数,简称形参。

实际参数: 在调用函数的时候的参数列表里的参数,简称实参。

实参和形参是一一对应的。

默认参数: 在定义函数的时候,给形参赋初始值。

默认参数要注意参数顺序。默认参数一般都是在后面部分。

函数的变量

全局变量和局部变量

局部变量:在函数体内定义的变量。只能在函数体内使用,不允许函数体外使用。

全局变量:在函数体外定义的变量。既可以在函数体内也可以在函数体外使用。

如果全局变量和局部变量同名的时候:

在函数内部使用的是函数体内的局部变量。

如果在函数体外使用的时候,使用的全局变量。

在函数体内定义一个全局变量:

global y

y=200

函数返回值:

函数必须有返回值。有三种情况 :

1.return a

2.return ;默认返回None

3缺省情况。默认返回一个None.

函数的冗余参数:

多类型传值和传值冗余。

多类型传值:

传递元组: f(*t)

传递字典:f(**t)

key 和函数的形参要保持名称一致。

传值冗余:

向函数传递多余的实参:

def function(x,*args):

    print x

    print args

---传递元组

def function(y="a", **args):

    print y

    print args

---传递字典

def f(x,*args, **kwargs):

    print x

    print args

    print kwargs

---传递元组和字典

lambda函数:

匿名函数:快速定义单行的最小函数。

def f(x,y):

  return x*y

对应的lambda表达式:

g=lambda: x,y: x*y

g(2,3)

lambda的基础:

分号前面的是参数,多个参数之间用逗号分割。冒号右边的返回值。

switch语句:

在python中没有switch关键字。需要借助字典来实现。

内置函数:

绝对值abs,最小值min,最大值max

len(), divmod(),pow(),round()

callable() ,isinstance(),cmp(),rang(),xrang()

type(),int(), long(),list(),complex()...

字符串内置函数:(下面的str代表str对象)

str.capitalize() :首字母大写

str.replace(sourceStr, destStr[,count]):把sourStr替换成destStr

str.split(分隔符,最大切割次数n) : 把str用分隔符分割,最多切成n块。

string 模块import后,可以使用string.replace(s,old,new,n)

filter(function,sequence), zip(),map(),reduce():  这filter,map,reduce函数的第一个参数都是function.

注意区分zip和map,对与不同长度的list的处理结果不同。

zip按照最小处理。map会把空的补上None。

python学习笔记2---函数的更多相关文章

  1. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  2. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  3. Python学习笔记 - day6 - 函数

    函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...

  4. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  5. Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  6. python学习笔记(4)--函数

    1.函数 函数是指将一组语句的集合通过一个名字封装起来.要想执行这个函数,只需调用其函数名即可. 函数的特性: 1.减少重复代码 2.使程序变的课扩展 3.使程序变得易维护 语法定义: def pri ...

  7. Python学习笔记-Day3-python函数

    1.为什么要用函数? 提高代码重复利用率,减少代码冗余.封装模块化代码,便于调用 2.函数声明定义(注意:函数先声明后调用) 注意:函数的reture循环中的exit功能一样(函数不执行,终止) 函数 ...

  8. Python学习笔记11—函数

    建立第一个函数 /usr/bin/env Python #coding:utf-8 def add_function(a,b): c = a+b print c if __name__==" ...

  9. Python学习笔记7-把函数当参数传递、指定可变参数

    把函数当参数传递 # 函数参数传递 # 面向对象编程就是把对象传来传去 # 面向函数编程就是把函数传来传去 def mytest(num): return num * 2 # # 不光可以传递变量,还 ...

  10. Python学习笔记_week3_函数

    一.介绍 1.面向对象(华山派)--->类(独门秘籍)--->class(定义的关键字) 2.面向过程(少林派)--->过程--->def 3.函数式编程(逍遥派)---> ...

随机推荐

  1. 完美解决“find: 路径必须在表达式之前:”

    使用find命令查找文件的时候会有如题的提示,只需略作修改即可.两种方法: ①可cd到其它目录再查找(当前目录下存在要查找的目标文件时会出现此类错误,换到其它目录下再执行相同的命令即可): ②如果目标 ...

  2. Java笔记18:JUnit单元测试

    1 从http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22junit%22%20AND%20a%3A%22junit%22 上下载最新的junit包. ...

  3. Spark Streaming updateStateByKey和mapWithState源码解密

    本篇从二个方面进行源码分析: 一.updateStateByKey解密 二.mapWithState解密 通过对Spark研究角度来研究jvm.分布式.图计算.架构设计.软件工程思想,可以学到很多东西 ...

  4. JS-产生随机数的几个用法!

    <script> function GetRandomNum(Min,Max) { var Range = Max - Min; var Rand = Math.random(); ret ...

  5. iptables不小心把127.0.0.1封了,导致redis连不上

    写了个脚本扫描apache日志,自动把恶意攻击者的ip交给iptables给封掉 谁知道一不小心把127.0.0.1也给封了... 直接导致redis无法链接. redis-server服务正常启动, ...

  6. database工具

    JetBrains DataGrip:一个可以支持多种数据库的IDE

  7. Solidworks的Toolbox拖出来的零件另存也没用,重新打开之后被自动替换怎么办

    工具-选项-系统选项-异型孔向导,取消勾选"将此文件夹设为Toolbox零部件的默认搜索位置"   这样把Toolbox的零部件另存之后,就可以修改,比如添加草图和特征,然后另存之 ...

  8. 使用jsmin压缩javascript脚本

    官方地址:http://www.crockford.com/javascript/jsmin.html 点击页下方的”zip file containing an MS-DOS.exe file“下载 ...

  9. Android 如何在关于手机界面添加个图片

    前言          欢迎大家我分享和推荐好用的代码段~~ 声明          欢迎转载,但请保留文章原始出处:          CSDN:http://www.csdn.net        ...

  10. HTML5学习笔记简明版(5):input的type超级类型

    HTML5为input的type类型添加了多种枚举值,用来表达不同的意思.同事具有验证功能,假设格式不正确,浏览器将原始提供错误提示,堪称超级牛X啊,详细例如以下: Keyword Data type ...