那些年,很多人没看懂的Python内置函数
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内置函数的更多相关文章
- 8个超好用的Python内置函数,提升效率必备(小白必看)
python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率. 这次来梳理下8个好用的python内置函数. 1.set() 当需要对一个列表进行去重操作的 ...
- day16 Python 内置函数 大体演示想看就看,会用就行
1.abs() 获取绝对值 a = -10 print(a.__abs__()) 结果: 10 2.all() 接收一个迭代器,如果跌电气的所有元素都为真,那么返回True,否则返回False tm ...
- 【Luogu】P2765魔术球问题(没看懂的乱搞)
题目链接 这题……讲道理我没看懂. 不过我看懂题解的代码是在干嘛了qwq 题解是zhaoyifan的题解 然后……我来讲讲这个题解好了. 题解把值为i的球拆成了两个,一个编号是i*2,一个编号是i*2 ...
- 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 ...
- 是的,你没看错!Python可以实现自动化办公
是的,你没看错!Python可以实现自动化办公 公众号[伤心的辣条],如今越来越多的人加入到学习Python的队伍当中,尤其是对于很多职场人来说,不管你是程序员还是非程序员,Python已经为很多职场 ...
- len(x) 击败 x.len(),从内置函数看 Python 的设计思想
内置函数是 Python 的一大特色,用极简的语法实现很多常用的操作. 它们预先定义在内置命名空间中,开箱即用,所见即所得.Python 被公认是一种新手友好型的语言,这种说法能够成立,内置函数在其中 ...
- 面试之加分项vue(没看懂,。。。。)
对大部分人来说,掌握Vue.js基本的几个API后就已经能够正常地开发前端网站.但如果你想更加高效地使用Vue来开发,成为Vue.js大师,那下面我要传授的这五招你一定得认真学习一下了.在面试过程很多 ...
- ccf201403-3 记录一个神tmwa了的代码 莫非我没看懂题。。。
#include <string.h> #include<cstdio> #include<stdio.h> #include <iostream> # ...
- QT插件开发方式(没看懂)
创建一个QT的库项目,删除自动生成的.h和.cpp文件,添加一个接口定义.h文件和一个接口实现类(一个.h一个.cpp).代码如下: 1.接口文件源码 #ifndef PLUGININTERFACE_ ...
随机推荐
- java web后台工作原理
多时候我们都想知道,web容器或web服务器(比如Tomcat或者jboss)是怎样工作的?它们是怎样处理来自全世界的http请求的?它们在幕后做了什么动作?Java Servlet API(例如Se ...
- Dictionary集合运用
Dictionary基础定义: 从一组键(key)到一组值(value)的映射,每一个添加项都是由一个值及其相关联的键组成: 任何键都必须是唯一的: 键不能为空引用的null(VB中的Nothing) ...
- 阶段01Java基础day25网络编程
26.01_网络编程(网络编程概述) A:计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源 ...
- JS之代理模式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Thread类线程结束会唤醒使用其对象做锁而睡眠的线程
首先回顾一下我们的基础知识. sleep: 线程睡眠,不会释放锁 wait: 线程等待.释放锁. notity: 唤醒随机一个当前对象等待的线程,并不会释放锁 notityAll: 唤醒所有当前对象等 ...
- Restful设计思想
1.REST的架构设计 代表性状态传输(Representational State Transfer,REST)在Web领域已经得到了广泛的接受,是基于SOAP和Web服务描述语言(Web Serv ...
- day 14 三元运算符,列表字典推导式,递归,匿名函数,内置函数(排序,映射,过滤,合并)
一.三元运算符 就是if.....else..... 语法糖 前提:if和else只有一条语句 #原始版 cmd=input('cmd') if cmd.isdigit(): print('1') e ...
- java集合(一)
- LXC vs Docker
https://www.sumologic.com/blog/code/lxc-lxd-explaining-linux-containers/ see also: https://linuxcont ...
- JS Math方法