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)


Python基础学习四的更多相关文章

  1. 【Python基础学习四】字符串(string)

    Python 字符串 字符串是 Python 中最常用的数据类型.可以使用引号('或")来创建字符串. 创建字符串很简单,只要为变量分配一个值即可.例如: var1 = 'hello' va ...

  2. Python基础学习四 列表、元组、字典、集合

    列表list,用中括号“[ ]”表示 1.任意对象的有序集合 列表是一组任意类型的值,按照一定顺序组合而成的 2.通过偏移读取 组成列表的值叫做元素(Elements).每一个元素被标识一个索引,第一 ...

  3. Python基础学习四 函数

    1.内置函数 Python内置了很多有用的函数,是可以直接调用的. 参考链接:https://docs.python.org/3/library/functions.html 调用函数的时候,如果传入 ...

  4. Python基础学习四 文件操作(二)

    ####读取文件#### with open('goods_info.txt', 'r', encoding='utf-8') as f: f.seek(0) # 注意指针位置 goods_info ...

  5. 0003.5-20180422-自动化第四章-python基础学习笔记--脚本

    0003.5-20180422-自动化第四章-python基础学习笔记--脚本 1-shopping """ v = [ {"name": " ...

  6. Day1 Python基础学习

    一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编写程序,本质仍然是直接操作 ...

  7. Day1 Python基础学习——概述、基本数据类型、流程控制

    一.Python基础学习 一.编程语言分类 1.简介 机器语言:站在计算机的角度,说计算机能听懂的语言,那就是直接用二进制编程,直接操作硬件 汇编语言:站在计算机的角度,简写的英文标识符取代二进制去编 ...

  8. Python 基础学习 总结篇

    Python 基础学习总结 先附上所有的章节: Python学习(一)安装.环境配置及IDE推荐 Python学习(二)Python 简介 Python学习(三)流程控制 Python学习(四)数据结 ...

  9. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

随机推荐

  1. java 学生信息管理

    题目: 一.测试要求:      1.按照测试内容要求完成程序的设计与编程:      2.将最终结果的源文件(.java)文件上传到以班级为单位,保存源程序.      3.建立学号姓名文件夹,如: ...

  2. AD中内电层设置

    用于走线与普铜 内电层分割

  3. oracle(5)--DQL查询语句

    DQL 数据查询语句(data query language) 1.查询条件符号: < ,  > ,  = ,    <= ,  >= ,    != ,  < > ...

  4. BZOJ:1927: [Sdoi2010]星际竞速

    题解:最小费用流+二分图模型: 左边表示出这个点,右边表示入这个点: #include<iostream> #include<cstdio> #include<cstri ...

  5. 虚拟机vmware vmnet8 未识别(转)

    原文链接:https://blog.csdn.net/windows_q/article/details/50678646

  6. 三十、CI框架之使用cookies实现用户登录和退出。

    一.在控制器中,写入3个函数.一个是login用于登录,一个是logout用于退出,一个show用来展示界面. login代码如下: logout和showuser函数如下: 二.我们的登录界面 三. ...

  7. Aizu 2155 Magic Slayer 背包DP

    这是上上次对抗赛的题目了 其实现在发现整个代码从头到尾,都是用了背包,怪我们背包没深入学好. 比赛的时候,聪哥提出的一种思路是,预处理一下,背包出 ALL攻击 和 single攻击的 血量对应的最小花 ...

  8. Codeforces Round #604 (Div. 2) 部分题解

    链接:http://codeforces.com/contest/1265 A. Beautiful String A string is called beautiful if no two con ...

  9. “帮你”校园资讯平台app使用体验

    该app由我的17级学长学姐编写而成,主要功能失物招领,二手市场,表白墙.该软件目前只是面向本校的各专业学生,为内测版本.该软件的注册流程简单,只需要学号确定身份后即可登陆,并且发布各种信息,或者与丢 ...

  10. preg_match()//explode()// 输出函数//assert()//trim()

    1.preg_match() 这是一个正则表达式匹配的函数,其用法如下: 查找文本字符串"php": <?php //模式分隔符后的"i"标记这是一个大小 ...