那些年,很多人没看懂的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_ ...
随机推荐
- HDU2138(Miller-Rabin素数检测)
最近在看RSA,找到一个一个大素数是好多加密算法的关键一步,而大素数无法直接构造,一般情况下都是生成一个随机数然后判断是不是素数.判断是否是素数的方法有好多,有的能够准确判断,比如可以直接因式分解(R ...
- R语言求根
求根是数值计算的一个基本问题,一般采用的都是迭代算法求解,主要有不动点迭代法.牛顿-拉富生算法.割线法和二分法. 不动点迭代法 所谓的不动点是指x=f(x)的那些点,而所谓的不懂点迭代法是指将原方程化 ...
- JS一些简单的问题
冒泡排序1 <script> //冒泡排序:把一组数据按照从大到小,或者从小到大的进行一定的排序 //从小到大排序 var num=[10,2,58,3,56,4,12]; //比较轮数 ...
- 域名排序 sort uniq awk
[root@web01 ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同:-b :忽略最前面的空格符部分: ...
- JAVA面向对象之重载与重写
重写:子类对父类方法的重新编写 返回值不变,形参不变 不能抛出新的或者范围更广的异常 class Animal{ public void move(){ System.out.println(&quo ...
- struts校验
Struts2 校验框架 Struts2 和Struts1同样也提供了校验框架,但在Struts2 已经不再把校验框架做为一个插件,而是已经内置到了Struts2中,而且配置起来更为简单方便,功能也更 ...
- LNMP(三)
第二十二次课 LNMP(三) 目录 一.Nginx负载均衡 二.ssl原理 三.生成ssl密钥对 四.Nginx配置ssl 五.php-fpm的pool 六.php-fpm慢执行日志 七.open_b ...
- Problem E: 平面上的点和线——Point类、Line类 (V)
Description 在数学上,平面直角坐标系上的点用X轴和Y轴上的两个坐标值唯一确定,两点确定一条线段.现在我们封装一个“Point类”和“Line类”来实现平面上的点的操作. 根据“append ...
- ubuntu16.04运行ros的时候编译工作空间catkin_make出现的一个问题Could not find a package configuration file provided by
最近在进行ros里面的gazebo仿真之前需要对自己创建的工作空间进行编译,但是进行编译的时候输入catkin_make出现如下错误提示 查阅ROS问答社区之后发现两个比较有用的链接,如下 https ...
- 微信小程序页面列表与详情页跳转的正确姿势
初学小程序,碰到列表与详情页跳转遇到的问题,记录一下. 一.问题 1个列表页: 1个详情页: 列表页代码: onLoad:异步查询数据并setData 详情页代码: 保存成功后,调用navigateB ...