那些年,很多人没看懂的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_ ...
随机推荐
- 【转载】Druid 介绍及配置
原文链接:https://www.cnblogs.com/niejunlei/p/5977895.html 1. Druid是什么? Druid是Java语言中最好的数据库连接池.Druid能够提供强 ...
- java-js知识库之二——canvas绘制炫彩气泡
现在使用canvas绘制气泡,虽说很多人都已经实现过了,可能方法都大同小异,但自己写和看别人写完全是两码事,自己会写的才是自己的,话不多说,直接上代码. 先来一张效果图: 现在上代码,代码有详细的注释 ...
- 增强for、iterator迭代器
因为初学java,对部分语法还模棱两可, 在做练习的时候,用增强for遍历字符串编译报错 所以来复习下增强for原理和适用范围 一.增强for概念 增强for(也成为for each循环)是JDK 1 ...
- MFC动态创建对话框中的按钮控件并创建其响应消息
转自:http://www.cnblogs.com/huhu0013/p/4626686.html 动态按钮(多个)的创建: 1.在类中声明并定义按钮控件的ID #define IDC_D_BTN 1 ...
- ansible-play中关于标签tages,handler,notify的使用
--- - hosts: webser remote_user: root tasks: - name: install httpd package yum: name=httpd tages: in ...
- MyBatis-day1
Tips: 1, SQLSession通过SQLSessionFactory获得, SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得.有两种配 ...
- "HTML编码规范" 笔记
转自学习网站(百度原创):https://github.com/ecomfe/spec/blob/master/html-style-guide.md 本文是百度培训网站上关于HTML编码规范的笔记, ...
- 第十二周翻译-《Pro SQL Server Internals, 2nd edition》
<Pro SQL Server Internals, 2nd edition> 作者:Dmitri Korotkevitch 翻译:赖慧芳 译文: 专业SQL服务器内部 了解在引擎盖下发生 ...
- Nim函数调用的几种形式
Nim函数调用的几种形式 Nim 转载条件:如果你需要转载本文,你需要做到完整转载本文所有的内容,不得删改文内的作者名字与链接.否则拒绝转载. 关于nim的例行介绍: Nim 是一门静态编译型的系统级 ...
- 简单gitblit与Jenkins结合,持续集成
gitblit是当作git服务器,也就是作为私有的代码仓库,用法类似于Github Jenkins 是自动构建工具,帮忙将仓库中的代码更新到服务器上.可以设置为定时自动构建. 详细摸索了我现在公司的用 ...