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. MacOS通过ssh连接基于Virtualbox的Ubuntu虚拟机

    以前总是用Windows软件putty进行ssh连接,今天尝试使用macos. 实验环境:主机:macos 10.15.3 客户机:Ubuntu 18.04 默认情况下,Ubuntu没有安装SSH,需 ...

  2. springboot + shiro+登录 微信登录 次数验证资料

    分享一个朋友的人工智能教程.零基础!通俗易懂!风趣幽默!大家可以看看是否对自己有帮助,点击查看教程. 1.https://blog.csdn.net/xtiawxf/article/details/5 ...

  3. svg教程

    实例 <html> <body> <h1>My first SVG</h1> <svg style="border: 1px solid ...

  4. 基于 burpsuite的web逻辑漏洞插件开发(来自JSRC安全小课堂,柏山师傅)

    基于 burpsuite的web逻辑漏洞插件开发 BurpSuite 提供了插件开发接口,支持Java.Python.Ruby语言的扩展.虽然 BApp Store 上面已经提供了很多插件,其中也不乏 ...

  5. python的常用序列

    list1.list(obj)函数 obj可以为:元组(1,2,3),可迭代对象,字符串等转换换成数组类型2. 列表元素的添加 (1)list+[添加的元素] (2)list.append(添加元素) ...

  6. (BUILDER)建造者与(FACTORY)工厂模式 的比较

    首先,说明下 参考博文 1.   建造者      http://www.cnblogs.com/zhili/p/BuilderPattern.html 2.   抽象工厂    http://www ...

  7. POJ - 2385 Apple Catching (dp)

    题意:有两棵树,标号为1和2,在Tmin内,每分钟都会有一个苹果从其中一棵树上落下,问最多移动M次的情况下(该人可瞬间移动),最多能吃到多少苹果.假设该人一开始在标号为1的树下. 分析: 1.dp[x ...

  8. Sequence Models Week 2 Operations on word vectors

    Operations on word vectors Welcome to your first assignment of this week! Because word embeddings ar ...

  9. 18 12 18 给服务器添加logging 日志功能

    Python中有个logging模块可以完成相关信息的记录,在debug时用它往往事半功倍 1. 日志级别 日志一共分成5个等级,从低到高分别是: DEBUG INFO WARNING ERROR C ...

  10. Navicat for Mysql 11.2 的下载,安装与激活

    1. Navicat for Mysql 11.2 的下载 链接:https://pan.baidu.com/s/1w54F-MYTLuy4TQwpzUE7bQ       密码:zsfu 2.下载的 ...