函数定义和调用

函数就是最基本的一种代码抽象的方式(python有许多内置函数)

调用:要调用一个函数,需要知道函数 的名称和参数

比较函数cmp(x,y)就需要两个参数,如果xy就返回1

数据类型转换函数,不如int()函数可以把其他数据类型转换为整数

int(‘123’)

123

int(12.34)

12

例如:

str(123)

‘123’

str(12.3)

‘12.3’

编写函数:

在python中,定义以恶函数要使用def语句,一次写出函数名,括号,括号中的参数和冒号,然后在缩进块中编写函数体,函数的返回值用return 语句返回

例如:定义一个求绝对值的my_abs函数

def my_abs(x):

if x>=0

return x

else

return -x

注意:如果没有return语句,函数执行完毕也会返回结果,只是结构为none

函数返回多值

但其实这只是一种假象,python函数返回的仍然是单一值,python的函数返回多值其实就是返回一个tuple

递归函数:如果一个函数在内部调用自己本身,这个函数就是递归函数

例如:计算阶乘n!

def fact(n):

if n==1

Return n*fact(n-1)

fact(1)

1

fact(5)

120

知识点:使用递归函数需要注意防止栈溢出。在计算机中,函数调用时通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧。由于栈的大小不是无限的,所以递归调用的次数过多,会导致栈溢出。

定义默认参数

例如python自带的int()函数,其实就有两个参数,既可以传一个参数,又可以传两个参数

int(‘123’)

123

int(‘123’,8)

83

注意:int()函数的第二个参数苏是转换进制,如果不传,默认是十进制(base=10)

知识点:由于函数的参数按从左到右的顺序匹配。所以默认参数只能定义在必须函数的后面

定义可变参数

如果想让一个函数能接受任意个参数,我们可以定义一个可变参数:

def fn(args)

print agrs

可变参数的名字前面有个号,我们可以传入任意个参数给可变参数:

fn()

()

fn(‘a’)

(‘a’)

fn(‘a’,’b’,’c’)

(‘a’,’b’,’c’)

可变参数也不是很神秘,python解释器会把传入的一组参数组装正一个tuple传递给可变参数,因此在函数内部,直接把变量args看成一个tuple就好了

切片操作:

取一个list的部分元素是非常常见的操作

L=[‘Adma’,’Lisa’,’Bart’,’Paul’]

r=[]

n=3

for i in range(n)

... r.append(L[i])

...

r

[‘Adma’,’Lisa’,’Bart’]

切片操作符

L[0:3] 表示,从索引0开始取,知道索引3 为之,大怒包括3,即0,1,2,正好是三个元素

L[:3] 如果第一个索引是0,还可以省略

L[:] 只用一个 : ,表示从头到尾

切片操作还可以制定第三个参数

L[::2] 第三个参数表示每N个取一个,L[::2]表示每两个元素取出来一个,即隔一个取一个

倒序切片:

记住倒数第一个元素的索引是-1,倒序切片包含起始索引,不包含结束索引

