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

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

函数格式:

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. 支持解析GitHub Flavored Markdown(GFM)的PHP库-Parsedown

    网上搜索PHP的markdown解析库,只能找得到Michel的PHP Markdown,这个库很不错,但是他只能支持标准markdown和他自己定义的一套扩展php Markdown Extra.这 ...

  2. python scikit-learn选择正确估算器

    下图摘自官方文档 链接 http://scikit-learn.org/stable/tutorial/machine_learning_map/index.html

  3. screen space shadowmap unity

    unity用到了screen space shadow map 1.camera 在light pos 生成depth1 2.screen space depth2 3.根据depth1 depth2 ...

  4. lumisoft邮件头不规范造成内容无法读取

    解决邮件内容为multipart,并且Param_Boundary等于null的不规范邮件内容无法读取问题,这样的邮件内容头部往往带两个或多个ContentType. 红色为自己加的,绿色为注释掉原来 ...

  5. Android数据库之基本概念(上)

    1.Android数据库简单介绍 Android通过结合使用SQLite数据库和Content Provider,提供了结构化数据的持久功能. SQLite数据库能够通过一种结构化的.易于管理的方法来 ...

  6. Uber 四年时间增长近 40 倍,背后架构揭秘

    据报道,Uber 仅在过去4年的时间里,业务就激增了 38 倍.Uber 首席系统架构师 Matt Ranney 在一个非常有趣和详细的访谈<可扩展的 Uber 实时市场平台>中告诉我们 ...

  7. Android常用酷炫控件(开源项目)github地址汇总

    转载一个很牛逼的控件收集帖... 第一部分 个性化控件(View) 主要介绍那些不错个性化的 View,包括 ListView.ActionBar.Menu.ViewPager.Gallery.Gri ...

  8. webDriver API——第10部分Chrome WebDriver

    class selenium.webdriver.chrome.webdriver.WebDriver(executable_path='chromedriver', port=0, chrome_o ...

  9. 【Linux】xshell连接中断后就无法连接虚拟机中的Linux

    具体情景是这样的: 在使用Linux的时候,本来一直好好的,突然就断了,我去百度了一番,网上的说法有千万种 有的说:是由于防火墙的问题 有的说:是由于Linux与其他ip冲突造成 ... 说法千万种, ...

  10. Eclipse Debug 使用

      Eclipse的debug模式:代码调试 * Eclipse或MyEclipse就是java的开发工具 * Eclipse开源的.免费的Java开发工具 * MyEclipse基于Eclipse开 ...