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. Python量化交易的简单介绍

    Python只是一门技术. 一.量化交易的发展 1.国外量化金融领域发展日趋成熟. 2.近几年量化交易在国内掀起热潮. 3.Python作为量化交易的编译语言. 二.什么是量化交易 1.利用计算机强大 ...

  2. cmake的find_package()简单总结

    遇到的问题 find_package(lzb)出现错误如下: CMake Warning at CMakeLists.txt:37 (find_package): By not providing & ...

  3. C语言-逃逸字符、类型转换和布尔类型

    C语言-逃逸字符 逃逸字符是用来表达无法印出来的控制字符或者特殊字符,它由一个反斜杠""开头,后面跟上另一个字符,这两个字符合起来,组成一个字符. \b是backspace,在su ...

  4. 苹果maccms网站漏洞进行修复解决方法教程

    上期发现视频名称中包含木马文件 然后教大家使用标签进行过滤 {$vo.vod_name|mac_filter_html} 可是最近发现现在黑客行为是全字段挂马,修改数据字段格式挂马,多重嵌套挂马. 真 ...

  5. Swift保存RSA密钥到Keychain

    https://www.jianshu.com/p/c1e9bffc76f4 最近项目的需求用到RSA的加密解密,并且需要把公钥信息保存到Keychain里面,网上很多文章都是用Keychain保存账 ...

  6. Essay写作常见问题解析

    Essay是西方大学的主要考核形式之一.其理念是考核学生对资料信息的吸取和观点的输出能力.可是对于刚踏入美国大学的国际留学生来说,写Essay就像是一种水土不服.各种不适和挣扎是不可避免的!今天小编来 ...

  7. LIS是什么?【通讯】

    Ⅲ最后一点,通讯. 从字面意义来看,通讯是一种沟通形式,信息交互的媒介.在LIS中,通讯主要指的是仪器通讯,也就是仪器与电脑-LIS系统的信息交互方式,也可以称为仪器接口. 在LIS中,通讯是最基础也 ...

  8. 每天一点点之laravel框架开发 - passport授权报invalid_credentials

    {"error":"invalid_credentials","message":"The user credentials we ...

  9. 最短路问题-- Dijkstra Choose the best route

    Choose the best route Problem Description One day , Kiki wants to visit one of her friends. As she i ...

  10. 康冕峰IT技术总结博客CSDN索引

    计算1-x内的质数, 结果保存在mysql中. Java 程序员面试笔试宝典 4.1基础知识https://blog.csdn.net/qq_40993412/article/details/1040 ...