Python之所以特别的简单就是因为有很多的内置函数是在你的程序"运行之前"就已经帮你运行好了,所以,可以用这个的特性简化很多的步骤.这也是让Python语言变得特别的简单的原因之一.

但是,如果你不会用内置函数的话,就相当的尴尬了!好了,言归正传,下面就来看看这些年,让你魂牵梦绕的Python内置函数(前方高能,请擦亮双眼)

内置函数一共会有68个之多,不要着急的擦汗,下面就来带你刨根问底.看看这些函数一些特殊的用法.

首先就是7个数学运算的函数:

(1)    abs

英文文档

abs(x)

Return the absolute value of a number. The argument may be an integer or a floating point number. If the argument is a complex number, its magnitude is returned

简单的说一点:

1.返回值是一个绝对值,参数却可以是一个整数,浮点数,重点是还可以是复数

补充一点数学知识:很多人不明白复数概念,复数的返回值就是此复数和它共轭复数的乘积的平方根

print(abs(9))
print(abs(-5))
print(abs(10.3333))
print(abs(-2.259))
a=complex(2,3)
>>>(#这样的效果其实就是和(2+3j)一个效果)
print(abs(a))

(2)   divmod

英文文档:

divmod(a, b)

Take two (non complex) numbers as arguments and return a pair of numbers consisting of their quotient and remainder when using integer division. With mixed operand types, the rules for binary arithmetic operators apply. For integers, the result is the same as (a // b, a % b). For floating point numbers the result is (q, a % b), where q is usually math.floor(a / b) but may be 1 less than that. In any case q * b + a % b is very close to a, if a % b is non-zero it has the same sign as b, and 0 <= abs(a % b) < abs(b).

简单再解读重要的点:

1.接收的两个内容必须是数值,但是不能是复数,返回的结果是一个元祖,元祖的第一个值是除下来的商,第二个位置就是余数

>>>divmod(6,3)
(2,0)
>>>divmod(6.0,3.0)
(2.0,0)

另外,还要说一点,其实如果是两个浮点数相除的话,相当于引用了math.floor(5.5/2.0)

(3)   max

英文文档:

max(iterable, *[, key, default])

max(arg1, arg2, *args[, key])

Return the largest item in an iterable or the largest of two or more arguments.

If one positional argument is provided, it should be an iterable. The largest item in the iterable is returned. If two or more positional arguments are provided, the largest of the positional arguments is returned.

There are two optional keyword-only arguments. The key argument specifies a one-argument ordering function like that used for list.sort(). The default argument specifies an object to return if the provided iterable is empty. If the iterable is empty and default is not provided, a ValueError is raised.

If multiple items are maximal, the function returns the first one encountered. This is consistent with other sort-stability preserving tools such as sorted(iterable, key=keyfunc, reverse=True)[0] and heapq.nlargest(1, iterable, key=keyfunc).

1,max能传入很多参数中的最大值的参数,或者是可迭代对象元素中的最大值.默认参数类型参数当中的最大的,字符型参数是按照字母表排序,然后取靠后的.

2.可以传入参数key,key值就是可以赋值一个函数的内存地址,后面的就可以调用这个函数,来比较出最大的值,并且可以返回可迭代元素本身.(元素本身和比较的值可以不是同一个概念)

可以设置一个key_word参数作为最大的值返回,如果不存在的时候,返回默认值.

3,函数至少要传入两个参数,如果传入一个参数,这一个参数必须是可迭代对象,返回值就是可迭代对象中的最大的元素

>>>max(1)   传入1个参数就是会报错
应该是可迭代的参数
>>>max(1,2)
传入两个,或者是更多的参数,就要返回这些参数中的最大的

4如果非要传入的是不同类型的参数的时候,就看所有的参数能不能进行隐形类型转化,如果可以同样返回值最大的那个,如果不能进行隐式数据类型的转化,就会报错.

>>>max(1,2,3,3.1415926)
整数型和浮点型也可以进行比较,取出最大值
>>>max(1,2,3,4,5,"")
这其中有一个字符串,不能进行转化,所以会报错
>>>max([2,3],[2,4])
列表和列表也是可以进行比较的,是按照索引依次比较,确定谁是最大值,取出那个元素
>>>max([2,3](2,4))
列表和元祖同样是没有办法进行比较的,所以,会报错

5.如果存在相同的最大值得时候,就会优先返回最先出来的那个最大值所代表的元素

a=[1,2]
b=[1,1]
c=[1,2]
max(a,b,c)
可以通过比较出id就可以看的出,是用最早出来的a的最大值,而不是用的c的列表

那些年,很多人没看懂的Python内置函数的更多相关文章

  1. 8个超好用的Python内置函数,提升效率必备(小白必看)

    python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...

  2. day16 Python 内置函数 大体演示想看就看,会用就行

    1.abs() 获取绝对值 a = -10 print(a.__abs__()) 结果: 10 2.all()  接收一个迭代器,如果跌电气的所有元素都为真,那么返回True,否则返回False tm ...

  3. 【Luogu】P2765魔术球问题(没看懂的乱搞)

    题目链接 这题……讲道理我没看懂. 不过我看懂题解的代码是在干嘛了qwq 题解是zhaoyifan的题解 然后……我来讲讲这个题解好了. 题解把值为i的球拆成了两个,一个编号是i*2,一个编号是i*2 ...

  4. PAT 甲级 1031 Hello World for U (20 分)(一开始没看懂题意)

    1031 Hello World for U (20 分)   Given any string of N (≥) characters, you are asked to form the char ...

  5. 是的,你没看错!Python可以实现自动化办公

    是的,你没看错!Python可以实现自动化办公 公众号[伤心的辣条],如今越来越多的人加入到学习Python的队伍当中,尤其是对于很多职场人来说,不管你是程序员还是非程序员,Python已经为很多职场 ...

  6. len(x) 击败 x.len(),从内置函数看 Python 的设计思想

    内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...

  7. 面试之加分项vue(没看懂,。。。。)

    对大部分人来说,掌握Vue.js基本的几个API后就已经能够正常地开发前端网站.但如果你想更加高效地使用Vue来开发,成为Vue.js大师,那下面我要传授的这五招你一定得认真学习一下了.在面试过程很多 ...

  8. ccf201403-3 记录一个神tmwa了的代码 莫非我没看懂题。。。

    #include <string.h> #include<cstdio> #include<stdio.h> #include <iostream> # ...

  9. QT插件开发方式(没看懂)

    创建一个QT的库项目,删除自动生成的.h和.cpp文件,添加一个接口定义.h文件和一个接口实现类(一个.h一个.cpp).代码如下: 1.接口文件源码 #ifndef PLUGININTERFACE_ ...

随机推荐

  1. 基于mykernel完成多进程的简单内核

    学号351 原创作品转载请注明出处 + https://github.com/mengning/linuxkernel/ mykernel简介 mykernel是由孟宁老师建立的一个用于开发您自己的操 ...

  2. C语言:递归函数n!

    #include <stdio.h> long recursion(int n); void main(){ int n; long result; printf("input ...

  3. JAVA中接口与抛出异常的相关知识

    1.接口概念:接口可以理解为一种特殊的类,由全局常量和公共的抽象方法所组成. 类是一种具体实现体,而接口定义了某一批类所需要遵守的规范,接口不关心这些类的内部数据,也不关心这些类里方法的实现细节,它只 ...

  4. mongo aggregate 删除重复数据

    $group 按照什么排序, 关照 _id 这个是排序的依据 $match 这个从排序的结果内抽取 count 大于一的 allDiskUse  如果内存配置比较小, 设置这个才能运行, 否则会崩. ...

  5. Hyperledger Fabric channel配置交易

    一个超级账本区块链网络里每个channel的共享配置都是存储在一个配置交易里.每个配置交易通常被简称为configtx. Channel 配置有以下重要属性: 1.有版本标识:配置里的所有元素都有一个 ...

  6. DB9接口定义

    注意公头和母头的引脚序号是不一样的.

  7. 连号区间数(2013年第四届c/c++ b组第10题)

    题目描述 标题:连号区间数 小明这些天一直在思考这样一个奇怪而有趣的问题: 在1~N的某个全排列中有多少个连号区间呢?这里所说的连号区间的定义是: 如果区间[L, R] 里的所有元素(即此排列的第L个 ...

  8. [mock open]PyUnit执行单元测试时使用字符串模拟文件对象

    def mock_open(data): from StringIO import StringIO stmp = StringIO(data) return stmp _open = __built ...

  9. Qt终结者之QML动画

    前言 使用QML差不多2年了,在使用过程中深深的感受到QML的强大与便捷,让我深陷其中,不能自拔.其中QML相比传统的界面最大的优势就是便捷的动画效果与炫酷的粒子效果,让QML做出来的界面能媲美WPF ...

  10. JAVA8集合之List

    目录: 一.ArrayList概述 二.ArrayList的实现 1)成员变量 2)构造方法 3)元素添加 4)元素删除 5)元素修改 6)集合容量调整 7)集合转数组 三.总结 一.ArrayLis ...