python自学笔记_python学习笔记(4)相关推荐

  1. python pow和**_Python学习笔记 | 实例3:天天向上的力量

    本文为中国大学MOOC<Python语言程序设计>课程学习笔记,课程主讲:嵩天老师,练习平台:Python123,参考教材:<Python语言程序设计基础> 天天向上的力量 加 ...

  2. python eval 入门_Python学习笔记整理3之输入输出、python eval函数

    Python学习笔记整理3之输入输出.python eval函数 来源:中文源码网    浏览: 次    日期:2018年9月2日 Python学习笔记整理3之输入输出.python eval函数 ...

  3. python分组求和_Python学习笔记之pandas索引列、过滤、分组、求和功能示例

    本文实例讲述了Python学习笔记之pandas索引列.过滤.分组.求和功能.分享给大家供大家参考,具体如下: 前面我们已经把519961(基金编码)这种基金的历史净值明细表html内容抓取到了本地, ...

  4. python图形设置_python学习笔记——基本图形绘制

    1.python蟒蛇python蟒蛇代码 #PythonDraw.py import turtle turtle.setup(650,350,200,200)# 设置画布的长.宽.起点 turtle. ...

  5. python dict遍历_Python学习笔记:19个pythonic编程习惯,让你的Python入门更优雅

    Python最大的优点之一就是语法简洁,好的代码就像伪代码一样,干净.整洁.一目了然. 要写出 Pythonic(优雅的.地道的.整洁的)代码,需要多看多学大牛们写的代码,github 上有很多非常优 ...

  6. python通信信号处理_python学习笔记——信号模块signal(示例代码)

    基于python学习笔记--多进程间通信--Linux信号基础的学习基础,进一步学习Python标准库中的signal模块. 尽管signal是python中的模块,但是主要针对UNIX平台(比如Li ...

  7. python编程计算器_Python学习笔记:用Python开发一个计算器项目

    最近抽空看了下python的学习文档,发现开发工具以及资料支持对开发者相当的友好,相比之下,以前用TCL&Tk做的项目主要缺点有两个:1,开发难度大,调试手段只有靠print一种,而且语法错误 ...

  8. python tkinter 表格_python学习笔记(Tkinter编程利用Treeview实现表格自动更新)

    博主今天总结这段时间抽空写的一个GUI编程项目 功能是查看本地打印机队列,可选择指定队列重新打印 直接上图 UI设计包括3个区域左上方,右上方和下方列表区域 使用网格grid方法来分配位置 下面是界面 ...

  9. python用法查询笔记_Python学习笔记 - 2 - PyCharm的基本使用

    什么是IDE 开始学习的小白同学,一看到这三个字母应该是懵逼的,那么我们一点一点来说. 既然学习Python语言我们就需要写代码,那么代码写在哪里呢?在记事本里写 在word文档里写 在sublime ...

最新文章

  1. python怎么安装各种模块_Python2.7安装和常用模块安装
  2. box unboxing(装箱 拆箱) C#编程指南
  3. 北京地区的网络人口调查
  4. QML ListView悬浮标题栏
  5. 一种简单的不需要查询UI5文档就能获得所有API的小技巧
  6. XP设置文件夹默认打开方式改为“资源管理器”
  7. java并发编程实战-第三章-对象的共享
  8. 建筑工程项目管理信息化PM
  9. Java解析xml的主要解析器: SAX和DOM的选择(附上新方法--Pull解析)
  10. 基于C#的MongoDB数据库开发应用(4)--Redis的安装及使用
  11. LeetCode()Minimum Window Substring 超时,但觉得很清晰。
  12. php微信公众号采集器,WordPress微信公众号采集插件
  13. Centos8.3安装
  14. Kali exiftool图片信息工具
  15. learning rate对深度模型的影响:论文阅读Cyclical Learning Rates for Training Neural Networks
  16. 一句话马密码暴力破解篇(黑吃黑)
  17. 快学Scala 学习笔记-1: (第一章到第三章)
  18. 英文文本关键词抽取——使用NLTK进行关键词抽取
  19. java基础之包_繁星漫天_新浪博客
  20. 场效应管(FET)知识点释义

热门文章

  1. SAP Cloud for Customer的后台作业
  2. Cannot launch SimulationPipeline in local Eclipse
  3. 3d button - where is OS type and version detected
  4. SAP UI5 fullScreenPageRoutes in Component.js
  5. SAP CRM Product workflow debug
  6. SAP Fiori My note应用的add to功能的后台ABAP实现
  7. debug in ERP - four queue generated one by one
  8. 如何向通过TCP socket给服务器端发送的数据里注明自己的客户端地址
  9. 使用report BSP_UPDATE_MIMEREPOS 批量上传mime object
  10. 一个具体的例子学习SAP S/4HANA里Fiori应用的排错分析