Python基础学习四

1.内置函数

help()函数:用于查看内置函数的用途。

help(abs)

isinstance()函数:用于判断变量类型。

isinstance(x,(int,float)) #判断变量x是否为int或float,返回一个布尔值

2.自定义函数

(1)基本格式


def [函数名](参数):

​ 语句块

​ return 返回值


自定义函数只要运行至return语句即返回结束函数,传入的参数与返回的值都可以为多个,当返回的值为多个时,实质上是返回了一个元组。返回值可以为空。

pass语句:占位作用,使语句能够继续执行。即尚未想好写什么时可以先用pass语句跳过。

通过isinstance()函数可以用来排除参数类型错误。


def [函数名](x):

​ if not isinstance(x,(int,float)):

​ raise TypeError('bad operand type')

​ 语句块


(2)参数

默认参数:在设置参数时,可以赋予其一个默认值,当空填时,默认其值为默认值。默认参数必须放在必选参数的后方。

需要注意的是,变化小的放置于后方作为默认参数可以减少调用函数的麻烦。仅需将特殊的对象传入时,修改对应的参数。定义默认参数要牢记一点:默认参数必须指向不变对象!

可变参数:参数的个数可变,在参数前加上星号“*”。在传入参数时,允许传入一个列表或元组等

关键字参数:参数前加两个星号“**”。调用时需要写上‘关键字’=‘内容’

命名关键字参数:格式如下:


def [参数名](必选参数,*,参数1)


在星号后的参数被视作为命名关键字参数,如果函数定义中已经有了一共可变参数,置放于命名关键字参数前。可以不用再额外用星号来分隔开。

在调用函数时,必须传入命令关键字参数的参数名。


[参数名](必选参数,参数1=‘内容’)


3.递归函数

在函数内部调用自身函数,即为递归函数。

(1)尾递归优化

为了防止栈溢出,采用为递归的方式优化运算。

尾递归:在函数返回的时候,调用自身本身,并且,return语句不能包含表达式。

例题分析:汉诺塔


def han(n,a,b,c):

​ if n=1:

​ print(a,'-->',c)

​ else:

​ han(n-1,a,c,b)

​ print(a,'-->',c)

​ han(n-1,b,a,c)


最新文章

  1. Linux 线程管理
  2. [译]git commit --amend
  3. 一些常用的html/CSS效果---小技巧
  4. ios隐藏键盘
  5. SSL certificate problem unable to get local issuer certificate解决办法
  6. .net 使用PowerShell获取电脑中的UUID
  7. **对比$_POST、$GLOBALS['HTTP_RAW_POST_DATA']和file_get_contents('php://input')
  8. 转: PE rva to raw 虚拟偏移地址和文件物理偏移地址
  9. A New Tetris Game
  10. 对QT的产品,以及QT的一些综合评论 good
  11. 关于使用json 字符串转换为字典问题
  12. contentProvider内容提供者
  13. JS 人民币大写
  14. Intellij 设置生成serialVersionUID的方法
  15. Eslint报错整理与解决方法(持续整理)
  16. svn hotcopy backup
  17. spring boot aop 自定义注解 实现 日志检验 权限过滤
  18. spring boot 请求地址带有.json 兼容处理
  19. oracle 11G direct path read 很美也很伤人
  20. 第8章 传输层(1)_TCP/UDP协议的应用场景

热门文章

  1. P 1028 人口普查
  2. 不要对md5file.read()计算md5值
  3. DAO三层架构及工厂模式
  4. 《新标准C++程序设计》2.1-2.3(C++学习笔记3)
  5. GIT-Linux(CentOS7)系统安装Git
  6. 经验分享:Essay写作遇到困难请你这样做
  7. 身边的人工智能&人工智能发展史
  8. Codeforces 1291A - Even But Not Even
  9. UVA - 1631 Locker(密码锁)(dp---记忆化搜索)
  10. 洛谷 P2719 搞笑世界杯