1、函数文档字符串,用于存放函数的说明,一般写在第一行

2、函数调用:函数名+参数列表(函数的参数分实际参数和形式参数,str就是形式参数,则‘welcome 头 python’就是实际参数)

参数需要一一对应,形式参数有几个,就需要传几个实际参数,否则会报错,如图有一个形式参数x,却传了两个实际参数1,2

  

在调用函数时,缺省参数的值如果没有传入,则被认为是默认值

如果调用函数和定义函数同时有值得情况下,默认值就会被覆盖,输出以调用值的参数为准

 

在传值时从左到右传值

   

如果这样就会报Syntax error,因为x已经有值了

 

需要调换x,y的位置,则就不会报错了

 

函数的多类型传值: (多类型传值并不是说可以传递任意类型的值)

向函数传元组:

根据索引

指定传参

 

也可以在定义的元组名前加*(表示传递元组内的全部参数)

向函数传字典:

指定传参

 

也可以在定义的元组名前加**(表示传递字典内的全部参数)

字典内的key也是要与形式参数一一对应的,否则也会报错

  

*如果像这种不一样的情况下,就必须指定参数:(dict[key]=value)

 

处理冗余参数:

因为形式参数只有一个,但是却传了三个,显然就会报错:

 

什么情况下不报错呢,可以这样写形参,也就是用*args(*可以传递元组,也可以用来接收元组,args可以随便定义)

 

处理映射关系的时候要用到字典,同样**用来接收字典

 

3、函数返回值return

1>可以返回任意数据类型,默认为None

 

 

2>执行完return,函数退出

 

 

3>注意区分return和print

把print换成return

4、函数的全局变量和局部变量:

函数内部的a=2重新赋值并没有起作用,a=2只在函数内部起作用

函数中定义的数只能在函数中起作用,否则会报错

如果函数中定义要想在函数外使用的情况下,可以变量名前面加上global来进行定义

定义的全局边变量只有在调用的时候才能起作用,否则不起作用

5、Python匿名函数

lambda函数是一种快速单行定义函数的方法,使代码更简洁,避免了不必要的函数体定义

格式:lambda x,y:x*y(计算x*y)

reduce函数:逐次操作list的每项,接受的参数是两个,最后返回一个结果

 

用lambda和reduce函数一行就可以实现1+2+3+........+100之和:

学习python函数笔记之一的更多相关文章

  1. 学习Python函数笔记之二

    ---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...

  2. 学习Python函数笔记之二(内置函数)

    ---恢复内容开始--- 1.内置函数:取绝对值函数abs() 2.内置函数:取最大值max(),取最小值min() 3.内置函数:len()是获取序列的长度 4.内置函数:divmod(x,y),返 ...

  3. python初步学习-python函数(一)

    python 函数 函数是组织好的,可重复使用的,用来实现单一或者相关联功能的代码段. 函数能提高应用的模块性和代码的重复利用率. 函数定义 python中函数定义有一些简单的规则: 函数代码块以de ...

  4. 学习python3函数笔记

    Python内置了很多有用的函数,我们可以直接调用. 要调用一个函数,需要知道函数的名称和参数,比如求绝对值的函数abs,只有一个参数.可以直接从Python的官方网站查看文档: http://doc ...

  5. 廖雪峰网站:学习python函数—函数参数(三)

    1.*args # 位置参数,计算x2的函数 def power(x): return x * x p = power(5) print(p) # 把power(x)修改为power(x, n),用来 ...

  6. 廖雪峰网站:学习python函数—调用函数(一)

    # 调用函数 # 可以直接从Python的官方网站查看文档: # http://docs.python.org/3/library/functions.html#abs n = abs(100) # ...

  7. python初步学习-python函数 (二)

    几个特殊的函数(待补充) python是支持多种范型的语言,可以进行所谓函数式编程,其突出体现在有这么几个函数: filter.map.reduce.lambda.yield lambda >& ...

  8. 廖雪峰网站:学习python函数—递归函数(四)

    # 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数 # 计算阶乘n! = 1 x 2 x 3 x ... x n,用函数fact(n)表示,可以看出: # fact ...

  9. 廖雪峰网站:学习python函数—定义函数(二)

    def my_abs(x): if x >= 0: return x else: return -x print(my_abs(-99)) # 空函数 def nop(): pass # 参数检 ...

随机推荐

  1. 阿里的weex框架到底是什么

    title: 阿里的weex框架到底是什么 date: 2016-09-27 10:22:34 tags: vue, weex category: 技术总结 --- weex 工作原理 首先看下官方的 ...

  2. ASP.NET MVC5+EF6+EasyUI 后台管理系统(47)-工作流设计-补充

    系列目录 补充一下,有人要表单的代码,这个用代码生成器生成表Flow_Form表的Index代码就可以 加上几个按钮就可以了 <div class="mvctool"> ...

  3. 单机静默安装GI软件并创建ASM实例和ASM磁盘组

    环境:RHEL 6.4 + Oracle 11.2.0.4 需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备 1. 安装配置GI软件 2. 创建ASM实例 ...

  4. 【分布式】Zookeeper的服务器角色

    一.前言 前一篇已经详细的讲解了Zookeeper的Leader选举过程,下面接着学习Zookeeper中服务器的各个角色及其细节. 二.服务器角色 2.1 Leader Leader服务器是Zook ...

  5. Java I/O and NIO [reproduced]

    Java I/O and NIO.2---Five ways to maximize Java NIO and NIO.2---Build more responsive Java applicati ...

  6. Unity3d连接SQL Server数据库出现SocketException: 使用了与请求的协议不兼容的地址错误

    这两天,同学问我Unity3d连接SQL Server的问题,当时我只是简单的说:“应该一样吧,就是那简单的几句啊”.之后他让我试了下,我才发现有问题了.故此写下一篇博客,要牢记这件事的教训,操作数据 ...

  7. JAVA NIO学习笔记1 - 架构简介

    最近项目中遇到不少NIO相关知识,之前对这块接触得较少,算是我的一个盲区,打算花点时间学习,简单做一点个人学习总结. 简介 NIO(New IO)是JDK1.4以后推出的全新IO API,相比传统IO ...

  8. deb包的安装及dpkg命令小结

    DPKG commands There are two actions, they are dpkg-query and dpkg-deb. Install a package # sudo dpkg ...

  9. afxcomctl32.h与afxcomctl32.inl报错

    afxcomctl32.h与afxcomctl32.inl报错 编译公司一个几年前的老项目,是从VC6.0升级到VS2005的. 1.编译时报缺少头文件,于是附件包含目录,于是出现了以下报错: 1&g ...

  10. Redis初识

    安装与使用 Redis-x64-3.2.100:服务端 + 客户端 redis-3.2.5:源代码 Redis Desktop Manager - v0.8.8:客户端(基于Qt5的跨平台Redis桌 ...