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

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

函数格式:

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. 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.7.Oracle 11G R2 RAC修改public网络IP

    问题:Linuxrac2节点的public网IP被占用,导致集群节点2无法访问 1.禁止相关CRS资源的启动,停止这些资源(vip,listener,scan,scan_listener,databa ...

  2. redhat6.3 找不到libXP.so.6解决方法

    最近做redhat安装matlab2008a 操作,遇到上面的问题,先记录如下: 网上找到安装包:libXp-1.0.2-1mamba.x86_64.rpm 然后使用命令: sudo rpm -ivh ...

  3. HTML5基础知识汇总_(2)自己定义属性及表单新特性

    自己定义属性data-* 说起这个属性,事实上如今非经常见了;怎么说呢,由于在一些框架都能看到他的身影!!! 比方Jquery mobile,里面非常频繁的使用了这个属性; 这个属性是哪里来的-.当然 ...

  4. [Javascript] Automate the process of flattening deeply nested arrays using ES2019's flat method

    Among the features introduced to the language of JavaScript in ES2019 is Array.prototype.flat. In th ...

  5. Springboot配置文件加载顺序

    使用Springboot开发的时候遇到了配置的问题,外部config里的配置文件本来没有配置https怎么启动还是https呢,原来开发中测试https在classpath路径的配置文件添加https ...

  6. Netty Client和Server端实现

    本文基于Nett4.0.26.Final版本浅析Client与Server端通讯,先看服务器端: public class Server { public static void run(int po ...

  7. C# Meta Programming - Let Your Code Generate Code - Introduction of The Text Template Transformation Toolkit(T4)

    <#@ template language="C#" #> <#@ output extension=".cs" #> <#@ a ...

  8. ffmpeg代码解析

    void avdevice_register_all(void){    static int initialized;    if (initialized)        return;    i ...

  9. MySQL删除表的时候忽略外键约束

    删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心.但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情:另外在测试的时候,也有需要重新创建 ...

  10. Linux下Wi-Fi配置工具2

    上回说到,linux下面的Wi-Fi配置工具,说是江湖多事,风起云涌...嗯,这回是真的要动手配置了.各种麻烦啊,想死的心都有了有木有啊. 尝试用iwconfig 话说上回说用iwconfig配置Wi ...